如何扩展Shopware客户
How to extend Shopware customer
我需要编写一个 Shopware 插件,用 external_id
字段扩展客户模型。该字段应该可以通过管理员 UI 和 API.
进行编辑
我发现,我可以像这样向用户添加属性:
public function addAttributes() {
$this->Application()->Models()->addAttribute(
's_user_attributes',
'bla',
'externalId',
'INT(11)',
true,
null
);
$this->Application()->Models()->generateAttributeModels(array(
's_user_attributes'
));
}
我应该怎么做才能在 UI 和 API 中显示此字段?
PS: Shopware 5
对于后端,您必须做一些 ExtJs coding。
对于 API 你必须扩展 REST-API endpoint for the user:
addAttribute
在 Shopware 5 中已弃用。
请改用 Shopware()
-容器中的 shopware_attribute.crud_service
。
$service = Shopware()->Container()->get('shopware_attribute.crud_service');
$service->update('s_user_attributes', 'bla', 'integer', [
'label' => '',
'supportText' => '',
'helpText' => '',
'translatable' => false,
'displayInBackend' => true,
'position' => 1
]);
Shopware()->Models()->generateAttributeModels(
array(
's_user_attributes'
)
);
如果您将 displayInBackend
设置为 true
,您可以在用户所在的后台对其进行编辑。
更多内容在 Shopware Developer Guide。
我需要编写一个 Shopware 插件,用 external_id
字段扩展客户模型。该字段应该可以通过管理员 UI 和 API.
我发现,我可以像这样向用户添加属性:
public function addAttributes() {
$this->Application()->Models()->addAttribute(
's_user_attributes',
'bla',
'externalId',
'INT(11)',
true,
null
);
$this->Application()->Models()->generateAttributeModels(array(
's_user_attributes'
));
}
我应该怎么做才能在 UI 和 API 中显示此字段?
PS: Shopware 5
对于后端,您必须做一些 ExtJs coding。
对于 API 你必须扩展 REST-API endpoint for the user:
addAttribute
在 Shopware 5 中已弃用。
请改用 Shopware()
-容器中的 shopware_attribute.crud_service
。
$service = Shopware()->Container()->get('shopware_attribute.crud_service');
$service->update('s_user_attributes', 'bla', 'integer', [
'label' => '',
'supportText' => '',
'helpText' => '',
'translatable' => false,
'displayInBackend' => true,
'position' => 1
]);
Shopware()->Models()->generateAttributeModels(
array(
's_user_attributes'
)
);
如果您将 displayInBackend
设置为 true
,您可以在用户所在的后台对其进行编辑。
更多内容在 Shopware Developer Guide。