Jun_22
1
コンテナに Zoho CRM API を利用してデータを取得・表示するソースコードを追加しました。
テスト環境では問題ないのですが、本番環境ではブラウザのキャッシュをクリアしても Zoho 側での更新が反映されないようです。
本番環境では[管理画面]-[システムと設定]-[最適化]-[キャッシュと表示速度設定]のうち以下の 2 項目が有効になっています。
[オーバーライドをキャッシュ]
[ブロック出力キャッシュ]
[管理画面]-[システムと設定]-[最適化]-[キャッシュをクリア]でクリアすると、Zoho 側での更新が反映されました。
上記のような設定ではコンテナにもキャッシュが適用されますでしょうか。
Concrete CMS バージョン
9.2.4
PHP バージョン
8.1.x
サーバー
エックスサーバー
@Jun_22 返信遅れました。
ソースコードでどのように追加されたかによります。
あと、フルページキャッシュが有効化されていて、フルページキャッシュが残っているかもしれません。
そちらも確認してみてください。
Jun_22
3
ご回答ありがとうございます。
ソースコードでどのように追加されたかによります。
以下のようなファイルに外部サービスから取得した json を整形・出力するソースコードを追加しました。
application/themes/テーマ名/elements/containers/ハンドル名.php
あと、フルページキャッシュが有効化されていて、フルページキャッシュが残っているかもしれません。
[管理画面]-[システムと設定]-[最適化]-[キャッシュと表示速度設定]で有効になっているのは以下の 2 項目のみでした。
[フルページキャッシュ]は無効になっております。
[オーバーライドをキャッシュ]
[ブロック出力キャッシュ]
しばらく様子を見た限りではこの問題は[ブロック出力キャッシュ]の方を無効にすると解消するようです。
コンテナにはブロックのようなキャッシュのグローバル設定を個別に上書きする UI は見当たりませんが、[ブロック出力キャッシュ]を有効にするとコンテナにもキャッシュが適用されますでしょうか。
@Jun_22 こんにちは
しばらく様子を見た限りではこの問題は[ブロック出力キャッシュ]の方を無効にすると解消するようです。
そうですね。コンテナも特殊ですが、機能的には、ブロックをレイアウト的によろしく表示するブロックですので、ブロックキャッシュが作成されると思います。
必要であれば、ブロックの詳細設定で、キャッシュをオフにするような項目があったと思います。それを試してみてください。
Jun_22
5
そうですね。コンテナも特殊ですが、機能的には、ブロックをレイアウト的によろしく表示するブロックですので、ブロックキャッシュが作成されると思います。
承知しました。
必要であれば、ブロックの詳細設定で、キャッシュをオフにするような項目があったと思います。それを試してみてください。
コンテナにはブロックの[詳細]-[高度なブロック設定]のようなキャッシュのグローバル設定を個別に上書きする機能は見当たりませんでした。
[管理画面]-[スタックとブロック]-[ブロックタイプ]-[コンテナー]というページを見つけましたが、ここにはキャッシュに関する設定はないようです。
[ブロック出力キャッシュ]を無効にすると表示速度が低下し効果を実感します。
[ブロック出力キャッシュ]は有効のまま当該コンテナのみキャッシュを無効にできればと思いましたが…
コンテナをレイアウト機能と考えますとキャッシュを無効化できる必要はない気もいたします。
作成が簡単で任意の場所に設置できる便利さからコンテナを利用しましたが、同じ機能を他の方法で提供できないか検討してみます。
ご回答ありがとうございました。
katz515
6
@Jun_22 お世話になります。
我々も、ちょうど、同じ問題に直面し、
再現できたので、
GitHub に Issue を立てました
改善するといいですが・・・
Jun_22
7
ご対応ありがとうございます。
本件はエリアを含まないコンテナで試しておりましたので、コンテナ内に設置したブロックのキャッシュ設定が無視されていることには恥ずかしながら気付きませんでした。
当該サイトを公開した Concrete CMS 9.1.3 の時点では、このような問題を生じているという印象はなかったのですが…