【CS CART】アドオンを自作してカスタマイズする-基本-
CS CARTではフックを使って、
デフォルトの機能を拡張したり、
独自のコードを機能させたりする事ができます。
今回はCS CARTのカスタマイズには欠かせない(と思った)
PHPフックを使うアドオンを作成をできるだけ簡単にお伝えしたいと思います。
アドオンのディレクトリを用意する
アドオンはこの中に入っています。
app/addons/
まずはapp/addons/に移動して、
今回自作するアドオンの名前のディレクトリを作ります。
app/addons/my_addon/
アドオンの初期設定をする
先ほど作ったディレクトリの中にaddon.xmlを作成します。
app/addons/my_addon/addon.xml
このXMLファイルで定義した内容がアドオンの基本構造になります。
さっそく中身を書いてみましょう。
addon.xml
<?xml version="1.0"?>
<addon scheme="3.0">
<id>my_addon</id>
<version>1.0</version>
<priority>100500</priority>
<position>0</position>
<status>active</status>
<default_language>jp</default_language>
</addon>
id…アドオンのID。作成したディレクトリと同じ名前でなければならない。
version…..アドオンのバージョン
priority…..優先順位。大きい数字がよいとの事。
default_language.…デフォルトの言語 jp,enなど
言語ファイルを用意する
CS CARTは他言語対応なので、言語用のファイルを用意します。
用途によってはあまり時間を割かなくてもよい箇所かと思います。
ファイルの保存場所は/var/langs/[言語コード]/addons/になります。
そこに[アドオン名].poという名前でファイルを作ります。
/var/langs/jp/addons/my_addon.po
.poファイルの中身を書いてみましょう。
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::my_addon"
msgid "Hello World"
msgstr "ハローワールド"
msgctxt "Addons::description::my_addon"
msgid "Say hello to the world."
msgstr "ハローワールド!"
おめでとうございます。
アドオンのはこれで完成です!
管理パネルにログインをして確認してみましょう
管理パネル > アドオン >利用可能な全てのアドオンを表示
作成したアドオン「my_addon」が表示されているはずです。
この段階でインストールとアンインストールができます。
今回はアドオンの枠組みを作っただけなので、
インストールをしても何にもなりませんが、
思った以上に簡単にスタートする事ができました。
アドオンの一覧に出てこない場合
一度CS CARTのキャッシュをクリアしてみてください。
管理パネル > 一般設定 > ストレージ > キャッシュのクリア
それでも出てこない場合はソースとファイル名、ディレクトリ名を見直す必要があるのですが、
コピペをしている場合はクォーテーションやhtmlが全角になってしまう場合もありますので、
その辺も一度確認してみてください。