gpt4 book ai didi

php - Magento:如何在 .phtml 文件中调用动态小部件 block ID

转载 作者:可可西里 更新时间:2023-10-31 22:58:15 26 4
gpt4 key购买 nike

好的,这就是我正在尝试做的事情,我已经阅读了大量的链接和帖子,但似乎我打算做的事情有点不同。

我的主页上有几个静态 block ,1 个广告旋转器,1 个显示特色产品类别中定义的产品的 slider ,最后是另一个当前指向静态类别但与特色产品相同的类别.

我的任务是随机化最后一个类别,我能够通过编写自定义 .phtml 文件并使用 mt_rand 循环使用一些已经创建的静态 block 来实现这一点。

然而,这更深入了一步,我想要做的是有一个静态 block ,并且类别 ID 是随机的,这是一个例子:

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

现在使用这个概念,我试图做的是尝试创建另一个 .phtml 文件,并让静态 block 调用我的自定义 .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 的元素,它只是屏幕上的文本。

如果有人可以帮助我解决这个问题并能够将文本翻译成有效的小部件标签,那将是非常棒的,因为我花了很多时间进行研究并且每次都发现了死胡同。

提前致谢

干杯!

最佳答案

您需要稍微不同的语法才能在 View 中使用。一些伪例子

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

或者如果该 block 已经存在于布局中,您可以通过名称获取它:

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

关于php - Magento:如何在 .phtml 文件中调用动态小部件 block ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com