javascript - shopping world element如何进入系统商城?

标签 javascript php extjs4.1 shopware

我正在尝试向自定义购物世界元素添加带有类别选择的下拉菜单,我尝试基于 this 创建插件例子。我添加了一个新的组合框字段

$vimeoElement->createComboBoxField([
    'name' => 'cat',
    'fieldLabel' => 'Category',
    'supportText' => 'Select category',
    'allowBlank' => false,
    'store' => 'Shopware.apps.Base.store.Category'
]);

它已经以购物元素的形式出现了,但是当我点击它的时候,出现了一个JavaScript错误:

"Cannot read property 'type' of undefined"

在准备组合框模板时发生。我无法确定导致此错误的确切原因,因此我尝试使用 JavaScript 创建自己的字段,但我也无法使用 JavaScript 从商店获取类别列表。

Ext.create('Ext.form.field.ComboBox', {
    xtype:'combobox',
    fieldLabel: 'Select Category',
    store: Shopware.apps.Base.store.Category,
    name: 'category'
});

这失败了:

"Cannot read property 'getProxy' of undefined".

尝试使用 .getRange() 直接从商店获取项目或使用 .load() 加载项目是行不通的 - 对象中没有这样的方法。

我是否尝试访问错误的商店?还有一个 Shopware.store.Category,但它似乎是指向同一对象的链接,但作用不同。

最佳答案

您可以使用此示例进行类别选择

$ekElement->createComboBoxField([
  'name' => 'heroChangerCategory',
  'fieldLabel' => 'KategorieLink',
  'supportText' => 'Kategorie auf die verlinkt werden soll',
  'xtype' => 'emotion-components-fields-category-selection'
]);

或者按照您的方式,您必须定义 displayField 和 valueField 的值

$ekElement->createComboBoxField([
  'name' => 'cat',
  'fieldLabel' => 'Category',
  'supportText' => 'Select category',
  'displayField' => 'name',
  'valueField' => 'id',
  'allowBlank' => false,
  'store' => 'Shopware.apps.Base.store.Category'
]);

关于javascript - shopping world element如何进入系统商城?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49982755/

相关文章:

javascript - 如何设置 Google 自定义搜索引擎的样式,使其不显示为 block 元素

javascript - 为什么立即调用这个分组运算符+函数

javascript - JQuery 自定义单选按钮代码(代码不起作用)

javascript - 当多个项目包含所述类时,jQuery 按类显示/隐藏

php - 没有 php 错误登录 apache

extjs - 使用组合框绑定(bind) json 数组

php - 在 null 上调用成员函数 setCookie() - Laravel 5.8

javascript - PHP 包含包含相对路径的 html 文件

javascript - 动态处理布局

extjs - 以编程方式隐藏边框布局区域内的组件