在Magento页面上有条件地包含JavaScript
我有一些JavaScript,我只需要在产品页面中包含它们。 如何有条件地包含此类JavaScript,以及应将JavaScript代码放入哪个文件中,以便有条件地包含在html文档的部分中在Magento页面上有条件地包含JavaScript,magento,magento-1.7,Magento,Magento 1.7,我有一些JavaScript,我只需要在产品页面中包含它们。 如何有条件地包含此类JavaScript,以及应将JavaScript代码放入哪个文件中,以便有条件地包含在html文档的部分中 谢谢。有十几种不同的方法可以做到这一点(可能更多)。从您所描述的内容来看,您可能应该通过XML添加它。许多XML布局文件中都有特定页面的特定标记 布局文件位于app/design/frontend/foodesign/default/layout中。在此目录中,如果文件不存在,则创建一个名为local.xm
谢谢。有十几种不同的方法可以做到这一点(可能更多)。从您所描述的内容来看,您可能应该通过XML添加它。许多XML布局文件中都有特定页面的特定标记 布局文件位于app/design/frontend/foodesign/default/layout中。在此目录中,如果文件不存在,则创建一个名为local.xml的文件 现在,您需要为css/js的显示位置找到合适的标签。
以下是一些示例:
<catalog_category_default translate="label"> <!--Non-Anchor Category View-->
<catalog_category_layered translate="label"> <!--Anchor Category View-->
<catalog_product_view translate="label"> <!--Default Product View-->
<!--Product View for Specific Types-->
<PRODUCT_TYPE_simple translate="label" module="catalog">
<PRODUCT_TYPE_configurable translate="label" module="catalog">
<PRODUCT_TYPE_grouped translate="label" module="catalog">
<PRODUCT_TYPE_virtual translate="label" module="catalog">
要使用预定义的方法通过XML添加到头部,这取决于您将js/css文件放在目录中的位置
如果它位于皮肤/frontend/foodesign/js文件夹中:
<reference name="head">
<action method="addItem">
<type>skin_js</type><name>js/yourJsName.js</name><params/><if/>
</action>
</reference>
<reference name="head">
<action method="addJs"><script>yourJsName.js</script></action>
</reference>
让我知道这是否适合您。您可以在服务器端完成,我认为其他开发人员通常都会这样做。具体来说,您希望在客户端进行什么条件加载?这是什么条件(例如浏览器功能)?不,我希望在服务器端有条件加载,因此它包含在产品页面上,但在主页上加载不同的js和css。但我不知道哪个文件包含in-app/design/frontend/foodesign/default/template的内容。Jason,回答得好!您刚才让我想知道,在哪里可以找到“addItem”方法的值列表。除了javascript和css之外,还有哪些其他类型?对应的值是什么?某个地方有完整的列表吗?操作方法引用用于该块的关联类。因此,addItem()方法位于app/code/core/mage/page/html/head.php中。可用的选项有“js”、“js_css”、“skin_js”、“skin_css”和“rss”。addJs()和addCss()方法分别是addItem('js','name')和addItem('skin_css','name')的快捷方法。希望这能帮助您了解布局系统的工作原理。
<reference name="head">
<action method="addCss"><stylesheet>css/yourCssName.css</stylesheet></action>
</reference>
<?xml version="1.0"?>
<layout version="0.1.0">
<catalog_product_view translate="label">
<reference name="head">
<action method="addItem">
<type>skin_js</type><name>js/yourJsName.js</name><params/><if/>
</action>
<action method="addCss"><stylesheet>css/yourCssName.css</stylesheet></action>
</reference>
</catalog_product_view>
</layout>