Field_ValueList ゴミ箱の中にあるエントリーが持つ値

瀏覽次數:30 次
跳到第一則未讀訊息

鈴木孝明

未讀,
2020年9月25日 凌晨4:33:342020/9/25
收件者:a-blog cms forum
お世話になります。ルーコ鈴木です。
バージョン2.10.20です。
Field_ValueListのモジュールIDについて、質問です。

Field_ValueListを使って出力する値は、ゴミ箱の中にあるエントリーが持つ値も含まれているようです。
これは仕様でしょうか?

下記のように、特定のフィールドの値をフォームの選択肢として表示していました。

<!-- BEGIN_MODULE Field_ValueList id="hoge"-->
<!-- BEGIN value:loop -->
<option value="{value}[escape|split(',', 1)]">{value}[escape|split(',', 1)]</option>
<!-- END value:loop -->
<!-- END_MODULE Field_ValueList -->

上記、もしも仕様だった場合は、ゴミ箱の中にあるエントリーが持つ値を、出力しない方法について教えていただきたいです。

モジュールIDのフィールドでは、公開や非公開を指定できなかったように認識しているので、何か方法がないかと思い質問しています。
(もしも公開や非公開のステータスを指定できるのであれば、書き方を教えていただけるとありがたいです。)

よろしくお願いいたします。


・参照したドキュメント

伊藤淳

未讀,
2020年9月25日 清晨7:37:442020/9/25
收件者:a-blog cms forum
お世話になっております。

Field_ValueListですが、ブログ・エントリ・カテゴリなど関係なく、すべてのフィールド値が対象になっており、
ブログ以外の項目の状態を参照するのが難しく、非公開のエントリの値なども出るようになっております。

php/ACMS/GET/Field/ValueList.php の27行目に以下を追記いただけますでしょうか。
これで公開状態のエントリーだけ対象になります。
ただし、このコードを追記するとエントリーのフィールドだけに限定されますのでご注意ください。
 
$SQL->addLeftJoin('entry', 'entry_id', 'field_eid');
ACMS_Filter::entrySession($SQL);

よろしくお願いいたします。

鈴木孝明

未讀,
2020年9月27日 晚上8:01:512020/9/27
收件者:a-blog cms forum
お返事と対応策、ありがとうございます!
承知しました。
お教えいただいた記述を追加し、意図した動作にすることができました。

また、このField_ValueListの使い途を考えますと、デフォルトで
公開状態のエントリーだけ対象になる方が適しているのではないか?
・・・とも思うのですが、いかがでしょうか。

今後のアップデートで使用が変更される可能性があるのか、それともないのか、もしわかれば教えてください。

今後ともよろしくお願いいたします。



2020年9月25日金曜日 20:37:44 UTC+9 伊藤淳:

伊藤淳

未讀,
2020年9月27日 晚上9:45:042020/9/27
收件者:a-blog cms forum
お世話になっております。

今後のアップデートで使用が変更される可能性があるのか、それともないのか、もしわかれば教えてください。

申し訳ないのですが現状では、はっきりした答えを申し上げることができません。
仕様変更される可能性はありますので、private/config.system.yaml に以下を記述することにより、アップデートの対象からは外れますので、こちらでひとまず対応いただけますでしょうか。

system_update_ignore : [php/ACMS/GET/Field/ValueList.php]




鈴木孝明

未讀,
2020年9月27日 晚上10:12:042020/9/27
收件者:a-blog cms forum
お返事ありがとうございます。
承知いたしました。

>アップデートの対象からは外れます

ありがとうございます!
アップデートの心配まで察していただき、助かります。
phpフォルダ内に手を加えている場合、こういった記述で対策できるんですね。

今後とも、よろしくお願いいたします。

2020年9月28日月曜日 10:45:04 UTC+9 伊藤淳:
回覆所有人
回覆作者
轉寄
0 則新訊息