1

製品ページにのみ含める必要がある JavaScript があります。このような JavaScript を条件付きで含めるにはどうすればよいですか? また、HTML ドキュメントのセクションに条件付きで含めるには、JavaScript コードをどのファイルに配置すればよいですか?

ありがとう。

4

1 に答える 1

3

それを行うには、さまざまな方法があります (おそらくそれ以上)。あなたが説明していることから、おそらく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 経由で HEAD に追加するには、js/css ファイルをディレクトリ内のどこに配置するかによって異なります。


skin/frontend/foodesign/js フォルダにある場合:

<reference name="head">
    <action method="addItem">
        <type>skin_js</type><name>js/yourJsName.js</name><params/><if/>
    </action>
</reference>

root/js フォルダーにある場合:

<reference name="head">
    <action method="addJs"><script>yourJsName.js</script></action>
</reference>

...そして最後に css の場合 (skin/frontend/foodesign/css フォルダーに入れます):

<reference name="head">
    <action method="addCss"><stylesheet>css/yourCssName.css</stylesheet></action>
</reference>


したがって、local.xml は次のようになります。

<?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>

この方法は実際には head セクションでのみ機能すると思います。js を他のブロックに追加することに興味がある場合は、私が回答した別の質問を参照してください。

Magentoのレイアウトxmlファイルを介してボディ部分(ヘッダーではない)にJavascriptファイルを追加する方法

それがうまくいくかどうか教えてください。

于 2013-06-18T23:45:53.900 に答える