2012年10月6日カテゴリー:未分類

EC-CUBE2.12:GoogleMapを商品詳細ページに表示する

▼管理画面での登録

クリックすると、本サイトでカスタマイズした「colorbox」で開きます。

サンプルはこちら

(1)データベース(dtb_products)にカラムを追加

[php]
ALTER TABLE dtb_products ADD map_url text
[/php]

(2)ファイルに追加
■data/class/pages/admin/products/LC_Page_Admin_Products_Product.php(3カ所)
 function lfInitFormParam(&$objFormParam, $arrPost)内の「$objFormParam->addParam(“メーカーURL”・・・」の次に

[php]
$objFormParam->addParam(“地図 URL”, “map_url”, STEXT_LEN, ‘KVna’, array(“SPTAB_CHECK”, “MAX_LENGTH_CHECK”)); // ■GoogleMap ①/③
[/php]

 986行目あたりの「// 配列の添字を定義」の箇所に、’map_url’を追加する。

[php]
‘sale_limit’, ‘deliv_date_id’, ‘maker_id’, ‘note’);

↓(変更)

‘sale_limit’, ‘deliv_date_id’, ‘maker_id’, ‘note’, ‘map_url’); // ■GoogleMap②/③
[/php]

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

[php]
$sqlval[‘map_url’] = $arrList[‘map_url’]; // ■GoogleMap ③/③
[/php]

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

[php]

地図 URL
(緯度・経度を入力)
① Googleマップにアクセスします。 http://maps.google.co.jp/
② 表示したい場所を検索します。
③ 地図上の目的の場所で右クリックして,メニューから「この場所について」を選択して緯度と経度を取得します。
入力例) 34.683652,135.491531

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

[php]

地図 URL


[/php]

■class/SC_Product.php 621行目あたりの「,dtb_products.note」の次に追加

[php]
,dtb_products.map_url
[/php]

■data/Smarty/templates/default/products/detail.tpl

★class=”cbox_map”は、ColorBoxが適用されていることを前提にした記述。ColorBoxを適用しない場合は、target=”_blank”に変更すると新しいウィンドウでマップが表示される。
または、下記のように記述すれば、ポップアップウィンドウで開くこともできる。

■data/Smarty/templates/default/site_frame.tpl

ColorBoxが適用されている場合は下記を追加。(地図表示にColorBoxを利用)
$(“.cbox_map”).colorbox({width:”650″, height:”500″, iframe:true}); ←スクリプトに追加する行

[php]


[/php]

(3)html/productsフォルダに、新たに「g_map.php」を作成する。
■g_map.php

[php]






GoogleMap


‘);
print(‘‘);
}
else {
print(‘‘);
print(‘‘);
}
?>





[/php]