Eccube\Event\TemplateEvent::setSource PHP Method

setSource() public method

public setSource ( string $source )
$source string
    public function setSource($source)
    {
        $this->source = $source;
    }

Usage Example

Exemplo n.º 1
1
 /**
  * 商品一覧画面にカテゴリコンテンツを表示する.
  *
  * @param TemplateEvent $event
  */
 public function onRenderProductList(TemplateEvent $event)
 {
     log_info('CategoryContent Product/list.twig start');
     $parameters = $event->getParameters();
     // カテゴリIDがない場合、レンダリングしない
     if (!$parameters['Category']) {
         return;
     }
     // 登録がない、もしくは空で登録されている場合、レンダリングをしない
     $Category = $parameters['Category'];
     $CategoryContent = $this->app['eccube.plugin.category_content.repository.category_content']->find($Category->getId());
     if (!$CategoryContent || $CategoryContent->getContent() == '') {
         return;
     }
     // twigコードにカテゴリコンテンツを挿入
     $snipet = $this->app['twig']->getLoader()->getSource('CategoryContent/Resource/template/default/category_content.twig');
     $sourceOrigin = $event->getSource();
     $search = self::CATEGORY_CONTENT_TAG;
     if (strpos($sourceOrigin, $search)) {
         // タグの位置に挿入する場合
         log_info('Render category content with ', array('CATEGORY_CONTENT_TAG' => $search));
         $replace = $search . $snipet;
     } else {
         // Elementを探して挿入する場合
         $search = '<div id="result_info_box"';
         $replace = $snipet . $search;
     }
     $source = str_replace($search, $replace, $sourceOrigin);
     $event->setSource($source);
     // twigパラメータにカテゴリコンテンツを追加
     $parameters['PluginCategoryContent'] = $CategoryContent;
     $event->setParameters($parameters);
     log_info('CategoryContent Product/list.twig end');
 }
All Usage Examples Of Eccube\Event\TemplateEvent::setSource