こういった機能が、個々のスニペットに必要と言うことなんですね?
PHxファンクションを導入しているスニペットを利用する場合には、
PHxプラグインを無効にする機能があれば私的には嬉しいかも。。
そのとおりっす。
PHx実は使ったことなかったりするんで、細かい部分はわかっていませんけど。
たとえば、templateSwitcherのプラグインと連動させるなら、templateSwictherのおまじないと同じような形で
ドキュメントにPHx無効おまじないを書いておいて、templateSwitcherのプラグインにそのおまじないがあれば、PHx無効フラグみたいなものを立て、それをDittoのスニペットのPHx無効の変数に被せるっていう手でもいけそうですね。
ほかのPHxを利用するスニペットも同じようにすればできるかなぁ
たとえば、templateSwitherのおまじないのチェックの次に以下のようにフラグを$modx->configに設定して
$modx->config["phx_disable_flag"] = false;
if (strstr($modx->documentContent,"無効化のおまじないコード"))
{
$modx->config["phx_disable_flag"] = true;
}
Dittoの方で
if ($modx->config["phx_disable_flag"] == true)
{
PHxの無効化の変数をセットする
}
とかにすれば、いけそうな気がします。
と思ってPHxのドキュメントみてみたんですが、プラグインみたいなので
PHxのプラグインの方で処理しないようにする方が楽ですねぇ
PHxのプラグイン(MODxのリソースで入れる部分)を以下のようにしちゃえばいけるかと思います。
if ($modx->config["phx_disable_flag"] != true)
{
include_once $modx->config['rb_base_dir'] . "plugins/phx/phx.parser.class.inc.php";
$e = &$modx->Event;
$PHx = new PHxParser($phxdebug,$phxmaxpass);
switch($e->name) {
case 'OnParseDocument':
$PHx->OnParseDocument();
break;
}
}