DocListerでモディファイアが使えない

返信する
maki
メンバー
メンバー
記事: 30
登録日時: 2016年10月28日(金) 20:44

DocListerでモディファイアが使えない

投稿記事 by maki »

Ditto等では使えたと思うのですがDocListerの場合、テンプレート内の変数にモディファイアが使えないようです。例えば下記のようなものです。
[[DocLister?
&tvList=`タイトル`
&tpl=`@CODE:<li>[+tv.タイトル:zenhan+]</li>`
]]

「:zenhan」をつけると動作しません。「&renderTV=`タイトル`」を足してみましたがだめでした。モディファイアを使う良い方法があれば教えていただけますでしょうか?

追記:対象はevolution CMS 1.4.15です。
mod_kks
メンバー
メンバー
記事: 31
登録日時: 2017年11月04日(土) 01:31

DocListerでモディファイアが使えない

投稿記事 by mod_kks »

DocListerはPhx互換を継承しているので、スニペットで作成したモディファイアを
利用したい時は、定義したスニペット名の頭に「phx:」を付けないとスニペットを
見つけられないと思います。/assets/snippets/DocLister/lib/DLphx.class.phpの
470行目あたりにそのあたりの定義があります。
よって、この場合では「phx:zenhan」という名前でスニペットを作成して[+tv.タイトル:zenhan+]
とすると期待通りの動作になるのではないでしょうか。別の文字列を返すだけの簡易
スニペットを作成して試した限りでは、上記で動作するようです。
maki
メンバー
メンバー
記事: 30
登録日時: 2016年10月28日(金) 20:44

DocListerでモディファイアが使えない

投稿記事 by maki »

mod_kksさん、お返事ありがとうございました!
自分でスニペットを自作して、それで実行させる、ということですね。
試してみます。
(やりかたがわからなかったため、prepareという方法でなんとかしのいでいました。)
返信する