LoginSignup
2
2

More than 5 years have passed since last update.

CS-Cart: 全ページでJavaScriptを読み込みたい

Last updated at Posted at 2016-01-07

CS-Cartでページを横断するようなAddonを作っていると、JavaScriptを全ページで読み込みたいことがある。ここでは、AddonのJavaScriptをCS-Cartのbackendの全ページで読み込む方法を紹介する。

まず、全ページで読み込むJSを作成する。ファイル名は好きなようにつけて構わない。JSファイルはjs/addons/{アドオンID}/ディレクトリに作成する。

touch js/addons/{$addon_id}/all-page.js

CS-Cartでは、全ページでJSをロードできるようにテンプレートフックindex:scriptが用意されているのでこれを活用する。

まずテンプレートフックにかむテンプレートindex/scripts.post.tplを追加する。

mkdir -p  design/backend/templates/addons/{$addon_id}/hooks/index
touch design/backend/templates/addons/{$addon_id}/hooks/index/scripts.post.tpl

読み込まれているかを確認したいので、テンプレートの中身はデバッグ用にアラートを出すコードを差し込んでおく。

scripts.post.tpl
<script>alert("OK");</script>

ここまでできたら画面をリロードして、アラートが出れば読み込みOK。最後に、目当てのJSがロードされるように、テンプレートを書き換える。変更を適用するには、「一般設定」→「ストレージ」→「キャッシュのクリア」をしないとならない。これが面倒な場合は、AddonのJavaScriptをリロードで反映するようにする設定をしておく。

scripts.post.tpl
{script src="js/addons/{$addon_id}/all-page.js"}

ちなみに、この{script}タグやAddonのJS同梱等についてはCS-Cart: AddonにJSやCSSファイルを同梱する - Qiitaを参照。

2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2