Drupalのノードを期間経過で自動で非公開にしてみよう

Drupal Drupal

1~2年前から『Drupal』をちょくちょく触っています。

Drupalとは、世界中で利用されているオープンソースのCMS(コンテンツ・マネジメント・システム)のひとつです。日本ではまだなじみが薄いですが、海外では、公的機関や教育機関の公式サイトで使用されているほどのCMSで、セキュリティーに優れています。読み方は「ドルーパル」です。

触るようになったのは、数年前、XOOPS(ズープス)で構築した、会員制WEBサイトの代替CMSについてご相談をもらったのが、きっかけ。

会員制サイトといえば、ユーザー設計の優れているXOOPS一択でしたが、残念ながらXOOPSはPHP8ではもう動作しません……。代替するシステムはないかなぁ~と、数年来いろいろなCMSを触ってみて、ようやく(お~!これいいなぁ)と出会ったのがDrupal。

比較的立ち上げやすいWordPressに対して、Drupalは専門的な知識が必要とされますが、機能は高度だし、なんにせよカスタマイズ性に優れているのが魅力!触っていて超楽しいです。

ということで、今日はDrupalを構築の際に実装した機能を、備忘録として書きますね。(へぇ~Drupalってこんなことができるんだ~)と読んでもらえれば幸いです。

ちなみに私は「ドルーパル」をずっと「ドゥリュパル」と読んでいて、最近間違いに気付きました。(えらい発音しにくいな)と思っていました。そんなレベルでCMSについて偉そうに語っています。大変申し訳ございません。

ノードが自動で非公開になる機能

先日依頼のあった要望はこちら。

「ノードを、一定期間が経過したら自動で非公開になるようにしてほしい」

ノードとは、Drupal特有の呼び名で、記事やページのこと。例えば、期間限定で作成したノードを、期日が過ぎたら自動で非公開に、というケースなどで有効です。

それでは実装してみましょう!

Schedulerモジュールをインストールする

Schedulerモジュールは、ノードに「公開開始日時」と「公開終了日時」を設定できるモジュールです。指定した日時になると自動で公開・非公開を切り替えます。

主な機能

  • ノード作成画面に「公開開始」「公開終了」フィールドが追加される
  • Cronが実行されるタイミングで自動的に公開・非公開を処理
  • コンテンツタイプごとに「有効化/無効化」設定が可能

設定手順

設定手順
  • 手順1 
    管理画面で「機能拡張」から Schedulerの[Configure]をクリックします。
    Schedulerの[Configure]をクリックします
  • 手順2 
    対象のコンテンツタイプの設定ページへ
  • 手順3 
    「ホーム 管理 サイト構築 コンテンツタイプ」の編集タブに移動します。
  • 手順4 
    「Entity Types」で「記事」を選択します。
    「Entity Types」で「記事」を選択します
  • 手順5 
    「Enable scheduled publishing」および「Enable scheduled unpublishing」を有効にします。
    「Enable scheduled publishing」および「Enable scheduled unpublishing」を有効にします
  • 手順6 
    ノード作成時に「非公開にする」を設定すれば、その日時がきたら自動で非公開になります。
    ノード作成時に「非公開にする」を設定

    ちなみに「公開する」を設定をしたら、予約公開ができますよ。

非公開にならない場合

Schedulerは、Cron実行時に自動非公開処理を実行します。もし、非公開にならない場合は以下を確認してみてください。

非公開にならない場合の確認手順
  • 確認1 
    管理画面の「レポート」-「サイトの状態」/admin/reports/statusに移動します。
    管理画面の「レポート」-「サイトの状態」に移動します
  • 確認2 
    最後のCron実行の「Cronを実行」をクリックします。
    最後のCron実行の「Cronを実行」をクリックします
  • 確認3 
    非公開になっているか、該当のノードを確認してみましょう。

おわり

いかがでしたか?自動非公開・予約公開の機能、けっこう便利でしょ?
今回納品したお客さんにはとっても喜んでもらいました。

「わが社のDrupalにも実装してほしい!」もしくは「新規でDrupalを構築してほしい!」という企業がおられましたら、ぜひ弊工房までご依頼くださればと思います♪

ご相談、お待ちしておりま~す。

今月のキャラクター

弊工房が運営している、キャラクター直売所『キャラ市楽座』。
今月のキャラクターはこれ!

ピロコ
子コアラ『ピロコ』です。

趣味は「雲の形」を眺めること。ふわふわしたものに目がなく、柔らかそうなものを見つけると、ついつい寝心地を確かめたくなってしまいます。

コメント

トップへ戻る
タイトルとURLをコピーしました