2010年5月28日

独自タグをJavaScriptの関数に渡す

カラーミーショップ!プロには、いくつも独自タグがあります。
写真は独自タグのページから一部抜粋したものです。

独自タグ、Smarty、JavaScriptを組み合わせることにより、パワフルなカスタマイズが可能です。

JavaScriptの関数の引数として独自タグを渡すさいの注意はひとつ
文字として渡す場合は””で括ること
<script type="text/javascript">
<!--
  sample_function("<{$product.name}>");
//-->
</script>
独自タグを参照ののち、JavaScriptの処理がなされます。

document.write("<{$product.name}>"); 
としたら商品名が表示されます(意味のない使い方ですが)。

Smarty初心者(私がそうなんですが)には気がつきにくい点だと思いました。


【関連記事】
カラーミーのカテゴリー表示2

2010年5月27日

購入数の↓ボタンの位置がずれる

普段、Firefoxを使用していると、 Internet Explorerのデザインのズレに気づかなかったりします。
どこを修正した際に生じたかわかっていれば、一旦元に戻したのち、チマチマと原因を探ることになります。
検討がつかないと、ひどい時間のロスになります。
テンプレートのバックアップはこまめにとりましょう(カラーミーショップ!プロでは、テンプレート5つまで保存できます)。

今日の本題。
最近手直ししたサイトの「商品詳細」の購入数の矢印ボタンがずれていました。
Firefoxでは問題なかったので気づきませんでしたが、IE7.0では 上矢印と下矢印の間に妙な隙間ができていました。
いつずれたのかさっぱりわからず、バックアップのテンプレートとの差分をみながら、チマチマ作業。
CSSが原因らしいと検討がついたのち、さらにチマチマ作業。

特定のフォントのときに隙間があくと判明しました。
そういえば、font-familyにメイリオを追加したんだったと、解決した後で思い出しました。

直近の<div>に、問題のでない「font-family:Courier」追加して修正完了。
<div style="width: 15px; margin: 0px;font-family:Courier;">
ためしに、別のテンプレートで再現するか確認しましたが、問題発生したフォントでも隙間はできませんでした。
テンプレートによるのでしょうか。今回の話は、こんなこともあるのかーくらいで。

2010年5月26日

カートに入れるを二ヶ所につける 3

カートに入れるを二ヶ所につける 2」のつづき。

今回はJavaScriptのサンプルです。ベースになるソースは「カートに入れるを二ヶ所につける 1」です。
JavaScriptですが、外部ファイルを読み込む場合は、ロリポップ!のようなレンタルサーバーに置き、「共通」か「商品詳細」の先頭で読み込みます( 汎用性のある関数は「共通」で)。<body>部でOK。
<script src="http://~/sample.js" type="text/javascript"></script>
ポイントは前回説明済みですので、今回は補足事項のみ。
・カートの二つめはまるまるコピーで、橙色部分を修正。
・置換処理では関数名しか差し替えていない。

1.テンプレート「商品詳細」の購入数からカートに入れるまで抜粋。橙色部分が修正箇所。
<form name="product_form" method="post" action="<{$cart_url}>">
  (中略)
  <{if $product.soldout_flg == 0 && $shop_stop_flg == false && $product.login_sale_flg == false }>
    <tr>
      <th>購入数</th>
      <td style="padding: 0px 5px;">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td style="padding: 0px;">
              <input type="text" name="product_num" value="<{$product.init_num}>" style="width: 50px;" onKeyUp="change_key_num()"/>
            </td>
            <td style="padding: 0px;">
              <div style="width: 15px; margin: 0px;">
                <a href="<{$num_up_url|regex_replace:'/f_change_num2/':'change_button_num'}>"><img src="<{$num_up_img_url}>"></a>
                <a href="<{$num_dw_url|regex_replace:'/f_change_num2/':'change_button_num'}>"><img src="<{$num_dw_img_url}>"></a>
              </div>
            </td>
            <td style="padding: 0px;"><{$product.unit}></td>
          </tr>
       </table>
     </td>
   </tr>
  <{/if}>
  (中略)
  <{if $product.soldout_flg == 0 && $shop_stop_flg == false && $product.login_sale_flg == false }>
    <tr>
      <th>購入数</th>
      <td style="padding: 0px 5px;">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td style="padding: 0px;">
              <input type="text" name="product_num2" value="<{$product.init_num}>" style="width: 50px;" onKeyUp="change_key_num2()" />
            </td>
            <td style="padding: 0px;">
              <div style="width: 15px; margin: 0px;">
                <a href="<{$num_up_url|regex_replace:'/f_change_num2\(document.product_form.product_num/':'change_button_num(document.product_form.product_num2'}>"><img src="<{$num_up_img_url}>"></a>
                <a href="<{$num_dw_url|regex_replace:'/f_change_num2\(document.product_form.product_num/':'change_button_num(document.product_form.product_num2'}>"><img src="<{$num_dw_img_url}>"></a>
              </div>
            </td>
            <td style="padding: 0px;"><{$product.unit}></td>
          </tr>
       </table>
     </td>
   </tr>
  <{/if}>
  (中略)
</form>

2.JavaScript
function change_key_num(){
  document.product_form.product_num2.value = document.product_form.product_num.value;
}

function change_key_num2(){
  document.product_form.product_num.value = document.product_form.product_num2.value;
}

//***********************************
//個数UP・DOWNボタン処理(差し替え版)
//***********************************
function change_button_num(select, pType, pMinNum, pStockNum) {
  if( select.value.match(/[^0-9]/)){ select.value = pMinNum; return; }
  wNum = parseInt(select.value);
  if (pType == "0" && wNum > pMinNum) {
    document.product_form.product_num.value = String(wNum-1);
    document.product_form.product_num2.value = String(wNum-1);
  }
  if (pType == "1") {
    if (pStockNum) {
      if (wNum >= pStockNum) return;
    }
    document.product_form.product_num.value = String(wNum+1);
    document.product_form.product_num2.value = String(wNum+1);
  }
}

テストした感じだと問題なさそうですが、いかがでしょうか。
以前に仕事でつくったソースより、ずいぶんシンプルになりました。


カートに入れるを二ヶ所につける - オプション編」に続く。

【追記】
間違い部分を訂正しました。ご指摘ありがとうございました。

2010年5月25日

カートに入れるを二ヶ所につける 2

前回のつづきです。
カラーミーショップ!プロに「カートに入れる」をふたつ設置できるか。

修正する点
テキスト入力フィールドと「カートに入れる」ボタンを設置
<form>~</form>のなかの設置したい場所に、2箇所目の<input>(とその周辺)を記述します。

増減ボタンをクリックした場合
cart.js内の関数「f_change_num2」を直接修正してアップロードすることができませんので、正規表現と置換を使って、呼び出す関数を差し替えます。
呼び出す関数は「f_change_num2」 をベースに、複数あるテキスト入力フィールドの整合がとれるように数行付け加えます。作成したJavaScriptはレンタルサーバーに置きます。

テキスト入力フィールドに直接文字を入力した場合
JavaScriptのイベントハンドラ、onKeyUp(キーアップ時に発生するイベント) を使用し、テキスト入力フィールドの整合をとるための関数を呼び出します。
自前で作成します(わずか数行です)。

次回はサンプルを作ってみます。


カートに入れるを二ヶ所につける 3」につづく。

2010年5月24日

カートに入れるを二ヶ所につける 1

商品説明文がスクロールするくらい長いショップの方から、「カートに入れる」をページ上下に二つほしいと要望がありました。
なかをみると、カラーミーショップ!プロは通常ひとつを想定しているようでした。

複数設置すると当然のように、「購入数」を表示するテキスト入力フィールドが複数必要になります(なくても問題ありませんが、お客様の利便性を考えると普通はつけます)。
複数になると各々のテキストフィールド内で表示している数字の整合が取れなくなり、正しい数字をサーバーに渡すことができなくなります。
そこさえクリアすれば複数設置することは可能です。ポイントをみていきましょう。

1. 「商品詳細」の「カートに入れる」部分(使用テンプレートによって若干の違いあり)。
<form name="product_form" method="post" action="<{$cart_url}>">
  (中略)
  <{if $product.soldout_flg == 0 && $shop_stop_flg == false && $product.login_sale_flg == false }>
    <tr>
      <th>購入数</th>
      <td style="padding: 0px 5px;">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td style="padding: 0px;">
              <input type="text" name="product_num" value="<{$product.init_num}>" style="width: 50px;" />
            </td>
            <td style="padding: 0px;">
              <div style="width: 15px; margin: 0px;">
                <a href="<{$num_up_url}>"><img src="<{$num_up_img_url}>"></a>
                <a href="<{$num_dw_url}>"><img src="<{$num_dw_img_url}>"></a>
              </div>
            </td>
            <td style="padding: 0px;"><{$product.unit}></td>
          </tr>
       </table>
     </td>
   </tr>
  <{/if}>

  (中略)
</form>
以下の独自タグで、JavaScriptを呼び出します。
<{$num_up_url}>の内容
javascript:f_change_num2(document.product_form.product_num,'1',1,1);
<{$num_dw_url}>の内容
javascript:f_change_num2(document.product_form.product_num,'0',1,1);

2.http://~/js/cart.js 内の関数
//***********************************
//個数UP・DOWNボタン処理
//***********************************
function f_change_num2(select, pType, pMinNum, pStockNum) {
  if( select.value.match(/[^0-9]/)){ select.value = pMinNum; return; }
    wNum = parseInt(select.value);
    if (pType == "0" && wNum > pMinNum) {
      select.value = String(wNum-1);
    }
    if (pType == "1") {
      if (pStockNum) {
        if (wNum >= pStockNum) return;
      }
      select.value = String(wNum+1);
    }
}
数量を増減させるボタンを押すと、cart.js(最初からあるJavaScript)の関数「f_change_num2」が呼び出されます。pTypeで増か減かの条件分岐。
ここでのselect.valueとは、「document.product_form.product_num.value」のことです。

どのように整合をとるか、イメージできましたか。橙色部分が修正時のポイントです。
cart.jsは、はじめからあるJavaScriptで、ファイルの置き場所に手が出せません。そういうことで、なかを手直しすることはできません。

 「カートに入れるを二ヶ所につける 2」につづく。


【参照リンク】
とほほのWWW入門

2010年5月22日

カラーミーの検索機能+案

【追記】2011年7月7日にAND検索になりました。この記事の一部は古い情報です。

カラーミーショップ!プロには、ショップ内検索窓をつけることができます。
しかし、非常に不便なことに、AND検索ができません(当然のように、ORもなにもかもダメ)。
空白(スペース)もキーワードの一部と認識されます。
完全一致した場合のみヒットします。

そういう理由から、「Google」や「Yahoo」の検索エンジンを借りてつけているお店もあります。


話は変わりまして。検索機能のアイデア。
お部屋探しサイトのような条件絞込み用のチェックボタン(1DK、オートロック、ペット可などあんなやつ)のついた検索ページは作れないの?と訊かれたので、ちょっと考えてみました。
カラーミーはAND検索ができないので、複数の条件で検索することは、容易ではありません。

そこで。
UNIXのパーミッションのように、1、2、4、8、~というような数字(2のべき乗)に検索条件としての意味を持たせて、「商品詳細」の型番あたりに仕込んでおくと、お客様が選択したいくつかの条件で商品を絞り込める、なんて。
商品登録が面倒ではありますが、非常に面白い機能が付けられると思います。

0・1の二進数を使って、フラグの立っている場所に意味を持たせるというやり方は、UNIXのパーミッションにかぎらず、しばしば見かけるプログラミング・テクニックです。


【関連記事】
カラーミーにできること、できないこと
カラーミー のフリーエリア考察

2010年5月21日

カラーミーのカテゴリー表示 2

【追記】 公式に実装されました。以下は古い記事になります。
当サイトの記事「2011年夏以降の新機能まとめ


カラーミーのカテゴリー表示 1」のつづき。
サンプルを作ってみました。例として、テンプレート「ウッド」を使用しています。id名は任意でどうぞ。

1.テンプレート「商品検索結果」上部の該当箇所に、橙色部分を追加。
<div id="result" style="color:#666;padding:0px 5px;margin-bottom:15px;">
検索条件
[カテゴリー]:<{if $search_category!=""}><strong><{$search_category}></strong><{/if}>
[検索文字]:<{if $search_keyword!=""}><strong><{$search_keyword}></strong><{/if}>
<br />
HIT件数:<strong><{$productlist_num}></strong>件
</div>


<table class="main_title" cellpadding="0" cellspacing="0" border="0" style="margin-bottom:1px;">
<tr><td id="title"><img src="http://img.shop-pro.jp/tmpl_img/11/sp.gif" width="15px" height="5px">▼ 検索結果</td></tr>
</table>

2.テンプレート「商品検索結果」の一番下に新規追加(id="title"、id="result"より下であればOK)。
//条件分岐。見出し変更と関数呼び出し
<{if $search_keyword=="指定なし"}>
  <script type="text/javascript">
  <!--
    document.getElementById("title").innerHTML = "▼ カテゴリー別商品";
    SetCategory("<{$smarty.get.cid}>","<{$search_category}>","<{$shop_name}>");
  //-->
  </script>
<{else}>
  <script type="text/javascript">
  <!--
    document.getElementById("title").innerHTML = "▼ 検索結果";

  //-->
  </script>
<{/if}>

3.JavaScript(外部ファイルの場合は、テンプレート「共通」または「商品検索結果」 の先頭で読み込む。<body>部でOK
//ウィンドウのタイトル変更、パンくずリスト作成
function SetCategory(cid,cname,sname) {
  strTag1=' <a href="./">ホーム</a> > <a href="./?mode=srh&sort=n&cid=';
  strTag2='">';
  strTag3='</a>';
  if(cid != "") {
    document.getElementById("result").innerHTML=strTag1+cid+"%2C0&keyword="+strTag2+cname+strTag3;
    window.document.title = cname + " - " + sname;
  }
  else {
    document.getElementById("result").innerHTML=strTag1+"& keyword="+strTag2+"全ての商品"+strTag3;
    window.document.title = "全ての商品 - " + sname;
  }
}

【参照リンク】
とほほのJavaScriptリファレンス

【関連記事】
独自タグをJavaScriptの関数に渡す

【追記】
以前、Smarty使用しない版を掲載していましたが、差し替えました。こちらのほうが断然良い出来です。
【追記2】
質問コメントがありましたので、手直ししました。
【追記3】
助け合い掲示板にも同様の話題がありました。
【追記4】
JavaScriptを置くレンタルサーバーがない場合は、テンプレート編集の「共通」の先頭が都合よいです。上のをコピペしただけでは動きませんので、下の書き方を参考して下さい。
<script type="text/javascript">
  function SetCategory(cid,cname,sname) {
    ~
  }
</script>

2010年5月20日

カラーミーのカテゴリー表示 1

【追記】 2012/01/31に公式に実装されました。以下は古い記事になります。
当サイトの記事「2011年夏以降の新機能まとめ


「商品を売る」>「商品を管理する」>「カテゴリー管理」

カラーミーショップ!プロは、カテゴリーを作成し商品を分類することができます。
大カテゴリーと、その下に小カテゴリーが作成できます。

まずは、ABCマート(大手の靴屋さん)のHAWKINS(大カテゴリー)をクリックしたときに表示されたページ。

写真1
大カテゴリーをクリックすると、その下にある小カテゴリーのリンク付き画像一覧が表示されます。
カラーミーもこのような表示の仕方をします。お客様によっては、手間と感じることもあるでしょう。
現状カラーミーの仕様では、 
大カテゴリー直下の商品は表示されますが、 大カテゴリー直下の小カテゴリーに入っている商品は表示されません

そこでカラーミーで「大カテゴリーをクリックすると、その下の小カテゴリー内の全商品も表示する」ためにどうしましょうか?
 大カテゴリーを”キーワードなし”で検索し、その結果を表示させる
この方法だと、大カテゴリー下の小カテゴリーの商品を含め全商品が表示可能です。

”キーワードなし”の場合は、あたかも「商品一覧」ページを表示しているかのように
”キーワードあり”の場合は、従来どおり「商品検索結果」ページを表示しているようにします。

具体的には、「商品検索結果」ページの一番下にif文を置きます。検索キーワードで条件分岐します。
<{if $search_keyword == "指定なし"}>
  (大カテゴリーの商品一覧用処理)
<{/if}>
(大カテゴリーの商品一覧用処理)は「document.getElementById(id名).innerHTML」を使用します。
元ページが「商品検索結果」であると見破られないように、ページタイトルを変更、パンくずリストを追加、検索結果を表示している行を削除、などなど見た目を調整します。

「商品一覧」と「商品検索結果」のデザインが比較的似ている場合は、手間少なく作れると思います。
次回はサンプルソースを用意します。


カラーミーのカテゴリー表示 2」につづく。

 
【関連記事】
カラーミーにできること、できないこと

【追記】
・コメントいただいた動的URLとSEOについては、「そんな話がある」程度の認識です。SEOについてなにか書けることは残念ながらございません。
カラーミーショップ - 助け合い掲示板」でときどき話題にあがっていますので、当ブログの読者の方で気になる方は投稿をチェックしてみてください。
Google公式のSEO対策「Google 検索エンジン最適化スターターガイド」。目新しくはありませんが、この程度くらいでいいんじゃないかなと、個人的には思います。

2010年5月19日

カラーミーのフリーエリア考察

メニュー「商品を売る」>「商品を管理する」>「商品登録」

カラーミーショップ!プロにおける、商品登録の入力項目はかっちりと決まっていることがほとんどです。
商品画像の表示数をふやしたい 3」で書いたように、唯一「説明」項目は、 HTMLタグの使用が可能で、文字数を気にする必要もありません(文字数制限はあるかもしれませんが、かなりの文字数が使用可能)。惜しむらくは、唯一無二であるという点。

「商品詳細」ページから呼び出せるフリーの入力エリアがもっとあればなぁと、つねづね思います。
そいういう場所があれば、商品登録時に入力しておいて、商品ページに表示させるという使い方が可能です。
商品画像の表示数をふやしたい 3」のような要望があったときは、フリーエリアに画像ファイル名を入力しておく、とか。
商品ごとに記載したい「なにか」を入力するエリアなど。こういう状況はよくあります。

そういうこともあって、別の項目で代用できないか、検討したことがあります。

・「簡易説明」は文字数制限全角127文字とHTMLタグは使用禁止で、おまけに「商品詳細」ページからは参照できません(「商品一覧」ページから参照可能)。(【追記】2015年6月現在、文字数制限については緩くなっています)

・「型番」は文字数制限半角50文字とHTMLタグは使用禁止で、制限がきびしいです。ただし「商品詳細」「商品一覧」「商品検索結果」の各ページから参照できます。

参照の仕方は、独自タグ(型番の場合は<{$product.model}>、<{$productlist.model}>)をテンプレートのHTMLソース内に埋め込んで、内容を表示させます。

注意すべき点は、独自タグはどのページからでも参照可能というわけではありません。
どのページにどのタグが使用できるかは、「独自タグ」をご覧ください。

商品ごとに入力しておきたい「なにか」がある場合は、選択の余地がほとんどありません。
「普段使っていない項目がある」ことが大前提です(型番を使っているなら、どこも空いていないかもしれません)。

もし「型番」を選んだ場合は、大欠点がひとつあります。
「型番」は注文時の自動配信メール内に「商品番号」として表示されます。
お客様の目にとまりますので、その点注意が必要です。


【関連記事】
商品画像の表示数をふやしたい 3
商品詳細の説明欄と、JavaScript

【追記】
カラーミーで行こう」に、「モバイルショップ商品詳細でも<a><img>などのタグを使う!も<a><img>などのタグを使う!」という記事があります。アイデアに感心しきりです。
「あなたのショップ独自の規則でタグを作る」 →「置換で商品詳細テキストを書き換える」という手順。
この記事との関連もあり、リンクと追記をしました。

2010年5月18日

商品画像の表示数をふやしたい 3

商品画像の表示数をふやしたい 2」からのつづき。

画像データは「商品画像の表示数をふやしたい 1」で書いたように、ロリポップ!ヘテムルのようなレンタルサーバーを借りて、ファイル置き場にします。
問題は、どのようにして商品画像を表示させるのでしょうか?

メニュー「商品を売る」>「商品を管理する」>「商品登録」

写真は商品登録ページの一部です。

「説明」という項目があります。
ここは通常、商品説明文を書く欄です。
前回は、「$product.ot4_url」の行を追加すれば、画像表示できるではないか? という仮定をしてみました(でも独自タグを勝手に作り出すことは無理なんです)。

画像の表示は「説明」という項目内で、HTMLのimgタグを使用します。
HTMLタグが使えるの? と思われたかもしれませんが、商品登録ページの項目で唯一、HTMLタグが使用可能な欄です(ちなみに独自タグは使えない)。
柔軟に使用できる唯一のエリアですので、表示するためにHTMLタグが必要な場合は、ここを利用してみてください。
ページデザインとの兼ね合いで、「説明」を利用できない場合などは、それ以外にも画像を表示する手立てはあります。
以下の関連記事を参考にどうぞ。


【関連記事】
カラーミーのフリーエリア考察

2010年5月17日

商品画像の表示数をふやしたい 2

商品画像の表示数をふやしたい 1」からのつづき。
似ているように感じるかもしれませんが、前回とはまったく別の話になります。

テンプレート内の種類「商品詳細」(カラーミーのデザイン設定 2の写真参照)にあるHTMLソースの画像表示部分を抜粋。
<{if $product.ot1_url != ""}>
  <div class="sub">
    <a target="_blank" href="<{$product.ot1_url}>"><img src="<{$product.ot1_url}>" /></a>
  </div>
<{/if}>
<{if $product.ot2_url != ""}>
  <div class="sub">
    <a target="_blank" href="<{$product.ot2_url}>"><img src="<{$product.ot2_url}>" /></a>
  </div>
<{/if}>
<{if $product.ot3_url != ""}>
  <div class="sub">
    <a target="_blank" href="<{$product.ot3_url}>"><img src="<{$product.ot3_url}>" /></a>
  </div>
<{/if}>
その他画像1のURLが空白でなければ、画像+画像のURLリンクを作成します、という意味です(以下2~3も同様です)。URLは「参照」ボタンをクリックしたあとで、一定の基準にのっとり、自動的に生成されます。

さて、さきほどのHTMLソースに一定の法則性があることに気づきましたか。
もしかしたら、その法則にのっとり、「$product.ot4_url」の行を追加すれば、4枚目の画像が表示できたりして。

なるほど……ですが、そんなことはできません。
$~は独自タグと呼ばれる部分で、われわれで勝手に作ることができないからです。


商品画像の表示数をふやしたい 3」へつづく。

2010年5月16日

商品画像の表示数をふやしたい 1

Color Me Shop! pro - 助け合い掲示板」に「商品詳細」ページの商品画像の表示数をふやしたいという質問がありました。

メニュー「商品を売る」>「商品を管理する」>「商品登録」
写真は商品登録ページの一部です。

カラーミーの商品登録ページ上では「商品画像」(商品一覧のサムネイルとして使ったりする商品の顔ともいうべき画像)1枚と、「その他画像1~3」(細部や付属品、角度を写真などに利用します)3枚の画像をアップロードすることができます。

ショップによっては、枚数が足りないこともあります。


カラーミーには商品登録ページ以外で、画像をアップロードできる場所がひとつあります。
メニュー「お店をつくる」>「画像ファイルを管理する」

ただし、拡張子による制限と、ファイルサイズの制限あり。


・拡張子 jpg、jpeg、gif、png、swf
・ファイルサイズ200KBまで
あまり使いやすい画面ではありませんので、ファイルを頻繁にアップしたり、消したり、ファイルを管理する場所としては適していません。
Webサイトのデザインパーツなど、長期間にわたって入れ替えることのない画像を置く場所としては有効です。

頻繁に、画像ファイルの管理をする必要があるなら、画像置き場として別にサーバー(ロリポップ!が安くていいかも)を借りることを検討した方がいいでしょう。

意外なことに、JavaScript(拡張子js)がカラーミー上に置けない
そのような場合も、レンタルサーバーに置くしかないです。


商品画像の表示数をふやしたい 2」へつづく。

2010年5月15日

サイト制作にかかせないツール類

カラーミーショップ!プロのテンプレートをいじるときもそうですが、「これだけは」というツールがあります。
それは、Firefoxアドオンの「Firebug」です。

サイトデザイン時に幅を調べたり、id名やclass名を調べたり(テンプレート修正にはかなり重要)、さらには、JavaScriptの構文エラー箇所を調べたり、機能は多岐にわたり、非常に強力なツールです。
よくある勘違いを先に書いておくと、このツールはサイト制作を補助してくれるツールであって、制作自体は別のところで行う必要があります。
はじめは、使い方がちょっと難しいですので、のちのち、紹介記事を書きたいと思います。


ついでに、Web制作における便利サイトも紹介します。

ショップを見にきてくれるお客様のブラウザが、Internet Exploror(以下、IE)であるとは限りません。IE用にデザインを組むと、他ブラウザで表示したさいに、がたがたになることはよくあります。

私のようにFirefoxを使用している方もいるでしょう。
Operaや、最近ですとGoogle Chromeもありますし、Macユーザーかもしれません。
勢いのある、iPhoneだって捨てておけません。
IEであってもバージョン6と7とでは、デザインが思っていたように表示できているとは限りません。

手間の面から、全ブラウザをインストールしてチェックというわけにもいかないでしょう。
さまざまなブラウザで、どのような表示がされているかをチェックするサイトがあります(スクリーンショットを撮って見せてくれます)。
それが「BrowserShots」です。
同じような機能を持ったWebサイトで日本語のところもありますので、気に入ったところを探してみてください。

ブラウザが異なることによるサイトデザインの崩れについては、別の機会にいくつかのパターンを紹介できればと思います。

2010年5月14日

カラーミーの商品並び順

カラーミーショップ!プロは、その柔軟なカスタマイズ性によって、大体のことはできるんですが、なぜか商品のソート機能(並び順)が不思議です。

使用しているテンプレートによって若干違うかもしれませんが、基本形は
[並び順を変更] ・おすすめ順 ・価格順 ・新着順
となっています。具体的には、以下のように並び替えられます。

・おすすめ順

商品IDの古いものから新しいもの順(まったくおすすめじゃない)。

・新着順
商品IDの新しいものから古いもの順(商品IDは商品データを新規追加するたびに、より大きな数字が振られる)。
 

・価格順
価格の安いものから高いものへ並べ替えます(昇順・降順の選択はできない)。


なぜか、商品名で並び替えられません。これは不親切で、結構不便です。
商品数がすくないショップでしたら、手動でやっているところもあるようです。この問題ばかりは、ショッピングカート・システムを借りている私たちではどうしようもなく、ペパボが機能を追加してくれることを祈るばかり。


【関連記事】
カラーミーにできること、できないこと

2010年5月13日

カラーミーにできること、できないこと

ショッピングカート「カラーミーショップ!プロ」を借りてネットショップを運営しはじめると、デザイン的(たとえば、2カラムから3カラムにしたい)、機能的(○○はできないのですか? など)な点で疑問が湧いてくることがあります。

はじめて使う方がほとんどですから、「なにができて、なにができないか」は、なかなか想像つかないものです。実践しながら覚えていくもの、とはいえ、他にやることがあるのに、ネットショップの制作ばかりに、時間を割いているわけにはいきません。
そんなときにはまず、「Color Me Shop! pro - 助け合い掲示板」で検索します。

カラーミー運営上の疑問点の多くが、すでに質問としてあげられています。
自分と同じように、ほかのひとも同じことで困っている場合が多いからです。

情報量も多く、私はいまでもよく利用しています。
デザイン的な事柄のほとんどは、HTML・CSSの知識さえあれば自力で解決できます。
しかし、機能的な事柄はショッピングカートを借りているわれわれでは、どうしようもないことがほとんどです。

それゆえに「なにができて、なにができないか」は重要な知識になります。
このブログでも、適宜ご紹介していく予定で、最終的には、まとめページを作成する予定です。


【関連記事】
カラメルとGMOとくとくポイント共通ヘッダー
カラーミーの商品並び順
カラーミーのカテゴリー表示 1(カテゴリー表示について)
カラーミーの検索機能+案
カートに入れるボタンを商品詳細ページ以外に設置する
ほしい物リストを作る 1
最近チェックした商品リストを作る
ショップ独自のポイント制度について 1
SSL対応ページのカスタマイズについて(記事とリンクはのちほど)
送料計算をどうしようか(記事とリンクはのちほど)

2010年5月12日

カラーミーのデザイン設定 3

前回の「カラーミーのデザイン設定 2」 からのつづき。


テンプレートを使って、簡単にページを量産するということを前回書きましたが、もしテンプレート(雛形)がひとつしかなかったら、どうでしょう?

ネットショップをするにあたって、商品ページ以外にも、必要なページがいくつもあります。検索結果を表示するページもそうです。
そういう役割の違うページごとに、いくつかデザインを用意しなければいけません。
ゆえに「種類」という項目があるのです。

いじっているうちに、それだけでは足りないことに気づくと思います。
多くのショップで使用される基本的なページ(共通、トップ、商品一覧など)のテンプレートしか用意していません。

テンプレートに影響されないページを作成するために、フリーページという場所が用意されています(「フリーページ設定」ボタン)。テンプレート(雛形)もない、まっさらなページです。
独自タグ」も(ほぼ)使えません

HTML、CSS(スタイルシート) 、JavaScriptを使い、ショップ独自のページを作成することができます(量産する必要のないページ、たとえば、店舗情報ページなど)。

だとしたらトップページも、ショップにひとつあれば十分なので、「テンプレートではなく、フリーページで作れるのでは」と思われた方もいらっしゃるかもしれません(そして、まさにそのとおりです)。


ただ、そうしないのは、
・フリーページでは「独自タグ」が使用できない
・たとえば、http://www.hogehoge.com/をアドレス入力すると「種類」-トップ(テンプレート)を自動的に表示する
・ショップの顔でもあるトップページのURLがhttp://www.hogehoge.com/?mode=f1ではおさまりがよくない(フリーページのURLはこんなかんじです)

フリーページは、一年目は10ページで、翌年以降増量されます。
4年目以降は100ページまで作成可能。これくらいあれば十分でしょう。

2010年5月11日

カラーミーのデザイン設定 2

前回の「カラーミーのデザイン設定 1」からのつづき。

デザイン設定ページの「デザイン設定」ボタンをクリックすると、テンプレートを編集するページに移動します。
修正の場合は、現在使用中のテンプレートをコピーし、コピーした先を修正しましょう。
プレビューし、思い通りに変更ができれいれば、使用テンプレートを切り替えて移行完了です。


・「初級モード」配色を変えられる。HTMLタグ不要
・「上級モード」HTMLタグ、CSS(スタイルシート)必須

写真をみているだけでも、いじれそうなところが多いように思います。
「種類」は非常に重要です。テンプレートのイメージができていないと理解が進みませんし、「独自タグ」も理解しにくいでしょう。テンプレートガイドを参考にイメージしてください。

こんな疑問ありませんでしたか?
「ネットショップにテンプレート(またはテンプレートエンジン)ってどうして必要なんだろう」
HTMLだけでサイトデザインは可能ですもんね。 
サイトの外観をHTMLタグの知識なしにいじれることもひとつですが、これだけでは理解不十分です(むしろこちらはオマケ)。

ブログをお使いの方は、テンプレートで日記ページを量産していることをご存知かもしれません。商品ページも同様です。
テンプレート(雛形)を一個作って、手間すくなく、ページを量産するためです。

実際にいじってみることが理解への近道です。
くれぐれも、現在使用中のテンプレートでためしたりしませんように(ページを 行ったり来たりしているうちに、現在使用中のテンプレートをいじっていたなんてことが、結構あるんですよ)。


カラーミーのデザイン設定 3」へつづく。

2010年5月10日

カラーミーのデザイン設定 1

カラーミーショップ!プロ、サイトデザインの第一歩目です。
何度もお世話になる「デザイン設定」ページ(メニュー「お店をつくる」>「デザインを設定する」)。

テンプレートは5つまで保存可能で、最初は「新規追加」ボタンからオフィシャルテンプレートを追加するといいでしょう。

デザインするにしろ、カスタマイズするにしろ、ベースの部分は流用するほうが効率的です。



秀逸なのはプレビュー機能です(「Preview」ボタン)。
運営中のショップページのデザインに影響させることなく、テンプレートを手直しすることが可能です。
「Preview」ボタンをクリックすれば、イメージどおり作成できたか確認できます。
JavaScriptが一部動かない、ページ遷移中にプレビューから抜けてしまう、などありますが、非常に便利です。

デザイン(配色や配置など)は影響しませんが、たとえば、ショップバナーの画像をいま使っている画像に上書きした場合は、当然ながら、運営中ショップに影響が出ます。
もうひとつは、メニュー「お店をつくる」で設定した各入力項目も共通で使用していますので、運営中ショップの表記に影響がでます。

上記二点、注意が必要です。


カラーミーのデザイン設定 2」へつづく

2010年5月9日

カラメルとGMOとくとくポイント共通ヘッダー

2009年9月にカラメル出店しているショップに対して、Webサイト上部に「GMOとくとくポイント共通ヘッダー」が強制的に表示されるようになりました。

Color Me Shop! pro - 助け合い掲示板」をみていると、なかなか不評です(販売手数料のことも絡むので複雑な思いもあるかもしれません)。
当然ながら、サイトデザイン的にも大問題です。いくつか問題点をあげてみました。

・マイアカウントへのログインとまぎらわしい
はじめてショッピングカートを使用するお客様もいる、と想定するならば、アカウントへのログインがふたつあるのは非常にわかりにくい。
お客様は「GMOとくとく ID」に登録しないと購入できないように思われる(実際よく訊かれている)。

・サイトデザインの不自由さ
CSS(スタイルシート)で「display:none !important」を指定しても消せない。
ショップの表示よりも読込時間がかかることもあった。
iPhoneで表示させたとき、メニューがガタガタになった(ヘッダーを消したら直った)。

表示・非表示を選べればと思いますが、「助け合い掲示板」に出ていたペパボの返答を読んだかんじだと、今後もその予定はない、という印象でした。

カラメル出店登録、それ自体は無料ですし、自由に選択が可能です。
カラメル出店のメリット・デメリットはすでに記事として書きましたので、以下の関連記事も参考にしてみてください。


【関連記事】
カラメルと販売手数料 1
カラメルと販売手数料 2
カラーミーにできること、できないこと

2010年5月8日

カラメルと販売手数料について 2

カラメルと販売手数料について 1」からの引き続きで、カラメルの販売手数料についてです。
カラメルは出店自体には手数料無料ですが、そのかわりに販売手数料が発生します。
前回書いた条件以外にも発生する場合があります。
「GMOとくとくID」でログインしたユーザーによる商品の購入。(販売手数料:1.5%)
興味のある方は、カラーミー公式の「販売手数料の課金対象について」をご覧下さい。

「GMOとくとくID」でログインし購入したお客様に、商品価格の1.5%のポイントが付与されます。ショッピングモールを宣伝力のあるものにするために、モール独自のポイントを付加することはよくあることです。
ポイントはショップが負担しますので、宣伝広告費として、どう判断するかだと思います。
費用のことばかり書いてきましたが、出店特典もあります。
カード決済を導入するなら、写真真ん中の「とくとくペイメント」が手数料の面でお得です。

2010年5月7日

カラメルと販売手数料について 1

カラメルとは、カラーミーショップ!プロでショップ運営されているお店の集まったショッピングモールです。
GMO(ペパボの親会社)ではショッピングポータルと呼んでいます。

参加しているショップの全商品をリンクすることにより、ショッピングモール「カラメル」を形成しています。
商品ページへの被リンクはSEO的にも有効だといわれており、また、カラメルからの集客もまずまずあります。

そのかわり、販売手数料がかかってきます。
カラメルを一度訪れた後30日以内にショップに訪れて購入した受注の場合、表示されます。(販売手数料:3.5%)
常連のお客様であっても、がんがん販売手数料がとられ、理不尽と感じる方も多いようです。
アフィリエイター(この場合はカラメル)とASP(アフィリエイト・サービス・プロバイダー)が一体で運営されていることにより、成果確認に対する疑念が湧くことが想像できます。

そのことについて、カラーミーユーザーが問い合わせた返答が、「Color Me Shop! pro - 助け合い掲示板」に掲載されていました。
エンドユーザー様が、『カラメル』へアクセスをすると、カラメルのCookieが発行されます。
そのため、カラメル経由からの誘導でなくても、カラメルのCookieを保有しているエンドユーザー様は、販売手数料の対象となります。

最初に引用した部分とあわせると、
カラメルにアクセスすると、Cookieを30日間保有し、その期間内に購入した商品は全部、販売手数料の対象になる
ということのようです。
常連のお客様が販売手数料の対象にされるのは、そういう理由ですね。
カラメル経由からの誘導でなくても」という点は、ショップ運営者にとって悩ましいところです。

参考までに、市場規模の大きくない特定のお客様向けに商品を販売しているオーナーさんに訊いたところ、売上金額の20~30%くらいが販売手数料対象だったとのこと。取り扱い商品にもよると思いますが、参考までに。
月間売上100万円に対して、7,000~10,500円の手数料が発生した計算です。


カラメルと販売手数料について 2」へつづく。

2010年5月6日

カラーミーの決済ページ

カラーミーショップ!プロはデザイン&カスタマイズが比較的容易に行えます。
しかし、SSL(Secure Socket Layer)を使用したページは、ページデザインがほとんどできません(配色、背景画像を変えられるくらい)。

写真は決済ページの一部です。

写真中段に、マイアカウントにログインする場所があります。
ログインすると、すでに登録されているお客様情報が表示されます。
ネットショッピングに慣れていないお客様は、ショッピングカートの利用が苦手なことが多いようです。使い方を丁寧に図解したページを作成したほうがよいと感じます。
私も「わかりにくいなぁ」としばしば感じることがあります。


【関連記事】
SSLページにおける背景画像の表示

2010年5月5日

SSLページにおける背景画像の表示

カラーミーショップ!プロはデザイン&カスタマイズが比較的容易に行えます。
しかし、SSL(Secure Socket Layer)を使用したページのデザインは、配色や背景画像を変えられるくらいです。
「決済」「お問合せ」 「マイアカウント・会員ログイン」「友達に教える」「メルマガ登録・解除」の各ページがSSL対応です(ブラウザで鍵マークが表示される)。
 
CSSでbackground-imageを追加し、SSLページの背景画像を読み込むと、「セキュリティ情報」ダイアログが表示されて「はい」または「いいえ」を選択しないと先に進めないということが起こります。



SSLページの背景画像はSSL対応サーバー上に置かなければいけません。

カラーミーで行こう」 に記事が出ていました。なるほど、勉強になります。
普段使うことの多い、レンタルサーバー「ヘテムル」をサンプルにします(SSL対応サーバー)。
レンタルサーバー「heteml」 - 独自 SSL 設定マニュアルを読むだけでOK。設定は不要でした。
SSL用のURLにするだけなんですね(よくわかっていなかった)。

あとは表示させたいページのclassやidを調べ CSSを追加すれば、「セキュリティ情報」ダイアログが表示されることなく、背景がつけられます(以下はヘテムル使用時のサンプルURLです)。
×SSL非対応 background-image:url(http://hoge.heteml.jp/bg.jpg);
○SSL対応     background-image:url(https://ssl*.heteml.jp/hoge/bg.jpg);

カラーミー標準のファイル置き場( お店をつくる>画像ファイルを管理する)の場合は、URLをhttpsにするだけ。
https://img01.shop-pro.jp/PA01234/001/etc/hogehoge.jpg
背景画像と配色が変更できれば、デザイン的には必要十分と思います。
皆様、ぜひお試しください。


【参考】
カラーミーで行こう(興味深い記事多数、要チェック)

2010年5月4日

カラーミーのマイアカウントページ

ネットショップには不可欠なマイアカウント機能について、お客様からみた場合の話。
カラーミーショップ!プロを使用してすぐに感じたことは、「マイアカウント」ページのしっくりこなさ、です。

カラーミーショップ!プロのマイアカウント機能は、必要最小限です。
マイアカウントにログインして行えることは、お客様情報の更新と、過去の注文履歴を見ることの二点です。

ちなみにマイアカウントは、SSL(Secure Socket Layer) を使用したページになっておりますので、ページデザインはほとんどできません(配色、背景画像を変えられるくらい)。
大手ネット通販サイトではおなじみの「ほしい物リスト」や、同じものを再度購入する際の「お気に入りリスト」などはついていません。

登録情報は、メニュー「商品を売る」>「顧客を管理する」>「顧客表示項目設定」で選択可能。
フリー項目が3つありますので、ショップによって必要な項目が追加できます。
オンラインマニュアル/顧客表示項目設定


【関連記事】
SSLページにおける背景画像の表示

2010年5月2日

カラーミーでショップ運営をはじめよう

ネットショップ運営にかかせないショッピングカート・システムにはいくつかあります。
代表的なひとつに、株式会社paperboy&co.(略称:ペパボ)の「カラーミーショップ!プロ」があります。
柔軟なカスタマイズ性と費用が安い点が大きな特徴です。

それでは、カラーミーを導入するに当たって、
・ショップを作成のにどのくらい手間がかかるの?
・どのくらい難しいの?
など、踏み込んだ部分が気になるところ。

そのようなところは、無料お試し期間のあいだに、「ショップ開店への道(基本編)」を読み、練習すると良いです。
オンラインマニュアルも充実していますので、初心者の方も根気よく読みこなせばなんとかなるかと思います。

2010年5月現在、30個のテンプレート(たまに追加されます)が用意されています。
写真はそのうちの一部です。

ショップ関連の情報(事務周りもろもろ)、販売商品の登録などを行えば、すぐに運営開始できます。
ただ、既存のテンプレートはあらゆるお店を対象とした、オーソドックスなタイプなので、使っているうちに、自分のショップ用にカスタマイズしたくなります。
Webサイト制作の知識があるかどうかで、デザイン&カスタマイズの第一歩目は変わってきます。

・初級(HTMLの知識なし)
用意されているテンプレート(画像・ボタン・配色などの雛形)から、好きなデザインを選択してショップデザインを行います。
カラーミーのデザイン変更には、初級モード、上級モードとあり、初級モードはHTMLを知らなくても、配色(文字色、背景色)を変えることができます。
先に進むためには、HTML(Webページを記述するためのマークアップ言語)の学習が不可欠です。上級モードを使用すれ ば、まったく別のページに作り変えることができます。

・中級(HTMLの知識あり)
上級モードの使用には、CSS(スタイルシート)の知識が必要です。
わずかでもWebサイト制作経験があれば、なんとなくいじれます。

・上級(JavaScriptの知識が少しある)
サンプルをコピペしたことがあるくらいで十分ですが、JavaScriptをすこし知っているなら、実践で勉強しながら十分なんとかなります。
このブログも回を重ねていったころには、Ajax(Asynchronous JavaScript + XML)を使ったり、jquery(JavaScript汎用ライブラリ)を勉強していきます。
また、カラーミーはSmartyとよばれるテンプレートエンジンを使用しています。ここらをいじらなければ、カスタマイズの幅は広がりません。


【追記】
カラーミーでショップ運営をはじめよう(2011年3月版)」を新たな記事として更新しました。

2010年5月1日

カラーミー解説サイトをはじめます

カラーミーショップ!プロ(Color Me Shop! Pro)をいじること一年。
クライアント様から無理難題(!?)を吹っかけられたおかげで、カラーミーの仕様はもちろんのこと、思いも寄らぬアイデアから便利機能まで、他に類を見ない(かもしれない)作成経験を獲得する機会を得ました。

記憶力の悪い脳内に保管するだけではもったいないので、備忘録代わりにブログを立ち上げました。

腕に自信がある方は(もちろん私はその結果に責任を取れませんが)ばりばり流用してください。
ちょこっと口コミで宣伝してくださるとうれしいです。

本業の合間に作っているサイトではありますが、私がすでに知っていること、検討したことをご提供できればと考えています。
このページがお役に立てましたら、リンク(アフィリエイト)を踏んでいただけるとありがたいです。