给定情况的最佳实践是什么?

我正在创建一个扩展名,并通过在基本/默认值中创建我的布局和模板来遵循Magento的最佳实践,但将它们放在模块文件夹中。不过,扩展程序的要求之一是将一些内容添加到标题模板中,以了解默认的欢迎消息在哪里。我不想更改核心标题模板,也无法创建自己的主题,因为它是扩展。我不确定仅在“标头”中添加一个块会起作用。你能做什么?

有帮助吗?

解决方案

在默认的header.phtml中有此行:

<p class="welcome-msg"><?php echo $this->getWelcome() ?> <?php echo $this->getAdditionalHtml() ?></p>

从我的角度来看,您有3个选项。

选项1.如果您要添加一个简单的文本,该文本不取决于页面或用户,并且要在欢迎消息后添加它,则可以在布局文件中添加此代码:

<reference name="header">
    <action method="setAdditionalHtml"><additional>YOUR TEXT HERE</additional></action>
</reference>

选项2.如果要添加用户/页面依赖性内容,或者要在欢迎消息之前添加内容,则可以覆盖此方法mage_page_block_html_header :: getWelcome()并使它看起来像这样:

public function getWelcome(){
   $text = 'YOUR TEXT HERE';
   return $text.parent::getWelcome();
}

选项3.将您的块内容放入页脚中。这可以轻松完成

<reference name="footer">
    <block type=".." name=".." as=".." template=".." />
</reference>

在您的块中,包括一个将您的内容移至所需标头区域的JavaScript。这不是最漂亮的方法,但应该起作用。这样做的缺点是它可能无法在自定义主题上使用。但是,您可以包括有关如何使其在README文件上工作的说明。

许可以下: CC-BY-SA归因
scroll top