定制化MyAccount页面
用户控制面板里的我的账户区域是受customer_account布局文件控制的。该文件的目录是(view/frontend/layout/customer_account.xml)
添加一个菜单项,需要创建上面提到的布局文件,添加以下代码:
<?xml version="1.0"?>
<body>
<referenceContainer name="content">
<referenceBlock name="customer-account-navigation-
wish-list-link"remove="true"/>
<referenceBlock name="customer_account_navigation">
<block class="MagentoCustomerBlock
AccountSortLinkInterface" name="product-promotions"
after="customer-account-navigation-address-link">
<arguments>
<argument name="label" xsi:type="string" translate="true">PromotedProducts</argument>
<argumentname="path"
xsi:type="string">promotions/view</argument>
<argument name="sortOrder" xsi:type="number">1</argument>
</arguments>
</block>
<referenceBlock>
<referenceContainer>
</body>
怎么样定制化用户功能?
重点:
.customer_form_attribute数据表里新加用户属性必须关联到表单里
.用户组是改变产品价格的一种非常好的方式(比如,涵盖整个产品分类,可以设置一个价格组。)
描述如何添加或者更改用户属性
添加用户属性跟添加其它EAV属性非常类似,只有一点不同,新加的用户属性必须被添加到表里以供编辑。
$attribute=$this->eavConfg->getAttribute(Magento
CustomerModelCustomer::ENTITY,Attribute::CUSTOMER_
PROMOTION_PREFERENCE);
$attribute->setData("used_in_forms",["adminhtml_customer","customer_account_edit"]);
$attribute->save();
在UpgradeDate安装脚本运行以上脚本,会把这个属性添加到customer_form_attribute表里特定的表单里。前端添加属性就更手动话,需要你把该字段手动添加到用户账户区域对应到模版文件里。
重点:如果你已经创建了该字段,并且把它加到了用户账号前端对应到模版。但是这个属性值并未被保存,请检查并且确保这个属性在customer_account_edit表单里。另外,检查设置is_system属性值为0;
以上是 定制化MyAccount页面 的全部内容, 来源链接: utcz.com/z/515384.html