ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – Magento:如何在.phtml文件中调用动态窗口小部件块ID

2019-06-21 07:17:08  阅读:152  来源: 互联网

标签:php magento magento-1-4


好的,这就是我想要做的,我已经阅读了大量的链接和帖子,但似乎我的目标是有点不同.

我的主页上有一些静态块,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();

标签:php,magento,magento-1-4
来源: https://codeday.me/bug/20190621/1252688.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有