以前書いたGoogle Maps Tools、ストリートビューがチカチカしたり、データを削除できなかったりと色々バグがあったのですが、βが取れて6.x-2.1になって、かなり安定してきたので、このブログにもマップデータを組み込んでみました。
左サイドバーのビューではマーカーをクリックするとページを表示、ページでマーカーをクリックするとストリートビューを表示します。
グルメマップとか、撮影ポイントマップとか、色々楽しめると思います。
まだ試していないのですが、ルートマップの機能もあり、チャンスを見てチャレンジしてみたいと思います。
URLエイリアスを効かせて、コンテンツタイプ毎やユーザー毎にURLのディレクトリ構造を分けると、ディレクトリによってテンプレートを変えたり、何かと便利ですが、エイリアスページが生成されても元のパスのページは残ります。
これは検索エンジンにコピーページとみなされる可能性があり、SEO的に適切とは言えませんね。Global Redirectというモジュールを導入するだけ、元のページからはリダイレクトしてくれるようになります。
URLエイリアスをインストールする場合やCoreのPathモジュールを有効化する場合は必ず使うモジュールにしておきましょう。
今やDrupalの画像処理の定番にもなったと思われるImageField、画像をフィールド値として持てるので、Viewsを使って他のページから呼び出し、ImageCacheと組み合わせて、リサイズしたり、トリミングしたり、画像の一覧やスライドショーが簡単にできるようになります。
ところが画像に説明文を組み込むとなると、結局ImageFieldとは別に、IMCEを使って本文に画像を組み入れたりすることになります。Wysiwyg IMCE bridgeを使って本文欄のボタンから画像を組み込むことができるようになるものの、IMCEは画像を本文に組み込むまでかなりのステップの操作が必要になり、またある程度HTMLの知識があるユーザーでないと操作は容易ではないと思われます。
CCKのフィールドセットでは常に開いておく、折りたたみ(開)、折りたたみ(閉)という設定ができて、コンテンツ編集画面がすごく使いやすくなります。
これを自分の作るコンテンツにも簡単に組み込めます。
まずnodeのテンプレートからjsを呼び出します。
<?php
drupal_add_js('misc/collapse.js');
?>
で本文にclass="collapsible"のフィールドセットを書きます。
<fieldset class="collapsible collapsed"> <legend class="collapse"> <a href="#">開いてみる</a> </legend> <div class="fieldset-wrapper">ここにフィールドセットの内容を書く</div> </fieldset>
こんな感じです。
Content TaxonomyはタクソノミーをCCKのフィールドに置き換えてくれるモジュールです。インストールするとCCKのフィールドタイプの選択肢にコンテンツタクソノミーフィールドというのが追加されます。このフィールドのデータ要素として、選択リストやチェックボックス、ラジオボタン等が選べます。これで個々のタームに対し、個々に値を設定するといったことができます。
Hierarchical Selectは階層的に選択肢を設定するもので、上位のタームのドロップダウンリストでは同じ階層のタームのみが表示され、そこからタームを選択するとその下位にあるタームのドロップダウンリストが表示されます。たぶんJQueryを使っていると思うのですが、そのゆっくりとしたアクションはイマドキ風です。Conent Taxonomyの値設定にも使え、通常の選択リストやチェックボックス、ラジオボタンより、タクソノミーの階層構造を利用するにはこれは便利なモジュールです。
例えば、エリアというボキャブラリを設定、関東、関西という上位タームを設定し、その下位に東京、千葉、神奈川…、また大阪、京都、兵庫…、のタームを設定、東京や大阪のタームをフィールドの選択肢とし、それに値を入力するフィールドと組み合わせてフィールドセットにするといったことができるようになります。
6月の中旬からGoogleでレシピを専門にした検索が始まりました。日本独自のサービスのようで、画像、動画、地図、ニュース、書籍、ブログ、アップデートに続いて、レシピが検索対象になったもので、検索結果はリッチスニペットと呼ばれるXMLに似た感じの構造化されたものになります。
レシピの場合、レシピ名、調理時間(準備時間、実際の調理時間と合計の調理時間)、材料(材料名と分量)、作り方、栄養情報(カロリー、脂肪分、塩分等)、分量(何人前とか)、要約文、画像等が構造化の対象となります。
構造化はMicorodata、Microformat、RDFaという3つの方法で行うことができます。この内、CSSのclass属性の設定だけで構造化できるMicroformatを選択しました。
Drupalでいくつもウェブサイトを構築して、スキルも上がってくると、以前作ったサイトの設計のまずいところを直したりしたくなってきます。
例えば、タクソノミーの分け方とかですが、コンテンツが多いと、一つ一つタクソノミーを変えて行くのなんて大変です。
そんな時にメチャ便利なのがVBOモジュールです。Drupalが強力なCMSであることを実感させてくれるモジュールでもあります。
モジュールをインストールしても専用の管理ページとかはありませんが、Viewの作成画面のBasic settingのスタイルの設定に「一括処理」という選択肢が追加されます。
それよりも、新たに追加されたadmin_contentというviewを使うと便利です。管理セクション>コンテンツの管理>コンテンツ、のコンテンツ一覧ページはよく使う訳ですが、これに一括処理欄が追加されたようなページになっています。ここで選択したノードに対して、投稿者名を変更したり、タクソノミーを変更したりの処理が一括で処理できるようになります。
他のCMSと較べてDrupalはデフォルト状態でも、余計な機能や説明が少ない、システム的な押し付けが非常に少ないのが魅力のひとつでもあるのですが、それでもコンテンツ編集画面の入力書式の説明と書式オプションに関する詳しい情報というリンクテキストのような不要な表示されてしまいます。
Drupal6の設計段階では、これは必要と判断されたんでしょうが、HTMLのタグの説明とかをこんなところで説明されても大半のユーザー(投稿者)にとっては、???としか思わない内容です。
こういうのはぜひ取っ払ってしまいたいのですが、管理ページでSEOに関係ないからといってcssでdisplay:noneにするにも、簡単にテンプレートで消してしまうこともできない構造になっています。
ということでこのBetter Formatsという小さなモジュールが配布されていて、1週間で2万回もダウンロードされています。同じことに困っていた人がたくさんいたということでしょうね。
これはなかなか大変な作業になります。今まで何度かトライして、自分的にも、漸く初めて成功しました。
データベースの大幅な更新を伴ない、サイト自体の全面的な変更を行うことになるので、コンテンツ自体は残して、サイト全体のリニューアルといった場合のみ行うべきものだと思います。
逆にいうと、今後とも長期にサイトの運用を継続し、Drupal6やDrupal7の機能が必要になると見込まれる場合は、避けられない作業になると言えるかも知れません。
基本的な作業の流れはこちらにありますが、これ以外にもテストサイトの構築とviews2と新規テーマ作成による出力設定のやり直しが必要になるはずです。
Drupalをインストールしただけだとフロントページ(トップページあるいはホームページ)には「Drupalウェブサイトへようこそ…」と表示されてしまいます。自分もDrupalを始めた頃はCSSでこの部分をdisplay:noneとかやっていたのですが、これではSEO的にも問題があります。
Drupalのフロントページの作り方には3つの方法があります。
1つ目の方法、コンテンツを作成して、掲載オプションで「フロントに掲載」にチェックを入れると、そのコンテンツのティーザー(冒頭部分)がフロントページに表示され、「Drupalウェブサイトへようこそ」は表示されなくなります。この方法では最新の情報を上位に表示するなどダイナミックな表示ができますが、表示する要素はコンテンツのティーザーに限定され融通の効かないものになります。
2つ目の方法は、フロントページにしたいページを作成し、管理セクション>サイト情報、でデフォルトのフロントページをそのページ、あるいはそのエイリアスにします。この方法では、好きなようにフロントページを構築できますが、固定的なフロントページになってしまいます。