情報が古い可能性があります。
検証バージョン
INDEX
1. 前回のおさらい
前回の記事で作成したテキストフィールドを作成する addon.xml の例です。
前回ダウンロード出来るように配布した addon.xml には分かりやすいようにと、コメントを記述しています。
addon.xml
<?xml version="1.0"?> <addon scheme="2.0"> <!-- アドオンの識別子。アドオンのフォルダ名と同じにしてください。 /addons/webcake --> <id>webcake</id> <!-- アドオンのバージョン --> <version>1.0</version> <!-- アドオンのデフォルト言語。このオプションが指定されていない場合は英語(EN)として認識されます --> <default_language>EN</default_language> <!-- デフォルト言語でのアドオン名 --> <name>WebCake Addon</name> <!-- デフォルト言語での説明文 --> <description>It is an add-on of original WebCake! </description> <!-- アドオンの優先順位 数値が大きなアドオンほど後で実行されます --> <priority>100</priority> <!-- アドオンをインストールした直後のステータス(有効/無効)デフォルトでは無効となります。(active/disabled) --> <status>active</status> <!-- デフォルト言語以外の言語変数の翻訳に関する設定 --> <translations> <!-- @for - 翻訳が提供されるプロパティー。 値: name/description/tooltip. オプション:デフォルトの値は"name"です。 @lang - 翻訳する言語コード。ショップで使用されていない言語に関しては、インストールされません。 --> <item for="name" lang="JA">WebCakeアドオン</item> <item for="description" lang="JA">WebCakeのオリジナルアドオンです!</item> </translations> <!-- アドオンの設定ブロック(オプション) @layout - 設定ページがどのように開かれるか(ポップアップ表示/別ページ)を定義します。(popup/separate) オプション:デフォルトは"popup"となります。 --> <settings layout="popup"> <!-- アドオン設定ページ上部のタブの一覧 --> <sections> <!-- 表示されるタブに関する設定 @id - テキストの識別子(ID)。このIDは次のコードでアクセス出来ます。Registry::get('addons.[addon_id].[setting_id]') @edition_type - この設定が利用可能なCS-Cartのエディションのリスト --> <section id="section1"> <!-- デフォルト言語でのタブ名 --> <name>Generic settings1</name> <translations> <!-- 翻訳言語でのタブ名 --> <item lang="JA" for="name">共通設定1</item> </translations> <!-- タブの中に表示される設定の一覧 --> <items> <item id="input"> <!-- エレメント(要素)のタイプ: 以下の要素を指定出来ます。 input, textarea, password, checkbox, selectbox, multiple select, multiple checkboxes, countries list, states list, file, info, header, template --> <type>input</type> <!-- デフォルト言語での設定名称 --> <name>InputField</name> <!-- ツールチップによるヒントを表示できます --> <tooltip>Hint</tooltip> <!-- 設定の翻訳 --> <translations> <item lang="JA" for="name">入力フィールド</item> <item lang="JA" for="tooltip">ヒント</item> </translations> </item> </items> </section> </sections> </settings> </addon>
このようにテキストフィールドが基本設定ページに表示されるようになります。
このテキストフィールドに保存した値を、テンプレートで取得して表示するのが今回の内容です。
2. テンプレートフックとテンプレートの作成
テンプレートフック
テンプレートフックの基本については以前の記事に書いていますので、そちらも参考にされてみてください。
テンプレートの作成
/var/skins_repository/basic/customer/addons/webcake/hooks/index/footer.post.tpl
<!-- 設置パス: /var/skins_repository/basic/customer/addons/webcake/hooks/index/footer.post.tpl アドオン有効後に /skins/basic/customer/addons/webcake/hooks/index/footer.post.tpl にコピーされる $addons.アドオンの識別子.アイテムの識別子 --> <strong>{$addons.webcake.input}</strong>
/var/skins_repository/basic/customer/addons/webcake/hooks/index の中に footer.post.tpl というファイルを試しに作成してみます。
値の取得は以下のようにして取得することができます。
{$addons.アドオンの識別子.アイテムの識別子}
もしアイテムの識別子が <item id="input_name"> でしたら {$addons.webcake.input_name} で取得可能です。
テンプレートを配置したら、管理画面からアドオンを一度アンインストールしてからインストールし直します。
すると /skins/basic/customer/addons/webcake/hooks/index/footer.post.tpl にファイルがコピーされます。
3. 表示確認
基本設定ページでテキストフィールドに オプション値テスト と入力してみました。
ではショップフロントページを確認してみましょう。
フッタの部分にフックしているのでフッタに基本設定ページで入力した値が表示されました。
4. サンプルの配布
5. まとめ
いかがでしたでしょうか。
今回はテンプレートでの基本設定ページの入力フィールドの値の表示方法について学びました。
次回はいよいよ最終回です。次回はブロックテンプレートを作成してブロックの管理から好きな場所に入力フィールドの値を表示する方法をご紹介する予定です。