テンプレートで呼び出すチャンク名にリソース変数を利用したい
Posted: 2014年3月31日(月) 14:28
いつもお世話になっております。
表題の件について、うまくいかないので質問させてください。
●チャンク:メインコンテンツ、サブコンテンツなど各ブロックをパーツとして扱えるよう作る
●テンプレート:チャンクにした各ブロックをコンテンツに応じて呼び出す
上記のような形で利用しています。
この時、リソースの「エイリアス」を利用して、呼び出されるチャンクを可変にしたいと考えています。
例えば、以下のように各リソースのエイリアス名を含むチャンクを作っています。
●リソースのエイリアス:about、contact、profileなど
●チャンク名:side_about、side_contact、side_profileなど(※それぞれ表示内容が違う)
そして、共通で使うテンプレートに「{{side_[*alias*]}}」と書けば、
エイリアスによって読み込まれるチャンクが切り替わる、ことを想定していたのですが、うまくいきません。
全く何も表示されない(1.0.12J-r2-b5)か、
side_aboutのようにチャンクの中身ではなく名前がそのまま出てしまう(それ以前のバージョン)状態です。
しかし、デモサイトで同じようなものを作ってみると、きちんと動作したため、
デモサイトに入っておらず、こちらの環境でインストールしている
PHxプラグインを停止してみたところ、期待通りの結果(チャンクの中身が表示)が得られたのですが、
このような使い方に、PHxが何か影響するのでしょうか?
# 今までPHxが入っているせいでうまくいかなかったのは、MaxiGalleryとか、
# スニペットでテンプレート変数をいっぱい使うもの?だった気がしたので…。
aliasを使うのに問題があるのかもとも思い、longtitleなど別のリソース変数でも試しましたが
やはりPHxをオンにしたままでは、うまくいきませんでした。
PHxやMODXの仕様上、こういった使い方は無理ということならば諦めて別の方法を探そうと思います。
何かわかることがありましたら、お教えいただけると幸いです。
よろしくお願いします。
-----
ご利用のサーバ:さくらサーバー
MODXのバージョン:1.0.12J-r2-b5
PHPのバージョン:5.3.27
MySQLのバージョン:5.1.67
ブラウザ:Firefox(Windows)
-----
表題の件について、うまくいかないので質問させてください。
●チャンク:メインコンテンツ、サブコンテンツなど各ブロックをパーツとして扱えるよう作る
●テンプレート:チャンクにした各ブロックをコンテンツに応じて呼び出す
上記のような形で利用しています。
この時、リソースの「エイリアス」を利用して、呼び出されるチャンクを可変にしたいと考えています。
例えば、以下のように各リソースのエイリアス名を含むチャンクを作っています。
●リソースのエイリアス:about、contact、profileなど
●チャンク名:side_about、side_contact、side_profileなど(※それぞれ表示内容が違う)
そして、共通で使うテンプレートに「{{side_[*alias*]}}」と書けば、
エイリアスによって読み込まれるチャンクが切り替わる、ことを想定していたのですが、うまくいきません。
全く何も表示されない(1.0.12J-r2-b5)か、
side_aboutのようにチャンクの中身ではなく名前がそのまま出てしまう(それ以前のバージョン)状態です。
しかし、デモサイトで同じようなものを作ってみると、きちんと動作したため、
デモサイトに入っておらず、こちらの環境でインストールしている
PHxプラグインを停止してみたところ、期待通りの結果(チャンクの中身が表示)が得られたのですが、
このような使い方に、PHxが何か影響するのでしょうか?
# 今までPHxが入っているせいでうまくいかなかったのは、MaxiGalleryとか、
# スニペットでテンプレート変数をいっぱい使うもの?だった気がしたので…。
aliasを使うのに問題があるのかもとも思い、longtitleなど別のリソース変数でも試しましたが
やはりPHxをオンにしたままでは、うまくいきませんでした。
PHxやMODXの仕様上、こういった使い方は無理ということならば諦めて別の方法を探そうと思います。
何かわかることがありましたら、お教えいただけると幸いです。
よろしくお願いします。
-----
ご利用のサーバ:さくらサーバー
MODXのバージョン:1.0.12J-r2-b5
PHPのバージョン:5.3.27
MySQLのバージョン:5.1.67
ブラウザ:Firefox(Windows)
-----