操作
Bug(バグ) #3350
未完了レイアウトファイル内ローカルナビゲーションのコンポーネント呼び出しでオプションが考慮されていない
開始日:
2013-05-13
期日:
進捗率:
0%
予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)
説明
概要¶
レイアウト部分では下記の様に localNavOptions が設定されているが,この設定をコンポーネント側で考慮していない.
実害としてはいまのところ特に無さそうだが,レイアウト自身をカスタマイズしたり別のレイアウトを用いている場合に影響がある可能性がある. localNav コンポーネントで指定するか,コンポーネント呼び出し時に指定するかなど統一しておいたほうがよさそう.
apps/pc_frontend/templates/_layout.php 33 $localNavOptions = array( 34 'is_secure' => opToolkit::isSecurePage(), 35 'type' => sfConfig::get('sf_nav_type', sfConfig::get('mod_'.$module.'_default_nav', 'default')), 36 'culture' => $context->getUser()->getCulture(), 37 ); 38 if ('default' !== $localNavOptions['type']) 39 { 40 $localNavOptions['nav_id'] = sfConfig::get('sf_nav_id', $context->getRequest()->getParameter('id')); 41 } 42 include_component('default', 'localNav', $localNavOptions);
コンポーネント部分.
apps/pc_frontend/modules/default/actions/components.class.php 22 public function executeLocalNav() 23 { 24 if (!opToolkit::isSecurePage()) { 25 return sfView::NONE; 26 } 27 28 $context = sfContext::getInstance(); 29 $module = $context->getActionStack()->getLastEntry()->getModuleName(); 30 $action = $context->getActionStack()->getLastEntry()->getActionName(); 31 32 $this->type = sfConfig::get('sf_nav_type', sfConfig::get('mod_' . $module . '_default_nav', 'default')); 33 34 $this->navs = Doctrine::getTable('Navigation')->retrieveByType($this->type); 35 36 if ('default' !== $this->type) 37 { 38 $this->navId = sfConfig::get('sf_nav_id', $context->getRequest()->getParameter('id')); 39 } 40 }
操作