1

我想扩展 SW 的响应主题,添加一些自定义配置但不显示主要主题配置。

到目前为止我做了什么:

  1. 通过后端创建一个新主题并选择响应式作为基础主题
  2. 编辑 Theme.php 以包含以下内容:

    public function createConfig(Form\Container\TabContainer $container) {
    
    $fieldset = $this->createFieldSet(
        'my_custom_settings',
        'My custom settings'
    );
    
    $tab = $this->createTab(
        'my_custom_tab',
        'My custom tab'
    );
    
    $tab->addElement($fieldset);
    
    $container->addTab($tab);
    

仅此一项就导致无法从后端编译主题。我做错什么了吗?

ParseError:第 1 行第 3152 列的意外输入 1| @setPrecomposed:1;@offcanvasCart:1;@offcanvasOverlayPage:1;@focusSearch:;@displaySidebar:1;@checkoutHeader:1;@checkoutFooter:1;@infiniteScrolling:1;@infiniteThreshold:4;@lightboxZoomFactor:0;@品牌主:#000;@brand-primary-light:饱和(变亮(@brand-primary,12%),5%);@brand-secondary:#5F7285;@brand-secondary-dark:变暗(@brand -secondary, 15%);@gray: #fff;@gray-light: 变亮(@gray, 1%);@gray-dark: 变暗(@gray-light, 10%);@border-color: @gray -dark;@highlight-success: #2ECC71;@highlight-error: #E74C3C;@highlight-notice: #F1C40F;@highlight-info: #4AA3DF;@body-bg: 变暗(@gray-light, 5%) ;@text-color:@brand-secondary;@text-color-dark:@brand-secondary-dark;@link-color:@brand-primary;@link-hover-color:darken(@link-color, 10 %);@rating-star-color: @highlight-notice;@overlay-bg:

4

1 回答 1

0

我刚遇到类似的问题,是Shopware默认将所有主题配置字段提交给LESS造成的。有问题的是没有实际的字段添加到字段集中,所以可能当时 Shopware 没有正确处理这种情况,目前空字段集编译正常,但如果字段值与 LESS 不兼容,仍然会出现类似的错误。为了排除字段被添加到 LESS,有一个lessCompatible字段设置属性。例如:

$fieldSet->addElement(
    $this->createMediaField(
        'desktopLogo',
        '__desktop__',
        'frontend/_public/src/img/logos/logo--tablet.png',
        ['attributes' => ['lessCompatible' => false]]
    )
);

这是来自 Bare 主题的 Theme.php 文件。似乎这个属性不能添加到字段集默认值中,应该单独添加到每个字段中。

于 2018-05-09T12:25:26.570 回答