2015.11.28596 views

WordPressの機能で例えるとDrupalがちょっと分かりやすくなった

drupal
いすけです。

WordPressに比べて、Drupalは日本国内での普及がイマイチですよね。
そのせいもあって、日本語情報が少ない。
「Drupalちょっと興味あるけど、やっぱWordpressでやっちゃおうぜぃ」

かつての私です。

まずWordpressを覚え、そしてDrupalに手を出した私は、DrupalをWordpressで例えたりして理解していきました。
それが自分でも思いのほかわかりやすかったので、Wordpress目線でDrupalを見たら?を書いてみます。

◆Wordpressのカスタム投稿タイプとカスタムフィールド

WordPressでは、functions.phpとちょちょっと触ったりしてカスタム投稿タイプが追加できますね。
そんなに苦もなくできます。
Drupalでいうと、『コンテンツタイプ』という名前になります。
Drupal6のときは、『CCK』というモジュールだったので、モジュールを追加する必要がありました。Drupal7からはこの『CCK』モジュールが、コアに入ったので、最初から使えます。
なので、カスタム投稿タイプっぽいものを作りたいな、と思ったら『コンテンツタイプ』です。
さらに、この『コンテンツタイプ』は、フィールドを自由に設定できます。つまり、Wordpressでいうカスタムフィールドですね。
このコンテンツタイプのフィールドは、拡張モジュールがたくさんあるのでとにかく幅広いです。
単純に、テキストフィールド、テキストエリアというレベルじゃなく、入力された値をphpで処理して違う値に変えて格納したり、GoogleMapごとフィールドに格納したりできてしまいます。
しかも、Wordpressのときは一手間かけないといけなかったカスタムフィールドでのリレーションが、Drupalだとあっさりできます。

◆Wordpressのループ処理

WordPressでの開発の場合、動的といえばループですよね。
query_posts、get_posts、pre_get_postsなんかで記事を取得して、foreachやwhileで回して・・・。
Drupalだと、『Views』というモジュールを使います。
最初はとっつきにくい感はありますが、わかるとかなり便利です。
Wordpressで記事を取得する場合は、条件を引数として渡したりしますが、
Viewsだと、管理画面のGUIでちょいちょい選んでいくだけで条件が設定できるし、その画面内で出力方法も選べちゃいます。
例えば、投稿から7日以内はNEWマークをつけたいという場合、Wordpressならループ内で投稿日と現在を比較して、分岐書いて実現します。
ViewsならそれもGUIで選ぶだけで思い通りのhtmlを出力してくれます。

ちなみに、Wordpressの記事一覧は、archive.phpやcategory.php、独自テンプレート内のループなどで表現されますが、Viewsはこの一覧ページもGUIで生成できます。
当然、ページ送りもGUI設定です。

さて、いかがだったでしょうか。
結局、Wordpressからの例えは、カスタム投稿タイプ、カスタムフィールド、ループ処理程度でした。
でも、なんとなく、適した規模感が見えてきませんか?
Drupalはたくさんの種類のコンテンツを扱う場合にメリットを見いだせそうです。
NEWSしか更新しないようなコーポレートサイトや、ブランディングサイトにはオーバースペックです。
一方、たくさんの種類のコンテンツを扱うポータルや、コミュニティ系サイトはDrupalが向いています。

私の場合、Drupalは細かい権限設定が必要なときに選ぶようにしていますが、それはまた別の回に。

written by:いすけ