Topics トピックス

[baserCMS]お客様の声プラグインの使い方

2015/02/10

いつも株式会社ヒニアラタのホームページをご覧いただき、誠にありがとうございます。

この度、弊社ではbaserCMS用プラグイン「お客様の声」を公開いたしました。このソフトウェアは「baserマーケット標準販売ライセンス」で配布しております。現在のところ、商用・非商用を問わず無償で使用(カスタマイズを含む)して頂けます(baserマーケット標準販売ライセンスは、オープンソースライセンスではありませんのでご注意ください)

voice_add.png

ダウンロード

baserマーケット

このプラグインの機能

このプラグインは、コーポレートサイトでよく作られる「お客様の声」ページを簡単に実装するためのbaserCMS専用プラグインです。

現行バージョン「Ver.0.9.5」の主な機能は以下の通りです。(2015/07/06現在)

  • ユーザーが管理画面で「お客様の声」を登録・編集できる
  • 登録項目は「お客様名」「タイトル」「本文」「購入時期」に加え、画像を最大4枚登録できる
  • 利用項目設定により、不要項目を登録画面から非表示にできる
  • 利用項目設定により、「本文」入力欄にCKEditorを設定できる
  • 利用項目設定により、アップロード画像の最大サイズを設定できる
  • 登録された画像から自動でギャラリーページ(ex.事例画像集)が作れるおまけ的な機能です
  • カテゴリ毎に「お客様の声」を分類できる
  • カテゴリ毎に画像ギャラリーページを表示できる(おまけ的な機能です
  • カテゴリ毎に画像ギャラリーページに表示する画像の最大枚数を変更できる
  • カテゴリ毎に「コンテンツテンプレート」を変更できる

このプラグインを使うことで、固定ページで作られることの多かった「お客様の声」ページに管理機能を持たせることができ、ユーザーが更新しやすい環境を作ることが出来ます。また性能は高くありませんがギャラリー機能があるので、「お客様の声」で登録した画像をそのまま使った「事例画像集」なども、比較的容易に作成できます

インストールと利用項目の設定

インストール

インストールの方法は通常のプラグインと変わりませんが、webrootの「img」フォルダ内に「voice_plugin」フォルダを自動で生成しますので、予め「img」フォルダのパーミッション等をご確認ください(このフォルダはアップロードされた画像を保存しておくためのフォルダです)。結果的に以下のようになります。

  /app/webroot/img/voice_plugin/

プラグインのインストールについては、公式Wikiに掲載されていますので、そちらをご覧ください。

利用項目の設定

本プラグインでは、利用項目を設定することで、必須項目以外の項目を非表示にする事ができます。お客様の声を登録する際に入力できる項目は以下の通りですが、そのうち※印がついたものは「利用項目の設定」で非表示にできます

  • カテゴリ選択
  • お客様名
  • タイトル
  • 本文
  • 画像1(
  • 画像2(
  • 画像3(
  • 画像4(
  • 購入時期(
  • 公開設定

また「利用項目の設定」では「本文」入力欄でCKEditorを利用するかどうかが選択できるほか、画像1〜画像4でアップロードされる画像のサイズ(最大値)を決めることが出来ます(なお、システム管理でCKEditorを使わない設定になっている場合、ここでCKeditorを選択したとしても、通常のテキストエリアにが表示されます)。

voice_setting2.png

カテゴリの作成と管理

利用項目の設定が終わったらカテゴリを作成します。もちろん、カテゴリ無しでも使用できますが、カテゴリを作成しておくとコンテンツテンプレートを選択したり、カテゴリ毎に一覧表示させたり出来るため何かと便利です。

voice_cate_list.png

カテゴリの登録画面では以下の内容を入力・設定できます。

  • カテゴリ名
  • コンテンツテンプレート
  • ギャラリー表示設定(1ページの表示枚数)

voice_cate.png

各項目の詳細は以下の通りです。

カテゴリ名
このカテゴリの名称です。日本語で設定できます。
コンテンツテンプレート
このカテゴリのデータを表示する際に使用されるテンプレートです。設置場所等は後述します。
1ページの表示枚数
このカテゴリのデータから画像を抜き出してギャラリー表示する際、1ページ内に表示する画像の枚数を指定できます。

お客様の声の登録・編集・削除

ここまでの設定が終わったら、いよいよ「お客様の声」を登録していくことになります。「お客様の声 メニュー」の「新規登録」から登録画面を開いて下さい。

voice_add.png

この登録画面で表示される項目は、先の「利用項目の設定」で行った設定に応じて変化しているはずです。必要事項を順番に記入して「保存」ボタンをクリックしてください。登録が完了します。

なお、登録された情報は「編集」「削除」を行う事ができます。一覧表示画面の左側にある操作アイコンから行うのが良いと思います。

voice_list.png

コンテンツテンプレートについて

ここからは登録したデータを表示する方法をご案内します。

コンテンツテンプレートの概要

本プラグインではコンテンツテンプレートによって、View側(表示側)の処理を行います。まずはプラグインに同封されている「default」テンプレートをご覧ください。以下の場所に入っています。

  /app/Plugin/Voice/View/Voices/default/

本プラグインのコンテンツテンプレートは3つのファイルから構成されます。すなわち「index.php」「view.php」「gallary.php」です。

index.php
一覧表示を行うためのテンプレートです。
view.php
個別の表示を行うためのテンプレートです。
gallary.php
ギャラリー表示を行う際のテンプレートです。

これらの3つが1セットになって、本プラグインの「コンテンツテンプレート」となります。 オリジナルのコンテンツテンプレートを用意したい場合は、以下のどちらかに3つのファイルをいれたフォルダを設置します。

  /app/Plugin/Voice/View/Voices/
  /app/webroot/theme/(お使いのテーマ)/Voices/

最初に示した場所はプラグイン内部、後に示した場所はテーマ内部になります(テーマ内部でご利用の場合、テンプレートを入れるフォルダが「Voices」と複数形になっている事にご注意ください。「Blog」や「Mail」など他のプラグインは、ここが単数形になっている事があります)。例えば「test」という名前のコンテンツテンプレートを作成する場合は、以下のようになります

  /app/webroot/theme/(お使いのテーマ)/Voices/test/

index.php

まず最初に一覧表示を担うテンプレート「index.php」についてご案内します。このテンプレート内部は次のような格好になっています。

  <h2><?php $this->BcBaser->contentsTitle() ?></h2>
<p>
  お客様の声を一覧で表示しています。
</p>

<?php if(!empty($voices)): ?>
  <?php foreach($voices as $voice): ?>

    <h3><?php $this->Voice->title($voice, true) ?></h3>
    <p><?php $this->Voice->content($voice) ?></p>
    <p>お客様:<?php $this->Voice->customerName($voice) ?></p>
    <p>購入時期:<?php $this->Voice->buyTime($voice) ?></p>
    <p>
      <?php $this->Voice->image($voice, 1) ?>
      <?php $this->Voice->image($voice, 2) ?>
      <?php $this->Voice->image($voice, 3) ?>
      <?php $this->Voice->image($voice, 4) ?>
    </p>

  <?php endforeach; ?>
<?php else: ?>
  <p>データがありません。</p>
<?php endif; ?>

このテンプレートでは変数「$voices」の中に格納されたデータを表示するようになっています(残念ながら、現在のところ表示するのに便利な専用ヘルパーが未実装ですver.0.9.5以降はヘルパーを実装しています。ヘルパーについては後述。)。ループしながら表示させます。

view.php

この「view.php」は個別表示を担います。先ほどの「index.php」では簡易な情報を出力するにとどめ、この「view.php」で詳細な情報を表示する、などの使い方を想定しています。

このテンプレートは以下のようになっています。

  <h2><?php $this->BcBaser->contentsTitle() ?></h2>

<?php if(!empty($voice)): ?>

  <h3><?php $this->Voice->title($voice, false) ?></h3>
  <p><?php $this->Voice->content($voice) ?></p>
  <p>お客様:<?php $this->Voice->customerName($voice) ?></p>
  <p>購入時期:<?php $this->Voice->buyTime($voice) ?></p>
  <p>
    <?php $this->Voice->image($voice, 1) ?>
    <?php $this->Voice->image($voice, 2) ?>
    <?php $this->Voice->image($voice, 3) ?>
    <?php $this->Voice->image($voice, 4) ?>
  </p>

<?php else: ?>
  <p>データを表示できません。</p>
<?php endif; ?>

このテンプレートでは変数「$voice」に入っているデータを表示させています。こちらも専用ヘルパーが未実装ですので、上のような処理で出力を行っています。ver.0.9.5以降はヘルパーを実装しています。

gallary.php

このテンプレートは、登録されたデータから画像だけを抜き出してギャラリー表示する際に使用されます。

  <?php $this->BcBaser->css(array('Voice.voice'), array('inline' => true)); ?>

<div class="gallaryBox gallaryClearfix">
<?php if (!empty($images)) : ?>
  <?php
  foreach($images as $image){
   if(!empty($image['image'])){
    //画像を出力しつつ、リンクを設定する。
    $this->BcBaser->link($this->BcBaser->getImg('voice_plugin/'.$image['image'], array('class' => 'gallaryImage')),
      array(
        'plugin' => 'voice',
        'controller' => 'voices',
        'action' => 'view',
        $image['id']
      ), array('class' => 'gallaryImageLink'), false);
    }
  }
  ?>
<?php else : ?>
  <p>表示できるデータがありません。</p>
<?php endif; ?>
</div>

<div class="gallaryNaviLink gallaryClearfix">
  <div class="gallaryNextPage">
  <?php $this->BcBaser->nextGallary($currentPage) ?>
  </div>
  <div class="gallaryPrevPage">
  <?php $this->BcBaser->prevGallary($currentPage) ?>
  </div>
</div>
  

デフォルトのテンプレートでは使い方の一例として、画像をクリックすると、その画像が登録されている「お客様の声」データを表示(リンク)するようにしてあります。この「gallary.php」のカスタマイズ次第で、colorboxなどでポップアップするような事も可能ですので、興味のある方はぜひお試しください。

なお、この「gallary.php」では、ページ間の移動を行うために2つのヘルパーが用意されています。

$this->BcBaser->nextGallary($currentPage)
次のページがある場合に「次のページへ」というリンクを表示します。引数には「$currentPage」を入れておけば、現在のページに適したリンクを出力するようになっています。
$this->BcBaser->prevGallary($currentPage)
前のページがある場合に「前のページへ」というリンクを表示します。引数には「$currentPage」を入れておけば、現在のページに適したリンクを出力するようになっています。

表示用URLとパラメータ

上述のコンテンツテンプレートのカスタマイズが終わったら、実際にフロント側(ユーザーがみる側)にアクセスしてみてください。各URLと使用できるパラメータは以下の通りです。

一覧表示ページ

「お客様の声」の一覧表示は、以下のURLに設定されています(スマートURLはオンの場合でご説明しています)。

  http://(baserCMSのドメイン)/voice/voices/index

もしも、カテゴリ毎で一覧を表示したい場合は、パラメータにカテゴリNO(id)を与えてください。例えばカテゴリNOが「1」のカテゴリに含まれるデータだけを一覧表示するには、

  http://(baserCMSのドメイン)/voice/voices/index/1

としてください。

個別表示ページ

登録された「お客様の声」を一覧ではなく、個別に表示するには以下のURLにパラメータをつけてアクセスします。パラメータは、登録されたデータのNO(id)です。例えば、NO「2」にアクセスするには、

  http://(baserCMSのドメイン)/voice/voices/view/2

としてください。なお一般的には、一覧表示のリンクを辿っていけば個別のページが表示される、というようにしたいと思います。デフォルトのコンテンツテンプレート「default」に入っている「index.php」で、そのような処理をしていますので参考にしてみてください(データの「タイトル」部分がリンクとなっており、クリックすると個別表示ページヘ遷移する)。

ギャラリーページ

画像ギャラリーを表示するには、以下のURLにアクセスしてください。

  http://(baserCMSのドメイン)/voice/gallary

画像ギャラリーはカテゴリ毎に表示することが出来ますそうしたい場合はパラメータにカテゴリNO(id)を渡してください。例えばNO「3」のカテゴリに含まれる画像だけを取り出してギャラリー表示する場合は、

  http://(baserCMSのドメイン)/voice/gallary/3

というようにしてください。なお、ギャラリー表示は本プラグインにとって「おまけ」的な機能です。登録されている画像が多かったりすると、処理が遅くなる可能性がありますので、予めご了承ください

ヘルパーについて

本プラグインはコンテンツテンプレート内で使えるヘルパーを実装しています。

コンテンツテンプレート内で使用するもの

$this->Voice->title($voice, $link, $options)
(Ver.0.9.5以降)登録されたデータからタイトル部分を表示します。オプション・引数については下記をご覧ください。
$voice
データ本体です。index.phpではループ内で、view.phpではどこででも「$voice」と入れれば動作します。
$link
初期値はfalse。出力するタイトルにリンクをつけるかどうかを指定できます。
$options
配列でリンク用のオプション指定が可能です。詳しくはlink()関数についてご覧ください。
$this->Voice->content($voice)
(Ver.0.9.5以降)登録されたデータから内容部分を表示します。オプション・引数については下記をご覧ください。
$voice
データ本体です。index.phpではループ内で、view.phpではどこででも「$voice」と入れれば動作します。
$this->Voice->category($voice)
(Ver.0.9.5以降)登録されたデータからカテゴリ名を表示します。オプション・引数については下記をご覧ください。
$voice
データ本体です。index.phpではループ内で、view.phpではどこででも「$voice」と入れれば動作します。
$this->Voice->customerName($voice)
(Ver.0.9.5以降)登録されたデータからお客様名を表示します。オプション・引数については下記をご覧ください。
$voice
データ本体です。index.phpではループ内で、view.phpではどこででも「$voice」と入れれば動作します。
$this->Voice->buyTime($voice)
(Ver.0.9.5以降)登録されたデータから購入時期を表示します。オプション・引数については下記をご覧ください。
$voice
データ本体です。index.phpではループ内で、view.phpではどこででも「$voice」と入れれば動作します。
$this->Voice->image($voice, $number)
(Ver.0.9.5以降)登録されたデータから画像を表示します。オプション・引数については下記をご覧ください。
$voice
データ本体です。index.phpではループ内で、view.phpではどこででも「$voice」と入れれば動作します。
$number
画像1〜4のどれを表示するか、整数型で指定します。

どこからでも呼び出せるもの

$this->BcBaser->getVoices($limit, $categoryId)
登録データの一覧をリストを取得します。取得だけですので表示は別途行う必要があります。オプション・引数については下記をご覧ください。
$limit
初期値は5。取得したい件数を指定します。
$options
配列でオプションの指定が可能です。
・categoryId:初期値はnull。カテゴリIDを入れれば、そのカテゴリ内のデータだけを取得する(整数型)。

このプラグインの今後

本プラグインには、テンプレートで使うヘルパーやカテゴリの一覧表示機能が無いこと、そられをウィジェット化する機能が足りていないなど、現在の段階では不十分な点がございますが、もしも、その他「こんな機能が欲しい」「これがあったら良いのに」といったご意見やご感想がございましたら、弊社の問い合わせフォームよりご連絡下さいませ。

それでは今後とも株式会社ヒニアラタを何卒よろしくお願い致します。

タグ: 新製品 | baserCMS | PHP | ホームページ制作

お問い合わせCONTACT

弊社への各種ご相談は下記よりどうぞ

よくある質問

ここでは「ホームページを制作するのにどのくらいの期間が必要?」「島根県以外の遠方からでも依頼できる?」などお客様から寄せられる質問に回答しています。
下記の一覧からご覧になりたい質問内容をクリックしてください。

制作について

どのくらいの制作期間が必要ですか?

2ヶ月半〜3ヶ月程度を目処にお考え下さい。実際の作業自体はそれほどかかりませんが、お客様側でご準備いただくものや、新たに用意するもの(写真など)を考慮すると、結果的にそのくらいの期間がかかってしまうのが実情です。

法人ではなく個人事業主なのですが、制作を依頼できますか?

もちろん可能です。ただし、基本的には法人のお客様を想定したサービスとなっておりますので、気になる点などがございましたら、一度お問い合わせ頂ければと思います。

文章の校正はしてもらえますか?

本格的な校正または文章ライティングは、プロのライターに依頼することで可能です(有料)。なお、お客様からお預かりした原稿の誤字脱字等は、可能な限り確認・修正させていただいておりますが、お客様から弊社に完成原稿として提供いただくものにつきましては、なるべくお客様側にて一度チェックしていただきますよう、お願いいたします。

知り合いのデザイナーにデザインをお願いしたいのですが・・・。

事前にご相談いただければ、社外のデザイナーにデザインをお願いすることも可能です。ただし、その方に対して弊社からWeb構築に関する技術・仕様などの指導は出来ませんので、予めWebデザインが可能かどうかをデザイナーにご確認ください。

他社で作った既にあるホームページを修正したいのですが出来ますか?

他社様が制作したホームページでも修正を承っております。ご相談ください。

スマートフォン対応のホームページを作成してもらえますか?

もちろん可能です。現在主流のレスポンシブデザインという制作手法で構築できます。これはユーザーが利用している端末の画面幅に応じてレイアウトを自動で変更するもので、パソコン用のサイトとスマートフォン用のサイトを別で作る必要がないのが特徴です。

現在ホームページを持っていますが、リニューアルをお願いできますか?

もちろん可能です。リニューアルの仕方にもいろいろとあります。CMS(管理システム)やデザインの入れ替え、URLの変更など目的やご要望に応じた手法をご案内しています。

ホームページと一緒にブログも作りたいのですが、可能ですか?

多くのお客様がホームページの制作と同時にブログ機能(お知らせ、新着情報、トピックスなど呼び方は様々)を利用しています。

ホームページに掲載する内容は、一緒に考えてもらえますか?

はい。打ち合わせの際にスタッフへご相談ください。必要であればプロのライターさんに依頼することも出来ます。(有料)。

制作を依頼した場合、何を用意すれば良いですか?

打ち合わせの中で必要なものを確認して進めていきます。一般的には、会社パンフレットなどお客様の事業内容がわかる資料、ロゴマークなどのデータ、ホームページに載せたい写真・画像、

遠方(島根県以外)からホームページ制作の依頼はしてもらえますか?

リモート会議などで対応可能です。弊社では東京・大阪をはじめ、全国のお客様からのご依頼を承っております。ご相談ください。

WordPressを使ったサイト構築は可能ですか?

対応可能です。また、WordPress以外でも対応できますので、その目的・条件にあったCMSをご提案しております。

デザインのみ、コーディングのみなど、制作の一部の依頼は可能ですか?

対応可能です。弊社ではデザイン会社様、広告代理店様、システム開発会社様、ウェブ制作会社様などからの下請け案件も承っております。ご相談くださいませ。

制作会社、広告代理店からの依頼は可能ですか?

はい、対応可能です。ご相談ください。

写真撮影も行ってもらえますか?

対応可能です。弊社の関連会社もしくはパートナー企業が対応いたします。ご相談ください。

動画を使ったホームページを作成したいのですがお願いできますか?

対応可能です。動画は弊社の得意分野の一つです。撮影・編集は弊社の関連会社で映像制作専門の株式会社モットが対応いたします。

ホームページの更新を簡単にできる方法はありますか?

はい、CMS(コンテンツ・マネジメント・システム)の導入をお勧めします。CMSはホームページの管理システムのことで、IDとパスワードを使って管理画面にログインし、ホームページのデータを更新・変更します。

依頼してから完成まではどのような流れですか?

通常、以下のような流れで進んでいきます。

1.コンテンツの確定
ホームページの内容を決めていきます。どんなページがどこにあるか、というのを確定します。

2.デザインの確定
ホームページのデザインを決めていきます。色や雰囲気など最初にご相談させていただき、叩き台となるデザイン案をご用意します。

3.テストサイト構築
確認用のテストサイトをご用意します。

4.公開(納品)
テストサイトで問題なければ、本番環境へホームページを構築し公開します。

ドメイン、URLアドレスについて

現在持っているドメインを引き継ぐことは可能ですか?

可能です。場合によってはドメインの管理者権限を移す手続きが必要になることがあります。ご相談ください。

新しいドメインを取りたいのですが、取得の手配してもらえますか?

もちろん対応可能です。ドメインは「早いものがち」なので、必ずしもご希望のドメインが取得できるとは限りませんが、

サーバーについて

レンタルサーバーは用意してもらえますか?

もちろん対応可能です。弊社は「CPIサーバー(KDDIウェブコミュニケーションズ社)」「Zenlogic(ソフトバンクグループ

見積・費用・契約について

ホームページ制作に費用はどのくらいかかりますか?

ホームページはオーダーメイドになりますので、お客様のご要望の内容によって金額が変わります。

見積りを依頼するには、どのようにして問い合わせすれば良いですか?

弊社ホームページの「お問い合わせ」か、お電話にてご連絡ください。

分割払いはできますか?

原則一括払いでお願いをしておりますが、提携するクレジット会社を利用して分割することができます。ご相談くださいませ。

契約後のキャンセルはできますか?

契約後のキャンセルにつきましては、既に発生した作業の内容に応じて、キャンセル料を頂くことがあります。ご了承ください。

見積りに料金はかかりますか?

お見積りは無料です。お気軽にお問い合わせください。

制作後・メンテナンスについて

納品後のサポートはできますか?

はい可能です。更新頻度の高いサイトをお持ちのお客様や、Webサービスを運用しているお客様には、保守契約をおすすめ致しますが、保守契約の無いお客様や、他社でホームページを制作して運用中のお客様であっても、都度見積もりで対応させて頂いています。

運用は自分で行いたいのですが可能ですか?

はい、可能です。特に更新頻度が高い部分など、予めわかっていれば更新しやすいように管理機能をカスタマイズすることも出来ます。ご相談ください。

他社が作ったホームページを更新だけしてもらうことはできますか?

はい、可能です。ご相談ください。

アクセス解析・広告運用

アクセス解析はお願いできますか?

はい、可能です。レポート作成からコンサルタントによる毎月の報告会まで対応しています(有料)。ご相談くださいませ。

インターネット広告の運用代行をしてもらえますか?

はい、可能です。出稿先、予算、ターゲットなどをご相談し、最適なプランをご提案します。ご相談くださいませ。