「Hello World」チュートリアル

はじめに

それぞれのアドオンはapp/addonsディレクトリ内にアドオン専用のディレクトリがあります。

アドオンの基本的な情報はaddon.xmlファイルに記述されています。そのXML内に記述されているのは、アドオンのID(識別子)、プライオリティ(動作の優先順位)、バージョン、表示名などです。 基本的に、アドオンはこのXMLファイルのみで動作します。

※これだけではアドオン一覧に表示されるだけでこのアドオンは何も機能は持っていません。

このようなアドオンはaddon.xml ファイルでの設定と翻訳を定義すると、言語設定をインストールすることができます。

CS-Cartではアドオンを自由に作成することができるということを覚えておいてください。

Hello, World!

  • CS-Cartをインストールしたルートディレクトリからapp/addonsディレクトリに移動します。

  • hello_worldというディレクトリを作成し、そのディレクトリに移動して下さい。

  • このディレクトリがアドオンの専用のディレクトリとなります。

重要

アドオンのディレクトリ名は、XMLファイルで定義したアドオンIDと同じであることが重要です。そうでないと、アドオンが正常にインストールされません。

前にも述べたように、アドオンの基本構造は_addon.xml_ ファイルで定義されています。このファイルを作成してみましょう。 XMLファイルでは、いくつか基本的なアドオン属性を定義します:

addon.xml

  • id — アドオンの識別子。アドオンのディレクトリ名と同じでなければなりません。 今回の場合はhello_worldとして下さい。

  • version — このアドオンのバージョン。1.0に設定して下さい。

  • priority — 優先順位です。100500のように大きい数値を設定します

  • default_language — デフォルト言語

/app/addons/hello_world/addon.xml

_addon.xml_ファイルは以下のようになるはずです:

<?xml version="1.0"?>
<addon scheme="3.0">
   <id>hello_world</id>
   <version>1.0</version>
   <priority>100500</priority>
   <position>0</position>
   <status>active</status>
   <default_language>en</default_language>
   <auto_install>MULTIVENDOR,ULTIMATE</auto_install>
</addon>

ダウンロード


言語ファイル

次に言語用のファイルを用意します。 以下のディレクトリに次の内容のファイルを設置してください。 .poファイルについては こちら をご確認ください。

/var/langs/en/addons/hello_world.po

msgid ""
msgstr "Project-Id-Version: tygh"
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: English\n"
"Language: en_US\n"

msgctxt "Addons::name::hello_world"
msgid "Hello World"
msgstr "Hello World"

msgctxt "Addons::description::hello_world"
msgid "Say hello to the world."
msgstr "Say hello to the world."
msgid ""
msgstr "Project-Id-Version: tygh"
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"

msgctxt "Addons::name::hello_world"
msgid "Hello World"
msgstr "ハローワールド"

msgctxt "Addons::description::hello_world"
msgid "Say hello to the world."
msgstr "ハローワールド!"

ダウンロード

アドオンをスタートするにはこれで十分です。

管理パネルにログインし【管理】→【アドオン】→【利用可能なすべてのアドオンを表示・タブ】に切り替えます。

<画像>

作成した_Hello World_アドオンがリストにあるはずです。 インストール/アンインストールが可能となり、インストール後はアドオンを有効/無効を切り替えることが出来ます。

HINT

作成したアドオンがリスト(アドオン管理)に表示されていない場合は、CS-Cartのキャッシュをクリアする必要があるかもしれません。キャッシュをクリアする方法は、ブラウザのアドレスフィールドのURLの最後に&cc&ctplを追加してページにアクセスします。

scheme="3.0"というに注目してください。(CS-Cart v.4.2.4以降)

このパラメータが無いアドオンは非推奨のマークアップを使用しているとみなされます。 このパラメーターが無いアドオンはいくつか存在していますが、下位互換が必要な場合のみで利用して下さい。

では、このアドオンに設定をいくつか追加してみましょう。

addon.xml ファイルにsettings セクションを作成します。 各設定は、の_item_セクションで区切られています。

それぞれの_item_は_type_や_default_value_などの要素で指定します。

_addon.xml_の<priority>100500</priority>の後に下記のようなsettingsを書いてみましょう:

<settings edition_type="ROOT,ULT:VENDOR">
    <sections>
        <section id="general">
            <items>
                <item id="some_prop">
                    <type>input</type>
                    <default_value>Hello World!</default_value>
                </item>
                <item id="some_dropdown">
                    <type>selectbox</type>
                    <default_value>blue</default_value>
                    <variants>
                        <item id="red"></item>
                        <item id="green"></item>
                        <item id="blue"></item>
                    </variants>
                </item>
            </items>
        </section>
    </sections>
</settings>

ダウンロード

言語ファイル(.po)にも追記します。

msgctxt "SettingsOptions::hello_world::some_prop"
msgid "Some Prop"
msgstr "Some Prop"

msgctxt "SettingsOptions::hello_world::some_dropdown"
msgid "Some Dropdown"
msgstr "Some Dropdown"

msgctxt "SettingsVariants::hello_world::some_dropdown::red"
msgid "Red"
msgstr "Red"

msgctxt "SettingsVariants::hello_world::some_dropdown::green"
msgid "Green"
msgstr "Green"

msgctxt "SettingsVariants::hello_world::some_dropdown::blue"
msgid "Blue"
msgstr "Blue"

ダウンロード

CS-Cart管理パネルのアドオン管理ページに行き、Hello Worldアドオンを再インストールします。(アンインストール>インストール)

リストからギアのアイコンをクリックして設定を表示します。

それをクリックすると、追加した設定があるアドオンの設定ダイアログが表示されます:

<画像>

複雑なことではないですよね? しかし、このままでは特に何も機能するものでもありません。

次のチュートリアル では、より複雑で有益なアドオンを作成します。

最終更新