サイト名にシングルクォートを使えるようにして欲しい

バージョン4系を使っています。
サイト名の最後に’s (シングルクォート+S)をつけた場合、
google map API 用の javascript 生成で問題が発生します。

javascript の中にサイト名が展開されるため 's の部分で文字列が途切れてエラーになります。
これで地図が表示できずにかなり悩みました。
自分の対応としては、涙をのんで ’ を外しています。
対応してもらえると嬉しいなぁ。
時間があれば、javascript 生成の部分にエスケープ文字を入れるのですが。。。

ymatsu8801さん

お使いのテーマの Elements ディレクトリ内に google_maps.php があれば

$_markerText = '<span class="sitename">' . $this->BcBaser->siteConfig['name'] . '</span><br /><span class="address">'

となっている箇所を

$_markerText = '<span class="sitename">' . h($this->BcBaser->siteConfig['name']) . '</span><br /><span class="address">'

に修正されてはいかがでしょう?

テーマの Elements ディレクトリ内に google_maps.php がないときは、 /lib/Baser/View/Elements 内の google_maps.php をテーマ内の Elements ディレクトリにコピーした上で、上記と同様の修正を行ってみてください。

サイト名や住所にシングルクオートが含まれているときの表示不具合修正を送っておきました。

1 Likes

teckingさん、ありがとうございます。
うまく行きました。
言われてみれば、なるほどって感じです。
頭硬いですねぇ。

しかし、Google map の表示のための住所って、いったん保存してまた管理画面でみると
「福岡県」だけになってるのは何かの不具合でしょうか?
DB上はちゃんと住所が入っているので表示さるのですが。

こちらの環境では正常に動作しているのですが、ymatsu8801さんの環境では再現性のある現象でしょうか? DBに格納されているのに管理画面に表示されないというのも謎ですね…

はい、再現します。
色々とカスタマイズはしていますが、baser の管理画面はいじっていないはずですので、謎です。