我正在为 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").
有人有想法吗?谢谢 :)