情報が古い可能性があります。
検証バージョン
CS-Cart Free Edition v3.0.2-jp-1 を使用して検証しています。
INDEX
1. 前回のおさらい
前回の記事では基本設定ページで保存した値を取得して表示するために、テンプレートフックを使ってフッタ部分に値を表示するところまで行いました。
しかしせっかくCS-Cart3には ブロックマネージャ がありますので、好きな箇所にテンプレートを配置して値を表示できるようにしたいものです。
そこでブロックマネージャに独自のテンプレートを表示して選択できるようにしましょう。
2. ブロックテンプレートの作成
var/skins_repository/basic/customer/addons/webcake/blocks/webcake_addon_block.tpl
<!-- 設置パス: /var/skins_repository/basic/customer/addons/webcake/blocks/webcake_addon_block.tpl アドオン有効後に /skins/basic/customer/addons/webcake/blocks/webcake_addon_block.tpl にコピーされる $addons.アドオンの識別子.アイテムの識別子 --> <strong>{$addons.webcake.input}</strong>
var/skins_repository/basic/customer/addons/webcake/blocks の中にテンプレートファイル webcake_addon_block.tpl を作成します。
前回同様、基本設定ページで保存した値を取得して表示するといったものです。
作成するディレクトリ内の basic の部分は使用するスキンによって、webcake の部分はアドオンの識別子によって変わりますのでご注意ください
3. ブロックマネージャに表示させるには
addons/webcake/schemas/block_manager/blocks.post.php
<?php if ( !defined('AREA') ) { die('Access denied'); } $schema['webcake_addon_block'] = array ( 'templates' => array ( 'addons/webcake/blocks/webcake_addon_block.tpl' => array() ), 'wrappers' => 'blocks/wrappers', ); ?>
addons/webcake/schemas/block_manager の中に blocks.post.php というファイルを作成します。
先ほど作成したテンプレートファイルを配列に指定しましょう。
管理画面メニューの デザイン から ブロック を選択します。
ブロックの管理 ボタンを押して ブロックの追加 タブを選択すると、オリジナルのブロックが選択出来るようになっています。
ブロックの名前を入力してテンプレートを選択し、登録 ボタンを押します。
ここのテンプレートの名前は例えば画像の例で言うと webcake_addon_block という言語変数を追加すればローカライズも可能です。
ロゴの下にオリジナルのブロックを配置してみましょう。
ショップフロントページを確認してみます。
基本設定ページで保存した値がロゴの下に表示されていますね!
4. サンプルファイルの配布
今回もサンプルを配布します:)
5. まとめ
いかがでしたでしょうか?
全4回に渡ってCS-Cart3のアドオンの作成方法について学んできました。
ブロックテンプレートの作成にはphpファイルを作成する必要がありましたが、ほとんどプログラムを組まずにここまでやってこれました。
実は、CS-Cartのエディションによってアドオンの使用を限定出来たり、インストール時やアンインストール時の動作オプションを指定出来たり、アドオンの依存関係を指定出来たりと、まだまだ奥の深いアドオン作成ですが今回の連載はこれで終了です。
お付き合いいただきありがとうございました!
おまけ
CS-Cartのサイト(英語ですが)チュートリアルがございますので、よろしければそちらもどうぞ。