我想强制生日字段,所以我覆盖CustomerFormatter但它根本不起作用。这就是我做的:
<?php
class CustomerFormatter extends CustomerFormatterCore
{
public function getFormat()
{
$customerForm = parent::getFormat();
if ($customerForm->ask_for_birthdate) {
$format['birthday'] = (new FormField)
->setName('birthday')
->setType('text')
->setLabel(
$customerForm->translator->trans(
'Birthdate', [], 'Shop.Forms.Labels'
)
)
->addAvailableValue('placeholder', Tools::getDateFormat())
->addAvailableValue(
'comment',
$customerForm->translator->trans('(E.g.: %date_format%)', array('%date_format%' => Tools::formatDateStr('31 May 1970')), 'Shop.Forms.Help')
)
->setRequired(true)
;
}
}
}
我在Prestashop 1.7.3.3之下
你对这个问题有所了解吗?谢谢您的帮助
可能为你迟到,但它可能会帮助其他人,不幸的是1.7这是不可能的。
“是的,覆盖在所有没有命名空间的类上照常工作(所以你仍然可以覆盖产品,地址等)。”
http://build.prestashop.com/news/prestashop-1-7-faq/#can-developers-still-use-overrides-in-17