GoogleMapの表示においてAPIキーが必須になったため、以下の方法で、
基本情報設定>ショップマスターの地図設定欄にAPIキーの入力ボックスを追加します。
APIキーを入力しないと、「当サイトについて」の地図は表示されません。
この記事のインデックス
▼データベースの追加
——————————————
ALTER TABLE dtb_base_info ADD mapapi text;
——————————————
▼ファイルの修正
1 管理画面(基本情報設定>SHOPマスター)
(1)■src/Eccube/Entity/BaseInfo.php
① 追加
// ▼GoogleMapのAPIキー private $mapapi;
② 追加
// ▼GoogleMapのAPIキー public function setMapapi($mapapi) { $this->mapapi = $mapapi; return $this; } public function getMapapi() { return $this->mapapi; }
(2)■src/Eccube/Resource/doctrine/Eccube.Entity.BaseInfo.dcm.yml
manyToOne: の前に追加
mapapi: type: text nullable: true
(3)■src/Eccube/Form/Type/Admin/ShopMasterType.php
->add('mapapi', 'text', array( 'label' => 'GoogleMapのAPIキー', 'required' => false, 'constraints' => array( new Assert\Length(array( 'max' => $config['lltext_len'], )), ) ))
(4)■src/Eccube/Resource/template/admin/Setting/Shop/shop_master.twig
① 変更
<h3 class="box-title">地図設定</h3>
↓
<h3 class="box-title">地図設定<span style="font-weight:normal;color:#C00;">(すべてを入力しないと地図は表示されません)</span></h3>
② {{ form_row(form.longitude) }} の次に追加
{{ form_row(form.mapapi) }}
2 当サイトについて
■src/Eccube/Resource/template/default/Help/about.twig
26行目付近を変更
{% if BaseInfo.latitude is not null and BaseInfo.longitude is not null %} <script src="//maps.googleapis.com/maps/api/js?sensor=false"></script>
↓【変更】
{% if BaseInfo.latitude is not null and BaseInfo.longitude is not null and BaseInfo.mapapi is not null %} <script src="//maps.googleapis.com/maps/api/js?key={{ BaseInfo.mapapi }}&sensor=false"></script>