0

我正在为 Prestashop 1.7 编写一个自定义插件,用于在 OrderList 中添加一个新列,但我无法解决这个问题。

在本地环境中,它可以工作,但不能在生产站点上。

Prestashop 版本:1.7.7.4 Php:7.3.28

开发和生产之间的区别在于操作系统。开发机器上的 Windows 和生产机器上的 Debian。

我已经用 Prestashop 1.7.7.3 和 1.7.7.4 测试了我的代码。

我的钩子:

Path: /modules/mymodule/mymodule.php

/**
 * @param array $params
 */
public function hookActionOrderGridDefinitionModifier(array $params)
{
    /** @var GridDefinitionInterface $definition */
    $definition = $params['definition'];

    $definition
        ->getColumns()
        ->addAfter(
            'country_name',
            (new HtmlTypeColumn('ldDeliveryDate'))
                ->setName($this->l('Date de livraison'))
                ->setOptions([
                    'ModuleClass' => new MyModule(),
                    'ldDeliveryDate' => "Aujourd'hui"
                ])
        )
    ;
}

我的课 :

Path : /modules/mymodule/src/Grid/Columns/HtmlTypeColumn.php


final class HtmlTypeColumn extends AbstractColumn {
    public function getType() {
        return 'custom_text';
    }
    protected function configureOptions(OptionsResolver $resolver) 
        $resolver
            ->setRequired([
                'ModuleClass',
                'ldDeliveryDate'
            ])
            ->setAllowedTypes('ModuleClass', 'object')
            ->setAllowedTypes('ldDeliveryDate', 'string');
    }
}

和错误:

An exception has been thrown during the rendering of a template ("Content template for column type "custom_text" was not found").

有人有想法吗?谢谢 :)

4

0 回答 0