问题描述
我正在使用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);
解决方法
您忘记了[
{
"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,我们正是在其中完成了您要尝试的操作。