Ich habe diesen Controller:
...
public function insertAction() {
$something = 'testcase';
$this->loadLayout();
$this->_title($this->__("the title"));
$this->renderLayout();
}
...
Ich möchte $something
in meinem .phtml-Dokument zugreifen. Wie mache ich das? (oder $something
anders ausgedrückt: Wie kann ich in meiner .phtml-Datei darauf zugreifen ?)
magento-1
controllers
phtml
design
Bob van Luijt
quelle
quelle
$block->assign($var)
wie würde das inphtml
datei abgerufen werden?$this->myvar
in der VorlagendateiMage::register($key, $value, ...)
. AlsoMage::register('custom_var', $var)
?$block->assign('myvar',$var);
, oder nicht?Mage::register('custom_var', $var);
der Wert in die Sitzung und kann auch von einer anderen Vorlagendatei als der aktuellen Aktionsvorlage aus darauf zugegriffen werden ?Ihr HTML-Code muss von einem Block gerendert werden. Der Block muss einen Namen im Layout haben.
Sie können dies nach dem Anruf tun
$this->loadLayout();
Dann kannst du den Wert in der
phtml
Datei gerne abrufenquelle
Für den Fall, dass Sie vermisst werden, gibt es einen weiteren Weg, dies zu erreichen
Sitzungen verwenden
Quelle
quelle
$block->setSomething()
oder zu verwenden$block->assign()
. Dies fühlt sich an wie "zu viel Code" und es sollte so viel PHP wie möglich vermieden werden.Wenn Sie sich in Ihrem Blockcontroller befinden.
Dann in deiner .phtml-Datei
quelle
controllers
Verzeichnis eines Moduls gefunden wurden.Dies ist sehr einfach, um Daten vom Controller in die HTML-Datei zu senden.
Schritt 1: - Zuerst die Model-Klasse erstellen und von Varien_Object aus erweitern
Schritt 2: - Öffnen Sie nun die Kontrolldatei und geben Sie den Code in die Funktion ein.
Schritt 3: - Öffnen Sie die HTML-Datei und geben Sie den Code ein.
Ausgabe: - 'gaurav';
quelle