顔認識ライブラリを利用した商品ナビゲーション

 EC-CUBE 上の商品を閲覧していて、ちょっと自分の興味とは違うかな?という場合に首をかしげることがあると思います。その場合に自動で商品が切り替わると素晴らしいのではないでしょうか。
今回 EC-CUBE と顔認識ライブラリの facekit を組み合わせてそれを実現しました。首をかしげると商品をランダムで表示します。
1. 「なんかちがうな~」ということで首をかしげると
200904011717
2. ランダムで別の商品を表示
200904011719
 /data/class/pages/products/LC_Page_Products_Detail.php についてモード切替部分に以下を追加して編集します。

case 'shff':
            $arrProduct = $objQuery->select("*", "vw_products_allclass_detail AS alldtl", "del_flg = 0 AND status = 1");
            $tmp_id_n   = rand(0, count($arrProduct) - 1);
            $tmp_id     = $arrProduct[$tmp_id_n]['product_id'];
            break;


次に商品詳細のテンプレートについて以下を追加します。

<!--{* 顔認識操作用 *}-->
    <div style="width:580px; text-align:center;">
    <div id="flashcontent"></div>
    <script src="http://facekit.net/javascripts/swfobject.js" type="text/javascript"></script>
    <script type="text/javascript">
      function getResult(value) {
        var data = eval("("+value+")");
        if(data.label == "left" || data.label == "right") {
          document.form1['mode'].value = 'shff';
          document.form1.submit();
        }
      }
    </script>
    <script type="text/javascript">
      var so = new SWFObject("http://facekit.net/flash/facekit_1", "facekit_1", "320", "263", "9", "#869ca7");
      so.addVariable("callback", "getResult");
      so.addParam("allowScriptAccess", "always"); 
      so.write("flashcontent");
    </script>
    </div>
<!--{* 顔認識操作用 *}-->


動作にはウェブカメラの接続が必要です。以上でおわりです。これで売上アップ間違い無しですね。