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

问题描述

我想在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>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)