2012-11-02 12 views
7

Chcę przekazać wartość z bloku, ale nie jestem w stanie uzyskać pożądanych wyników.
Coś poszło nie tak, nie wiem dlaczego.
Próbuję kod "block type="multibanners/multibanners" name="multibanners" category_id="5" alias="multibanners" w pliku xml.
Aby uzyskać wyniki, użyłem echo $this->getCategoryId() i getData('category_id').
Przeszukuję, ale cały czas ten sam kod.
Czy ktoś może mi pomóc, co jest nie tak z kodem.Jak przekazać zmienną z bloku do phtml w magento

Dzięki.

Odpowiedz

9

Można ustawić zmienne tak:

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

i retreive to tak:

$this->getCategoryId(); 
+0

Dzięki odpowiedź pracujących dla mnie niki. Czy możesz mi powiedzieć, jak mogę przekazywać wartość dynamicznie? –

+0

Dynamicznie jak za pomocą php? –

+0

Pozwól mi wyjaśnić, co próbuję zrobić. Uzyskuję dostęp do niektórych danych na temat kategorii bazowych za pomocą mojego kodu niestandardowego. Jeśli widzisz powyższy kod, mogę teraz pobrać wynik id_produktu o id = 5, Jak mogę ustawić tę wartość dynamiczną w xml i przekazać tę wartość z dowolnego miejsca w magento? Ponieważ istnieje jakikolwiek sposób –

1

Albo w kontrolerze, po

$this->loadLayout(); 

ale przed

użyć tego kodu:

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

Niestety Raif twój kod nie działa dla me.AS otrzymuję wynik na $ this-> getCategoryId(); –

+0

Musisz podać więcej kontekstu, dzwonisz do $ this-> getCategoryId() ** od gdzie **? i kiedy ? Moje rozwiązanie pozwoli ci zrobić $ this-> getCategoryId() wewnątrz szablonu phtml, który jest renderowany przez blok (jeśli jest to blok szablonu). –

+0

yes Próbuję uzyskać dostęp do kodu w pliku phtml, które są renderowane przez mój kontroler front. Uzyskuję dostęp do kodu w muultibanner.phtml w folderze szablonu.right? i dodaję twój kod do funkcji indeksu mojego kontrolera frontowego. –

3

Mage_Core_Block_Template::assign() jest wykonana z tego

Przykład zastosowania w Mage_Page_Block_Html_Breadcrumbs::_toHtml() + bezpośredniego wezwania $crumbs var w pliku breadcrumbs.phtml szablonu

Powiązane problemy