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