前回の記事では、モジュール「Csv2Doc」を組み込んだMODxで、もしもCSVをインポートした商品サイトの製作に触れました。
もしもCSVには「在庫状況」などいくつかの主要なレコードがありませんので、例えCSVを毎日更新したとしても、在庫切れの商品をそれとわからず表示してしまう状況が出来てしまいます。
在庫状況を表示することが出来るよう、ネットで色々調べたところ、もしもAPIを取り込むのが良いらしいです。
WordPressだと、もしもAPIを利用したプラグインを製作してこれを実現させている方もいますし、 もしもAPIを利用したショッピングサイト作成ツールも沢山あるんですね。
そこでこれを、私のようなPHP素人でもこのMODxサイトで何とかできないかと調べたところ、一応それらしきことが出来ましたので紹介します。
もしもAPIのデータを表示するために
「FeedX」というスニペットを利用しました。
これはRSSなどの外部フィードを読み込むスニペットです。
同様の機能を果たすPieXという優れたスニペットもあり、こちらを最初利用しようと思ったのですが、どこをカスタムするのか分かりやすく、最初からAPIを読んでくれたFeedXを選びました。
FeedXを導入してスニペットコールして&debug=`1`にし、サイトでAPIを表示させると、2つのリンクが現れました。
そのうちShow Debug Consoleというリンクをクリックすると、
このように、もしもAPIの仕様の階層が分かりやすく表示されているウインドウが開きました。
まあこれはもしもAPI仕様書にも書いてあることですが、とりあえずFeedXはもしもAPIを読んでくれていることがわかります。
これを参考に、「snippet」ディレクトリ-「FeedX」-「tpl」内にある他のtplファイルを参考にしてtplを作成し、ディレクトリ名をmoshimoにしてtpl内にアップロードし、スニペットコールに
「&preset=`moshimo`」も加えたところ、 作成したtplの内容で表示されました!
PHPをマスターしなくてもある程度のことが出来てしまうMODxすごすぎる…
このブログを書き始めたころに、
スニペットを読み間違えてスペニットと書いてたころを思い出しました。