投稿の任意の位置に SNS のボタンを表示できるモジュールをつくりましたので公開します

BBSite

drupal.org に公開する程でもないが、自分のサイトで使ってるだけじゃもったいないモジュールを公開することにした。まず一つ目は bbsite_sns_buttons というモジュール。これは、Field API を利用したモジュールで、投稿の好きなところに SNS のボタンを貼り付けるもの。 SNS のボタンというのは、 Google+ の +1 ボタンや、 Facebook の いいね!ボタン。

このモジュールでできること

本文中に、各SNS に投稿するためのボタン(LINEに送る、Twitter に投稿する、Facebook に「いいね!」を投稿する、はてなブックマークに投稿する、Google+ に共有する)が表示されるようになります本文中に各SNS に投稿するためのボタンが表示

また、さらに

コンテンツタイプごとに「表示」、「非表示」の切り替えが可能になる

例えば、このサイトだとブログ記事とニュース記事、ページの3種類のコンテンツタイプを作成しているんだけど、ブログ記事とニュース記事にはボタンを表示して、ページには表示したくない場合に次のように設定する。

まずはニュース記事のフィールド表示管理画面( MANAGE DISPLAY タブ )を開きニュース記事のフィールド設定画面

SNS ボタンフィールドの表示 ( Visible ) ・非表示 ( Hidden ) を切り替える。ブログ記事とニュース記事は Visible でページは Hidden に設定する。表示または非表示の切り替え

コンテンツタイプ毎にボタンの表示位置を変更できる

ドラッグドロップで表示したい位置に移動できる。ニュース記事は本文の上、ブログは本文の下等。フィールドの表示位置を変更中

ページ表示(全文表示) と 一覧表示(部分表示) で表示位置や表示するしないの切り替えが可能

このサイトでは、一覧表示(本文は部分表示)とページ表示(本文の全文表示)、RSS の本文表示で表示内容を変更している。例えば、カテゴリをアイコンで表示しているが、RSS にはカテゴリを名称のみ表示にしている。同様に、SNS のボタンを RSS には表示したくない。一覧表示は、本文の上、ページ表示では本文の下に SNS のボタンを表示したいという設定が可能になる。

Default (この画面では、Teaser, RSS 以外の場合) と Teaser (一覧表示) と RSS で表示切替が出来るように当サイトでは設定している。一覧表示や全文表示、RSS の表示で切り替えるためのタブ

管理画面で SNS ボタンの表示非表示や表示内容を変更出来る

管理画面は以下のようになっており、このモジュールの動作を指定できるようになっている。ただ、当サイトで必要と思った表示方法にしか対応していないため、そのまま使うのが難しい場合は、テンプレートで切り替えたりして対応していただきたい。管理画面

この管理画面でできる事を以下に示す。

  • LINE のボタンを表示する・しないを切り替え
  • LINE のボタンを表示するにした場合に、PC でも表示する・しないを切り替え
  • はてなブックマークを表示する・しないを切り替え
  • はてなブックマークを表示するにした場合に、バルーンを表示(ブックマーク数)する・しないを切り替え
  • ツイッターボタンの表示・表示しない切り替え
  • ツイッターボタンを表示する場合に、ツイート数を表示する・しない切り替え
  • ツイッターボタンを表示する場合に、経由ユーザ、お勧めユーザ、ハッシュタグを指定
  • フェイスブックのいいね!ボタンの表示・非表示切り替え
  • フェイスブックのいいね!ボタンを表示する際に、送信ボタンを表示する・しない切り替え
  • フェイスブックのいいね!ボタン表示の際、いいね!した友達のプロフィール画像を表示するしない切り替え
  • フェイスブックのいいね!ボタンでレイアウトスタイルを「いいね!の数だけ表示する」か「スタンダード(説明文)」のどちらかを切り替え
  • レイアウトスタイルが「スタンダード」の際の幅を指定
  • Google+ の +1 ボタンを表示・非表示切り替え
  • Google+ の +1 ボタンのスタイルを Inline, bubble, none の切り替え
  • Google+ の +1 ボタンのスタイルが Inline の場合の幅を指定

バグ。このモジュールでは出来ないこと

残念ながらこのモジュールでは出来ないことが多い。今わかっていることを以下に示す。

  • コンテンツタイプ毎に各ボタンの表示・非表示を切り替えられない(Twitter はブログ記事だけ、ニュース記事は Google+, Facebook のみのような使い方が出来ない)
  • コンテンツタイプごとに各ボタンの表示方法を変更できない(全コンテンツタイプ共通)
  • 一つの記事につき、ボタンを一箇所にしか表示できない

ただし、これらのことはテンプレートの書き換えでも出来るので、今のところは対応の予定がない。気になる人は fork でもして作って頂くのが良いだろう。

テンプレートの編集方法については、別途機会があれば紹介したいと思う。

モジュールの配布元

モジュールは下記よりダウンロードしてお使いいただくことが出来る。ライセンスは GPL v2。 要望、不具合などは、コメント欄や GitHub などでご連絡いただけると幸いである。

Repository: https://github.com/smiyabe/bbsite_sns_buttons

このエントリーをはてなブックマークに追加
Pocket