如何:自定义产品列表页Shopware 6

时间:2020-08-30 09:07:33

标签: symfony twig shopware shopware6

我想在Shopware 6中创建一个自定义页面,其中包括侧栏过滤器块。 1.st我用加载index.html.twig的自定义路由创建了控制器。索引文件从默认店面索引文件扩展而来,该默认店面索引文件从base.html.twig扩展。 在我的index.html.twig文件中,我包含了@ Storefront / storefront / block / cms-block-sidebar-filter.html.twig文件,但在我的tpl中此文件为空。 我认为这是重复使用过滤器的错误方法。 你有什么想法想出来吗?

花点时间

  1. 具有自定义路线的控制器

    $page = $this->genericPageLoader->load($request, $scontext);
    
    return $this->renderStorefront('@DRGeolocation\storefront\index.html.twig', [
         'page' => $page,
         'range' => 15,
         'sellers'=> $sellers,
         'config' => $config['config']
         ,
         'block'=> $element
     ]);
    

index.html.twig

{% sw_extends '@Storefront/storefront/page/content/index.html.twig' %}
  {% block page_content_blocks %}
  ...
  {% sw_include ('@Storefront/storefront/block/cms-block-sidebar-filter.html.twig') %}
  ....

cms-block-sidebar-filter.html.twig

{% block block_sidebar_filter %}
{% set element = block.slots.getSlot('content') %}
{% set columns = 1 %}

<div class="col-12" data-cms-element-id="{{ element.id }}">
    {% block block_sidebar_filter_inner %}
        {% sw_include "@Storefront/storefront/element/cms-element-" ~ element.type ~ ".html.twig" ignore missing %}
    {% endblock %}
</div>
{% endblock %}

//result: <div class="col-12" data-cms-element-id=""></div>

0 个答案:

没有答案