覆盖生日表单的CustomerFormatter.php

问题描述 投票:1回答:1

我想强制生日字段,所以我覆盖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之下

你对这个问题有所了解吗?谢谢您的帮助

prestashop-1.7
1个回答
0
投票

可能为你迟到,但它可能会帮助其他人,不幸的是1.7这是不可能的。

“是的,覆盖在所有没有命名空间的类上照常工作(所以你仍然可以覆盖产品,地址等)。”

http://build.prestashop.com/news/prestashop-1-7-faq/#can-developers-still-use-overrides-in-17

© www.soinside.com 2019 - 2024. All rights reserved.