Symfony と WordPressの連携の際に重なってしまう関数

Symfony と WordPressの連携の際に重なってしまう関数として esc_js()がある。

Symfonyのコアファイルのlib/helper/EscapingHelper.phpで定義されている。

これをdefine(‘ESC_JS’, ‘esc_js’);とともにコメントアウトしてしまえば大丈夫なのだけど、こうするとコアファイルをいじることになるので、アップグレードの時に面倒になる。

ほんとはコアファイルに手をいれずに変更できればいいのだけど、EscapingHelper.phpの読み込みはlib/view/sfPHPView.class.phpの44行目あたりの

    $helpers = array_unique(array_merge(array('Helper', 'Url', 'Asset', 'Tag', 'Escaping'), sfConfig::get('sf_standard_helpers')));

で指定されていて、settings.ymlのstandard_helpersで指定しても追加されるだけになってしまう。

と思いきやlib/config/sfApplicationConfiguration.class.phpをみるとgetHelperDirsでhelperを読み込むディレクトリをとってきてる。というわけでプロジェクトディレクトリのapps/front/lib/helper/にEscapingHelper.phpをコピーして該当行をコメントアウトすることで対応できた。

ただ、このファイルがバージョンアップしたときには、ここにコピーし直して同じ作業を擦る必要があるので注意しておかないとまずそう。

Share on Facebook
このエントリーをはてなブックマークに追加
はてなブックマーク - Symfony と WordPressの連携の際に重なってしまう関数
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です