2012年3月19日月曜日

sfTwigPluginのぐぬぬぬぬ

sfTwigPluginを導入するとmodule.ymlを見て
ビューをsfTwigPartialViewとかsfPHPとか切り替わる仕組みが
あるわけですが

これモジュールを超えてパーシャルファイルを呼び出すと
{{ 'module/list'|include_partial() }}
とか殺るんですよね?
これおもいっきり動作しないわけでソース見て動作見ると

PartialHelper.phpとかにあったりするわけですが
get_partial()の中で


  $class = sfConfig::get('mod_'.strtolower($moduleName).'_partial_view_class', 'sf').'PartialView';
  $view = new $class($context, $moduleName, $actionName, '');

こんなんやってまして、
  'mod_content_view_class' => string 'sfTwig' (length=6)

  'mod_content_partial_view_class' => string 'sfTwig' (length=6)
こんなんなってんですよ。
こっちが欲しいのは

  'mod_module_view_class' => string 'sfTwig' (length=6)

  'mod_ module_partial_view_class' => string 'sfTwig' (length=6)
なんすよ。
自分のルートしかコンフィグ持ってないようでモジュールを超えると手に入らず
おもいっきりデフォルトのsfPHPに行っちゃうわけですよ。

仕方ないからTwigを必ず使うことにして


    $class = 'sfTwigPartialView';
ってしちゃいましたよ。

そしたらbackendでcacheが自動的にできる際にphpしかつくらねーわけで
そのせいでビューがTwigに対応してない。
backendのときはしょうがないのでsfPHPにする必要が出た。

if('frontend' == sfConfig::get('sf_app'))
  {
    $class = 'sfTwigPartialView';
  }

これで対処とか、もうやってられねー。
つかTwig使う利点に出くわせなくなってきたよ。。。


0 件のコメント:

コメントを投稿