如何扩展Shopware客户

时间:2015-10-16 11:46:12

标签: plugins e-commerce shopware

我需要编写一个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

2 个答案:

答案 0 :(得分:3)

Shopware 5中不推荐使用

addAttribute。 请改用shopware_attribute.crud_service - 容器中的Shopware()

$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

答案 1 :(得分:1)

对于后端,你必须做一些ExtJs coding

对于API,您必须扩展REST-API endpoint for the user

Shopware API erweitern