EC-CUBE:YouTube動画を商品詳細ページに表示する

(1)データベースにカラムを追加
—————————————-
テーブル名:dtb_products
フィールド:youtube
種別:TEXT
長さ:120
NULLに設定する
—————————————-
(2)ファイルに追加
■data/class/pages/admin/products/LC_Page_Admin_Products_Product.php(3カ所)
 function lfInitFormParam(&$objFormParam, $arrPost)内の「$objFormParam->addParam(“メーカーURL”・・・」の次に

 $objFormParam->addParam("YouTube動画", "youtube", STEXT_LEN, 'KVna', array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); // ■youtube ①/③

 986行目あたりの「// 配列の添字を定義」の箇所

 "sale_limit", "deliv_date_id", "maker_id", 'note');
 ↓
 "sale_limit", "deliv_date_id", "maker_id", 'note', "youtube"); // ■youtube ②/③

 上記の下「// INSERTする値を作成する。」の箇所
$sqlval[‘creator_id’] = $_SESSION[‘member_id’];の次に

 $sqlval['youtube'] = $arrList['youtube']; // ■youtube ③/③

■data/Smarty/templates/admin/products/product.tpl 「メーカーURL」の行の下に追加

 <tr>
 <th>YouTube動画URL</th>
 <td>
 <span class="attention"><!--{$arrErr.youtube}--></span>
 <div style="font-size:12px; line-height:1.5em;">
 ①&nbsp;YouTubeにアクセスします。&nbsp;<a href="http://www.youtube.com/" target="_blank">http://www.youtube.com/</a><br />
 ②&nbsp;目的の動画のページを開きます。<br />
 ③&nbsp;下に示すように,アドレスバーのURLから<font color="#FF0000">xxxxxxxxxxx</font>の箇所だけをコピーして貼り付けます。<br />
 &nbsp;&nbsp;http://www.youtube.com/watch?v=<font color="#FF0000">xxxxxxxxxxx</font>&amp;feature=player_embedded<br />
 <span style="color: #909;">入力例)&nbsp;oVHzyiD8d6o</span>
 </div>
 <span class="attention"><!--{$arrErr.youtube}--></span>
 <input type="text" name="youtube" value="<!--{$arrForm.youtube|h}-->" size="60" class="box60" style="<!--{$arrErr.youtube|sfGetErrorColor}-->" />
 </td>
 </tr>

■data/Smarty/templates/admin/products/confirm.tpl 「メーカーURL」の行の下に追加

 <!--▼YouTube▼-->
 <tr>
 <th>YouTube動画</th>
 <td>
 <!--{if $arrForm.youtube != ""}-->
 <!--{if $arrForm.youtube}-->
 <object width="360" height="236">
 <param name="movie" value="http://www.youtube.com/v/<!--{$arrForm.youtube|h}-->?version=3&amp;hl=ja_JP&amp;rel=0"></param>
 <param name="allowFullScreen" value="true"></param>
 <param name="allowscriptaccess" value="always"></param>
 <param name="wmode" value="transparent">
 <embed src="http://www.youtube.com/v/<!--{$arrForm.youtube|h}-->?version=3&amp;hl=ja_JP&amp;rel=0" type="application/x-shockwave-flash" wmode="transparent" allowscriptaccess="always" allowfullscreen="true" width="360" height="236"></embed>
 </object>
 <!--{/if}-->
 <!--{else}-->
 <!--{/if}-->
 </td>
 </tr>
 <!--▲YouTube▲-->

■class/SC_Product.php 691行目、「,dtb_products.note」の次に追加

 ,dtb_products.youtube

■data/Smarty/templates/default/products/detail.tpl
・・・画像を拡大するの次へ挿入。

 <!--▼YouTube▼-->
 <!--{if $arrProduct.youtube != ""}-->
 <div id="youtube">
 <object width="260" height="180">
 <!--{if ($smarty.server.HTTPS != "") && ($smarty.server.HTTPS != "off")}-->
 <param name="movie" value="https://www.youtube.com/v/<!--{$arrProduct.youtube|escape}-->&hl=ja&fs=1"></param>
 <!--{else}-->
 <param name="movie" value="http://www.youtube.com/v/<!--{$arrProduct.youtube|escape}-->&hl=ja&fs=1"></param>
 <!--{/if}-->
 <param name="allowFullScreen" value="true"></param>
 <param name="allowscriptaccess" value="always"></param>
 <param name="wmode" value="transparent">
 <!--{if ($smarty.server.HTTPS != "") && ($smarty.server.HTTPS != "off")}-->
 <embed src="https://www.youtube.com/v/<!--{$arrProduct.youtube|escape}-->&hl=ja&fs=1" type="application/x-shockwave-flash" wmode="transparent" allowscriptaccess="always" allowfullscreen="true" width="260" height="180"></embed>
 <!--{else}-->
 <embed src="http://www.youtube.com/v/<!--{$arrProduct.youtube|escape}-->&hl=ja&fs=1" type="application/x-shockwave-flash" wmode="transparent" allowscriptaccess="always" allowfullscreen="true" width="260" height="180"></embed>
 <!--{/if}-->
 </object>
 </div>
 <!--{else}-->
 <!--{/if}-->
 <!--▲YouTube▲-->