Drupal、はてなブックマークに対応したService linksモジュールの作り方
よくブログは、はてなブックマークやBuzzurlやlivedoorクリップなどのソーシャルブックマークのボタンが貼られています。ブログ側は読者にソーシャルブックマークが使えるという利便性を提供します。ソーシャルブックマーク側はブックマークされている人気の記事情報を配信できます。相互にユーザーがアクセスしてくれるので、ソーシャル系として人気のサービスです。
Drupalでも、ソーシャルブックマークのボタンを気軽に付けられるモジュールがあります。Service linksです。しかし海外製であるため、選べるボタンはdel.icio.us、Digg、Reddit、Facebookなど海外のサイトばかり。はてなブックマークのボタンを表示させる、日本語向きのカスタマイズする方法を記します。
まずは、管理画面のカスタマイズ。service_links.moduleファイルの54行目に以下記述があります。
$form['what_links_to_show'] = array( '#type' => 'fieldset', '#title' => t('What bookmark links to show'), ); $form['what_links_to_show']['service_links_show_delicious'] = array( '#type' => 'checkbox', '#title' => t('Show del.icio.us link'), '#return_value' => 1, '#default_value' => variable_get('service_links_show_delicious', 1), );
以下の記述を
$form['what_links_to_show']['service_links_show_hatena'] = array( '#type' => 'checkbox', '#title' => t('Show Hatena link'), '#return_value' => 1, '#default_value' => variable_get('service_links_show_hatena', 1), );
58行目に追記します。するとこんな感じになるはずです。
$form['what_links_to_show'] = array( '#type' => 'fieldset', '#title' => t('What bookmark links to show'), ); $form['what_links_to_show']['service_links_show_hatena'] = array( '#type' => 'checkbox', '#title' => t('Show Hatena link'), '#return_value' => 1, '#default_value' => variable_get('service_links_show_hatena', 1), ); $form['what_links_to_show']['service_links_show_delicious'] = array( '#type' => 'checkbox', '#title' => t('Show del.icio.us link'), '#return_value' => 1, '#default_value' => variable_get('service_links_show_delicious', 1), );
実際表示する部分をカスタマイズします。
330行目あたりにある以下のコード以降が表示する部分になります。ちなみにこの部分はdel.icio.usの表示です。
if (variable_get('service_links_show_delicious', 0)) { $links['service_links_delicious'] = theme('service_links_build_link', t('Delicious'), "http://del.icio.us/post?url=$url&title=$title", t('Bookmark this post on del.icio.us.'), 'delicious.png', $nodelink); }
上記コードの前でも後でもいいので、以下にコードを追加します。
if (variable_get('service_links_show_hatena', 0)) { $links['service_links_hatena'] = theme('service_links_build_link', t('Hatena'), "http://b.hatena.ne.jp/entry/".urldecode($url), t('Bookmark this post on Hatena'), 'hatena.gif', $nodelink); }
これでservice_links.moduleファイルを保存してください。
最後に、ブックマークのボタンに使う画像を取ってサーバに配置します。
http://b.hatena.ne.jp/images/entry.gif をダウンロードしファイル名をhatena.gifに変えます。hatena.gifファイルをサーバの sites/all/modules/service_links フォルダの下に保存してください。
これでカスタマイズ終了。
あとは管理画面のService linksの設定で、「Show Hatena link」にチェックをつけてください。これではてなブックマークのボタンが表示されます。
- chikunaiさんのブログ
- ログインしてコメントを投稿
- 参照(119)