2012-11-02 36 views
7

Tôi muốn chuyển giá trị từ khối nhưng tôi không thể nhận được kết quả mong muốn.
Có điều gì đó không ổn mà tôi không biết tại sao.
Tôi thử mã số "block type="multibanners/multibanners" name="multibanners" category_id="5" alias="multibanners" trong tệp xml.
Để nhận kết quả tôi đã sử dụng echo $this->getCategoryId()getData('category_id').
Tôi tìm kiếm nhưng tất cả đều có cùng mã.
Bất cứ ai có thể giúp tôi những gì sai với mã.Cách chuyển biến từ khối sang phtml trong magento

Cảm ơn.

Trả lời

9

Bạn có thể đặt các biến của bạn như thế này:

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

và truy xuất nó như thế này:

$this->getCategoryId(); 
+0

Cảm ơn câu trả lời của bạn làm việc cho tôi niki. Bạn có thể cho tôi biết làm thế nào tôi có thể vượt qua giá trị động? –

+0

Động như trong php? –

+0

Hãy để tôi giải thích những gì tôi cố gắng làm.Tôi đang truy cập một số dữ liệu trên cơ sở danh mục bằng cách sử dụng mã tùy chỉnh của tôi. Nếu bạn thấy mã trên, tôi có thể tìm nạp kết quả category_id có id = 5, Làm cách nào tôi có thể đặt giá trị động này trong xml và vượt qua giá trị đó từ bất cứ đâu trong Magento? Vì có bất kỳ cách nào –

1

Hoặc trong điều khiển của bạn, sau

$this->loadLayout(); 

nhưng trước khi

sử dụng mã này:

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

Xin lỗi Raif mã của bạn không hoạt động cho me.AS tôi đang nhận được kết quả trên $ this-> getCategoryId(); –

+0

Bạn cần cung cấp thêm ngữ cảnh, bạn đang gọi $ this-> getCategoryId() ** từ đâu **? và khi ? Giải pháp của tôi sẽ cho phép bạn làm $ this-> getCategoryId() bên trong khuôn mẫu phtml được kết xuất bởi khối (nếu nó là một khối mẫu). –

+0

có Tôi đang cố truy cập mã trong tệp phtml được hiển thị bởi bộ điều khiển trước của tôi. Tôi đang truy cập vào mã trong muultibanner.phtml trong thư mục mẫu.right? và tôi thêm mã của bạn vào chức năng chỉ mục của bộ điều khiển phía trước của tôi. –

3

Mage_Core_Block_Template::assign() được thực hiện cho rằng

Ví dụ về sử dụng trong Mage_Page_Block_Html_Breadcrumbs::_toHtml() + cuộc gọi trực tiếp của $crumbs var trong breadcrumbs.phtml file template

Các vấn đề liên quan