« Content Profileモジュールを翻訳 | トップページ | Drupal Documentation の翻訳を始めました »

コンテンツを保存すると同時に Views のキャッシュをクリアする方法

久しぶりの投稿です ... 最近は Twitter ばかりなので、よろしければそちらもどうぞ。 http://twitter.com/pineray

さて、Drupal でサイトを構築すると、だんだん重くなってきてパフォーマンスがひどい状態になります。
それを改善するために、コアやサードパーティモジュールで提供されているキャッシュ機能を活用するわけですが、それぞれ連携されていない部分もあったりして、ちょっとした工夫が必要になります。
たとえば、Views のキャッシュを使用していると、コンテンツを投稿したのにビューには反映されていない、ということが起こってしまいます。
今回は、コンテンツを保存すると同時に Views のキャッシュをクリアする方法について解説します。

Views の他に必要なのは Rules モジュールです。

  1. 管理画面の「ルール -> トリガのルール -> ルールを新規追加」で新しいルールを作成します。
  2. ラベルは適当に。イベントは「コンテンツを保存しようとしている」を選択し、「変更を保存」ボタンをクリックして次に進みます。
  3. 「アクションを追加」リンクをクリックします。
  4. 「追加するアクションを選択」で「独自のPHPコードを実行」を選択し、「次」ボタンをクリックします。
  5. 「PHPコード」の欄に以下のコードを挿入します。
    cache_clear_all('*', 'cache_views_data', TRUE);
    cache_clear_all('*', 'cache_views', TRUE);
  6. 「保存」ボタンをクリックして完了です。

これで、コンテンツを作成したり更新すると、Views のキャッシュもクリアされ、投稿したコンテンツがすぐさまビューに反映されるようになります。

|

« Content Profileモジュールを翻訳 | トップページ | Drupal Documentation の翻訳を始めました »

Drupal」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: コンテンツを保存すると同時に Views のキャッシュをクリアする方法:

« Content Profileモジュールを翻訳 | トップページ | Drupal Documentation の翻訳を始めました »