我正在使用Shopware6。我想在Shopping Experiences的下拉列表中添加一个类别,并将自定义元素保存在那里。所以我做了一个插件并添加了相应的代码。
我的composer.json
{
"name": "company/company-elements",
"description": "Elements for the company",
"type": "shopware-platform-plugin",
"license": "MIT",
"authors": [
{
"name": "",
"homepage": ""
}
],
"autoload": {
"psr-4": {
"Company\\CompanyElements\\": "src/"
}
},
"extra": {
"plugin-icon": "src/Resources/config/plugin.png",
"shopware-plugin-class": "Company\\CompanyElements\\CompanyElements",
"label": {
"de-DE": "Elemente für Firma",
"en-GB": "Elements for Company"
}
}
}
我的班级
<?php declare(strict_types=1);
namespace Company\CompanyElements;
use Shopware\Core\Framework\Plugin;
class CompanyElements extends Plugin
{
}
在我的插件中,我有这个结构
我的index.js
import template from './sw-cms-sidebar.html.twig';
Shopware.Component.override('sw-cms-sidebar', {
template
});
我的模板:
{% block sw_cms_sidebar_block_overview_category_options %}
{% parent %}
<option value="custom">Custom</option>
{% endblock %}
很遗憾,我没有在下拉列表中看到该类别。而且我不知道我的错误在哪里...
编辑:我也有一个main.js与
import './extension/sw-cms/component/sw-cms-sidebar';
import './module/sw-cms/elements/eurobaustoff-catalog';
import './module/sw-cms/blocks/text-image/catalog';
import deDE from './module/sw-cms/snippet/de-DE.json';
import enGB from './module/sw-cms/snippet/en-GB.json';
Shopware.Locale.extend('de-DE', deDE);
Shopware.Locale.extend('en-GB', enGB);
答案 0 :(得分:0)
您忘记了[
{
"operation": "shift",
"spec": {
"*": {
"date": "[&1].date",
"state_cd": {
"CA": {
"#1": "[&3].ca_ind"
},
"*": {
"#0": "[&3].ca_ind"
}
}
}
}
}
]
,它会被webpack编译器自动检测到。您始终需要此条目文件。
在此src/Resources/app/administration/src/main.js
中,您必须包括所有模块。
就您而言:
main.js
您可以查看我们的CMS Grid Blocks Plugin,我们正是在其中完成了您要尝试的操作。