php - 如何在 Magento 页脚中编写 php 循环?

标签 php css magento loops magento-1.7

大家好!

我在 footer.phtml 中使用以下命令来获取我所有的 cms/blocks 在 magento 的页脚

 <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('home')->toHtml();?>


<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('contact')->toHtml();?>


<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('blog')->toHtml();?>

我想知道是否可以找到某种循环来获取我的所有 block (主页、联系人、博客等)以避免重复上述代码...

有什么建议吗?

最佳答案

如果您追求的是纯代码重用,那么像这样的方法就可以了

<?php $_blocks = array('home','contact','block'); ?>
<?php foreach($_blocks as $_blockName): ?>
    <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($_blockName)->toHtml();?>
<?php endforeach; ?>

只需将新 block 名称添加到 $_blocks 数组。

你也可以用这样的东西为你的所有 block 做这个

    <?php $_blocks = Mage::getModel('cms/block')->getCollection(); ?>
    <?php foreach($_blocks as $_block): ?>
        <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($_block->getIdentifier())->toHtml();?>
    <?php endforeach; ?>

但正如其他人所提到的,这似乎是一个坏主意 w/r/t 添加到系统的新 block 。

关于php - 如何在 Magento 页脚中编写 php 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19496483/

相关文章:

php - Magento 部分索引过程的可见性

php - 如何在PHP和mysql数据库中上传和插入多张图片

php - 如果 www 之前没有 http,则需要添加 http

java - 如何在后台使用PHP/HTML作为界面,使用Java/Python作为功能?

html - css按左顺序排列div

php - Magento 1.7 按订购数量排序 - 畅销产品问题

php - 如何使用联系表 7 捕获 POST 数据

javascript - CSS - 更改框阴影列表中的特定框阴影

javascript - 将 javascript get 与 css div 合并

magento - Magento 主题和 Magento 皮肤有什么区别?