0

我在创建块或调用块时感到困惑。在 phtml 文件中假设在 footer.phtml 文件中如果我想调用一个静态块然后我写

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

和时事通讯(在我的主题文件夹中的模板文件夹中)

<?php echo $this->getLayout()->createBlock('newsletter/subscribe')->setTemplate('newsletter/subscribe.phtml')->toHtml(); ?>

那么我应该在 footer.phtml 中写什么来调用内置块(位于基本文件夹中),如日历、验证码等?请告诉我如何在 phtml 文件和 xml 文件中调用它们。

请告诉我

1. <?php echo $this->getLayout()->createBlock('**?**')->setTemplate('**?**')->toHtml(); ?>
2. xml block code and where to put the code
3. rules to write block type and name.

-谢谢。

4

1 回答 1

1

您提到的两个块之间的唯一区别是类型。cms/block 类型是一种内置方式,可让您创建任意文本块,其中包含对附加内容的可选引用(通过链接或对其他块的调用等小部件的 Magento 原生附加信息)。

您列出的第二个块是表示特定块的块,该块用于输出具有特定模板的特定模型。如果你深入研究 Magento 的结构,你会发现作为 Magento 核心的代码存在于 app/code/core/Mage 文件夹中。在其中,您会找到诸如目录/类别、目录/产品、时事通讯/订阅等项目。此外,根据 MVC,您将需要一种方法通过视图或 Magento 条款的模板向用户呈现该模型. 模型视图将存在于 app/design/frontend/{package}/{theme}/template/ 文件夹中。您应该会在两组文件夹之间找到一些连续性,并将到达一组可用于输出块的视图。在这种产品的情况下,

希望这将使您更好地了解 Magento 的野兽。正如 Alan Storm 所描述的,Magento不是您父亲的 PHP

于 2013-02-10T06:38:04.330 回答