回答
您还应该将其添加到服务器端的属性中。
如果您使用的Magento 企业公司版,你可以简单地编辑公司通过后端属性,将其设置为“必需的”。
如果您使用的是社区版,那么您必须使用SQL手动更改此值。它在eav_attribute
表中,attribute_code
是company
,您只需将is_required
设置为1
即可。
我想让“电话”不是必需的。我在eav_attribute中将is_required更改为0。前端仍然显示“必需”星号。所以我按照下面Oguz的回答编辑前端。现在表单POST,但POST的结果是“请输入电话号码”。我应该采取哪些进一步措施? – 2014-12-04 16:59:51
我没有安装Magento,所以我不能真正帮忙,但是我的建议不会改变模板。您应该只能通过数据库进行更改。你确定你已经修改了正确的EAV属性吗?也许你已经改变了它的另一个实体... – haltabush 2014-12-15 10:07:06
我实际上已经不得不重写表单控制器 - 那里有另一个测试电话的存在。 – 2015-01-07 16:40:58
对于客户地址簿科(注册的用户):
/app/design/frontend/base/default/template/customer/address/edit.phtml
对于结账开票部分:
/app/design/frontend/base/default/template/checkout/onepage/bi lling.phtml
对于检出航运部分:
/app/design/frontend/base/default/template/checkout/onepage/shipping.phtml
对于注册部分:
/app/design /前端/基/默认/模板/客户/表格/ register.phtml
/app/design/frontend/base/default/template/customer/form/address.phtml
查找看起来像下面这行对于必填字段:
class="input-text validate-email required-entry"
你知道你已经根据需要为前端设置了(硬编码!)字段,而不是后端? – Besnik 2013-08-30 09:49:15
Besnik,这不是我的问题。我只是参考它在哪里。如果你有一个认真的开发者,你应该知道它是如何覆盖这个函数的。如果没有,你需要一个简单的解决方案。正如你可能猜到的那样,没有人喜欢你,特别是小网站所有者!此外,我用了很多次,并没有看到任何问题。当然,如果你不需要那些领域! – 2013-09-01 04:52:37
虽然它有类似的效果,但这绝对不是这样做的方式。 – 2015-03-13 14:28:25
此外,以haltabush答案(这是正确的)这里是懒惰的开发者的SQL:
UPDATE eav_attribute SET is_required = 1 WHERE attribute_code = 'company';
在我看来,这也是硬编码的方式,不是吗? – 2013-09-01 04:56:16
没有。这正是企业版在后端编辑属性时所做的。但是你正在做的是修复它的前端,而不是后端......无论如何,黑客magento不是一个好主意。真。 – Besnik 2013-09-01 16:11:24
这是为什么这个undervote?这是正确答案之一。如果不是最完整的。 – 2015-03-13 14:27:46
这就是如何使用安装程序来做到这一点。在magento中使用它的正确方法。这适用于企业版和社区版。但你必须将模块配置为了解sql文件夹下的文件
<?php
$installer = new Mage_Customer_Model_Entity_Setup('core_setup');;
$installer->startSetup();
$installer->run("UPDATE eav_attribute SET is_required = 1 WHERE attribute_code = 'company';");
$installer->endSetup();
这是我的模块xml文件的外观。
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Package_Customer>
<version>1.1.0.4</version>
</Package_Customer>
</modules>
<global>
....
<resources>
<package_customer_setup>
<setup>
<module>Package_Customer</module>
</setup>
</package_customer_setup>
</resources>
....
</global>
这是我做的,以edit.phtml使其动态
<li class="wide">
<?php
$validation_class = $this->helper('customer/address')->getAttributeValidationClass('company') ;
$required = strstr($validation_class, 'required-entry');
?>
<label for="company" class=<?php echo $required?"required":""?>><?php echo $this->__('Company') ?> <?php echo $required?"<em>*</em>":""?> </label>
<div class="input-box">
<input type="text" name="company" id="company" title="<?php echo $this->__('Company') ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" class="input-text <?php echo $validation_class ?>" />
</div>
</li>
- 1. Magento - 使多个网站所需的字段“公司”
- 2. 创建多语言网站在magento
- 3. 创建Magento后端字段ReadOnly
- 4. Magento的 - Zend公司 - 后端错误
- 5. 复制Magento网站
- 6. 从Magento网站获取Magento API
- 7. 我如何安装我在magento网站创建的magento支付模块
- 8. 向公司提供网站
- 9. Magento查看公司名称而不是姓名
- 10. magento网站建设帮助需要
- 11. magento填充字段为客户创建订单
- 12. Magento网站速度调查
- 13. Magento网站IE问题
- 14. Magento网站切换.htaccess
- 15. 如何加快magento网站?
- 16. 克隆magento网站问题
- 17. Magento网站显示错误
- 18. Magento网站数量限制
- 19. Magento网站不断崩溃
- 20. Magento的网站错误
- 21. 创建需要与magento数据库沟通的网站
- 22. 如何在magento网站中创建新页面
- 23. Magento:设置刚刚创建的网站的配置值?
- 24. Magento maintenance.flag神秘创建,关闭网站down
- 25. 创建的Magento网站的原生Android应用程序
- 26. 是否可以使用Twitter Bootstrap创建Magento网站?
- 27. 图片上传在新创建的网站在magento
- 28. Magento手机主题 - 如何创建“完整网站链接”
- 29. 如何在Magento的网站启用或禁用的Etag在Magento的网站
- 30. 表单字段的Magento 1.8.1.0
当你注册/手动创建的客户或客户注册自己?哪一个? – 2011-03-28 10:34:42
在注册自己的客户,谢谢 – Bizboss 2011-03-28 11:35:59
我甚至没有看到“公司”作为一个可选字段。那个配置在哪里? – 2016-09-21 18:10:23