更改扩展名的标题。phtml
-
16-10-2019 - |
题
给定情况的最佳实践是什么?
我正在创建一个扩展名,并通过在基本/默认值中创建我的布局和模板来遵循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文件上工作的说明。