2016-04-16 7 views
0

Ich muss mein Projekt ändern und alle PHP-Code in Ansichten zu beseitigen. Das Projekt wurde in CodeIgniter geschrieben.Codeigniter Parser Bedingung Problem

Ich habe erreicht, PHP-Code mit Parser-Klasse zu beseitigen, aber diese Klasse hat keine Bedingungen (wenn, sonst, ..). Bis jetzt habe ich versucht eine Template Engine zu installieren, aber ohne Erfolg. Jedes Tutorial ist Mangel an einem Schritt oder einige Schritte sind nicht klar erklärt.

Kann mir jemand helfen und mir sagen auf welche Weise ich gehen soll oder was zu tun ist. Vielleicht um mich zu erklären, kann ich im Controller schon alle Aussagen machen und nur auflisten, was ich im Blick habe.

+0

Kann ich Controller für jede Zeile ein Feld einchecken und den Wert anpassen? –

+0

Was fragst du? Fragen Sie nicht genau, was ein Controller tun soll? – budwiser

+0

Wie? Wenn ich alle Daten von Tabelle aufliste und sende, um zu sehen, wie in Controller für bestimmte Spalte Werte 0 und 1 mit aktiv und deaktiviert ändern? –

Antwort

0

, wenn Sie alle PHP-Tags aus Ihrer Sicht beseitigen wollen

<?php //logic ?> 

können Sie Smarty allein verwenden oder mit CI oder einem anderen System, wie es. Aber du musst neues sintax als PHP lernen.

Auf der anderen Seite können Sie Ihre ogic in Ihrem Controller (nicht empfohlen)

controller.php

function do_somthing(){ 
    $var_l = '<table>'; 
    $var_l .= '<thead>'; 
    $var_l .= '<th>uno</th>'; 
    $var_l .= '<th>dos</th>'; 
    $var_l .= '<th>tres</th>'; 
    $var_l .= '</thead>'; 
    $var_l .= '<tbody>'; 

    $a = array('a', 'b', 'c'); 

    foreach($a as $item){ 
     $var_l .= '<thc'.$item.'</th>'; 
    } 

    $var_l .= '</tbody>'; 
    $var_l .= '</table>'; 

    $data['table'] = $var_l; 

    $this->load->view('view', $data); 
} 

Ihre view.php

<!DOCTYPE html> 
<html> 
<body> 

info to display table 

<?= $table ?> 

</body> 
</html> 
0

ich regelmäßig verwaltet machen codezeichner einlesen und auf diese Weise:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
</head> 
<body> 
    <?php echo $content ?> 
</body> 
</html> 

Und in der Steuerung wie folgt aus:

$query = $this->users_mod->allProducts(); 
    $data = array(
       'ap_heading' => 'Product definition', 
       'ap_entries' => $query, 
      ); 
    $content = $this->parser->parse('allproducts', $data, TRUE); 
    $this->load->view('template', compact('content')); 

Kann ich das irgendwie vermeiden Controller: kompakt ('Inhalt'), und PHP in Sicht?