2012-11-02 5 views
7

Ich möchte Wert von Block übergeben, aber ich bin nicht in der Lage, die gewünschten Ergebnisse zu erhalten.
Etwas läuft schief was ich nicht weiß warum.
Ich versuche den Code "block type="multibanners/multibanners" name="multibanners" category_id="5" alias="multibanners" in XML-Datei.
Um Ergebnisse zu erhalten, habe ich echo $this->getCategoryId() und getData('category_id') verwendet.
Ich suche aber immer den gleichen Code.
Kann mir jemand helfen, was mit dem Code falsch ist.Wie übergeben Variable von Block zu PHPml in Magento

Danke.

<block type="multibanners/multibanners" name="multibanners" alias="multibanners"> 
<action method="setData"><name>category_id</name><value>5</value></action> 
</block> 

und retreive es wie folgt aus:

Antwort

9

Sie können Ihre Variablen wie folgt festgelegt

$this->getCategoryId(); 
+0

Dank Ihre Antwort für mich arbeiten niki gemacht. Können Sie mir sagen, wie ich den Wert dynamisch weitergeben kann? –

+0

Dynamisch wie in durch php? –

+0

Lassen Sie mich erklären, was ich versuche zu tun.Ich greife auf einige Daten auf Kategorien Basis mit meinem benutzerdefinierten Code. Wenn Sie den obigen Code sehe ich kann jetzt Ergebnis category_id mit ID = 5 holen, Wie kann ich diesen Wert in Xml und dynamisch Übergeben Sie diesen Wert von überall in Magento? Wie dort auch immer –

1

Oder in Ihrem Controller nach

$this->loadLayout(); 

aber vor

Verwendung dieser Code:

$this->getLayout()->getBlock('multibanners')->setCategoryId(42); 
+0

Sorry Raif Ihren Code nicht funktioniert für me.AS bekomme ich Ergebnis auf $ this-> getCategoryId(); –

+0

Sie müssen mehr Kontext bereitstellen, Sie rufen $ this-> getCategoryId() ** von wo **? und wann ? Meine Lösung lässt Sie $ this-> getCategoryId() in der Vorlage phtml machen, die vom Block gerendert wird (wenn es ein Vorlagenblock ist). –

+0

ja Ich versuche auf den Code in PHP-Datei zugreifen, die von meinem Front-Controller gerendert werden. Ich greife auf den Code in muultibanner.phtml im Vorlagenordner zu.right? und ich füge deinen Code der Indexfunktion meines Frontcontrollers hinzu. –

3

Mage_Core_Block_Template::assign() für dieses

Beispiel für den Einsatz in Mage_Page_Block_Html_Breadcrumbs::_toHtml() + direktem Aufruf von $crumbs var in der breadcrumbs.phtml Vorlagendatei

Verwandte Themen