如何制作PHP中所需的单个$ format元素

时间:2019-01-19 15:01:54

标签: php prestashop prestashop-1.7

我目前正在尝试将“别名”字段从可选字段更改为必填字段。但是每种方法都会导致空白的页面破损。

我的第一个想法是简单地在别名$ this下添加一个->setRequired(true),但这破坏了页面。 然后,我尝试通过

将其分离
$format = [alias] = (new FormField();
->setName('alias')
            ->setLabel(
                $this->getFieldLabel('alias')
            )
)

然后我尝试了这个:

       if ($field === 'alias') {
                if ($this->country->need_zip_code) {
                    $formField->setRequired(true);
                }
            }

受同一文件中代码其他部分的启发,但我很快发现,不了解语法或底层工作原理,我将无法自行修改它。

public function getFormat()
{
    $fields = AddressFormat::getOrderedAddressFields(
        $this->country->id,
        true,
        true
    );
    $required = array_flip(AddressFormat::getFieldsRequired());

    $format = [
        'id_address'  => (new FormField)
            ->setName('id_address')
            ->setType('hidden'),
        'id_customer' => (new FormField)
            ->setName('id_customer')
            ->setType('hidden'),
        'back' => (new FormField)
            ->setName('back')
            ->setType('hidden'),
        'token'       => (new FormField)
            ->setName('token')
            ->setType('hidden'),
        'alias'       => (new FormField)
            ->setName('alias')
            ->setLabel(
                $this->getFieldLabel('alias')
            )
    ];

我希望别名字段会被标记为必填项,但它会破坏页面。

0 个答案:

没有答案