在 header 中插入代码 - 但仅限于 CMS 页面 (Magento + Fancybox)
Insert code in header - but only on CMS page (Magento + Fancybox)
我需要在一个 CMS 页面的 header 中插入此代码:
<!-- FancyBox Script -->
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
首先,我在 header 中插入了代码(所以它在网站的所有页面上都有),但随后添加到购物车功能不起作用。所以我需要代码只出现在我需要 Fancybox 的特定 CMS 页面上。我该怎么做?
您需要在代码中执行此操作吗?我建议通过 ADMIN 系统执行此操作。只需切换到代码视图并将其粘贴即可。
或者,使用此内容创建模块和 .phtml 模板文件,然后使用布局 XML 更新将其添加到 ADMIN 中的页面。
如果您编辑要在其中包含 Fancybox 的 CMS 页面,请单击 design
选项卡,然后在 Layout XML Update
部分中包含以下内容:
<reference name="head">
<block type="core/text" name="fancyboxcode">
<action method="setText">
<text>
<![CDATA[
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
]]>
</text>
</action>
</block>
</reference>
在 head.phtml 文件中,在此条件下包含您的脚本
<?php
if(Mage::app()->getFrontController()->getRequest()->getRouteName() == 'cms')
{ ?>
// only if it is a CMS page
// Include your script here
<?php } ?>
希望能解决您的问题
在 cms.xml => 主题布局文件夹中添加以下代码。
<block type="page/html_head" name="head" as="head">
<action method="addItem"><type>skin_css</type><name>css/caa-file-name.css</name><params/><if><![CDATA[<!--[if (gte IE 9) | (IEMobile)]><!-->]]></if></action>
</block>
假设您只想将此 header 用于主页,那么您可以使用 local.xml 中的主页处理程序,例如
<cms_index_index>
<reference name="head">
<block type="core/text" name="cdn.jquery">
<action method="setText">
<text>
<![CDATA[
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">jQuery.noConflict();</script>
]]>
</text>
</action>
</block>
</reference>
</cms_index_index>
现在只在首页加载
我需要在一个 CMS 页面的 header 中插入此代码:
<!-- FancyBox Script -->
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
首先,我在 header 中插入了代码(所以它在网站的所有页面上都有),但随后添加到购物车功能不起作用。所以我需要代码只出现在我需要 Fancybox 的特定 CMS 页面上。我该怎么做?
您需要在代码中执行此操作吗?我建议通过 ADMIN 系统执行此操作。只需切换到代码视图并将其粘贴即可。
或者,使用此内容创建模块和 .phtml 模板文件,然后使用布局 XML 更新将其添加到 ADMIN 中的页面。
如果您编辑要在其中包含 Fancybox 的 CMS 页面,请单击 design
选项卡,然后在 Layout XML Update
部分中包含以下内容:
<reference name="head">
<block type="core/text" name="fancyboxcode">
<action method="setText">
<text>
<![CDATA[
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
]]>
</text>
</action>
</block>
</reference>
在 head.phtml 文件中,在此条件下包含您的脚本
<?php
if(Mage::app()->getFrontController()->getRequest()->getRouteName() == 'cms')
{ ?>
// only if it is a CMS page
// Include your script here
<?php } ?>
希望能解决您的问题
在 cms.xml => 主题布局文件夹中添加以下代码。
<block type="page/html_head" name="head" as="head">
<action method="addItem"><type>skin_css</type><name>css/caa-file-name.css</name><params/><if><![CDATA[<!--[if (gte IE 9) | (IEMobile)]><!-->]]></if></action>
</block>
假设您只想将此 header 用于主页,那么您可以使用 local.xml 中的主页处理程序,例如
<cms_index_index>
<reference name="head">
<block type="core/text" name="cdn.jquery">
<action method="setText">
<text>
<![CDATA[
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">jQuery.noConflict();</script>
]]>
</text>
</action>
</block>
</reference>
</cms_index_index>
现在只在首页加载