簡體   English   中英

Magento:如何在.phtml文件中調用動態窗口小部件塊ID

[英]Magento: How to call dynamic widget block ID in a .phtml file

好的,這就是我想要做的,我已經閱讀了大量的鏈接和帖子,但似乎我的目標是有點不同。

我的主頁上有一些靜態塊,1個廣告旋轉器,1個滑塊,顯示在特色產品類別中定義的產品,最后是另一個類別,當前指向靜態類別,但它與特色相同。

我的任務是隨機化最后一個類別,我能夠通過編寫一個自定義.phtml文件來實現這一點,並讓它循環使用mt_rand一些已經創建的靜態塊。

然而,這更進了一步,我要做的是有一個靜態塊,並且類別ID是隨機的,這是一個例子:

{{block type="catalog/product_list" category_id="392" template="catalog/product/home-list.phtml"}}

現在使用這個概念,我試圖做的是嘗試創建另一個.phtml文件,並讓靜態塊調用我的自定義.html這是這樣的東西:

<?php
$input = array(10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150);
$rand_keys = array_rand($input, 2);
echo "{{block type=\"catalog/product_list\" category_id=\"{$input[$rand_keys[0]]}\" template=\"catalog/product/home-list.phtml\"}}";
?>

現在,這個示例實際完成了工作,我可以加載一個我想要的類別明智的數組,並讓它循環通過隨機或大部分。

我的真正問題在於,將此信息打印到屏幕上並沒有產生我一直希望的效果,它正在做的只是打印文本,而每次刷新屏幕確實給我一個新的隨機元素數組ID明智,它只是文本到屏幕。

如果任何人可以幫助我解決這個問題,並且能夠將文本翻譯成工作小部件標簽,這將是非常棒的,因為我花了很長時間研究並且每次都找到死角。

提前致謝,

干杯!

您需要在視圖中使用稍微不同的語法。 一些偽示例

echo $this->getLayout()->createBlock('catalog/product_list')->setTemplate('catalog/product/home-list.phtml')->setCategoryId('392')->toHtml();

或者如果塊已經存在於布局中,您可以通過名稱獲取它:

echo $this->getLayout()->getBlock('blockname')->setTemplate('catalog/product/home-list.phtml')->setCategoryId('392')->toHtml();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM