ブログ名の設定は、まだ。 ネット社会の一粒の"地の塩"でありたいと思っています。

EC-CUBEで「URLを正しく入力してください」という警告の件。

2016年08月24日 · カテゴリ:EC-CUBEの話

EC-CUBEで、オリジナルで作成していたページの修正を管理画面で行い、保存しようとすると、
※ URLを正しく入力してください。
という警告が出るようになりました。

しかも、突然。
なにもしていないにの。

EC-CUBEバージョンは古く、2.12.0。

管理画面の、デザイン管理>PC>ページ詳細設定と進んで
とあるページの詳細の編集をクリックした画面です。
URLの欄で
http://example.jp/user_data/[  ].php(上限50文字)
というところの下に赤く出る警告です。
phpのファイル名は変更していませんが、そもそもテキストBOXの中にあるPHP名のテキストがDisabledになっていて変更ができない状態でした。

ページのソースを見ると
<input type=”text” name=”filename” value=”fax_order” maxlength=”50″ style=”” ime-mode: disabled;” size=”40″ class=”box40″>.php

上記のソースでは、styleが””となって(”が2つなので)閉じられていて、本来style内で「;」で繋ぐべきime-mode:が外に出てしまっていました。
これが原因だろうということでmain_edit.tplを修正することに。
(まあ、発見して修正してくれたのは私の師匠でもあるプログラマさんですがww)

この編集画面はmain_edit.phpなので、そのテンプレートであるmain_edit.tplは、
data/Smarty/templates/admin/design/main_edit.tpl
にあり、その70行目あたりにある記述を見てみました。

(修正前)
<input type=”text” name=”<!–{$key}–>” value=”<!–{$arrForm[$key].value|h}–>” maxlength=”<!–{$arrForm[$key].length|h}–>” style=”<!–{$arrErr[$key]|sfGetErrorColor}–>” ime-mode: disabled;” size=”40″ class=”box40″ />.php

(修正後)
<input type=”text” name=”<!–{$key}–>” value=”<!–{$arrForm[$key].value|h}–>” maxlength=”<!–{$arrForm[$key].length|h}–>” style=”<!–{$arrErr[$key]|sfGetErrorColor}–>; ime-mode: disabled;” size=”40″ class=”box40″ />.php

ime-modeの手前にある閉じの「”」を「;」に変えただけですが、これでうまくいきました。

しかし、main_edit.tplのタイムスタンプは4年前なので、なぜいままでこの壊れたマークアップで動いていたのか不思議です。

さすがEC-CUBE品質。
オープンソースなので文句は言えないところです。

« 1つ古い記事:

1つ新しい記事: »

Leave a Reply

Trackback URL

記事テーマと関係ないとか、リンクがない場合(一方的TB)、あとアダルトサイトは申し訳ないですが承認しませんので予めご了解ください。またrel="nofollow"つけてるので、SEOのリンクジュースが目的のコメント、TBは残念ながら効果が無いと思います。予めご承知おきください。