渲染模板期间抛出异常(“未找到列类型“custom_text”的内容模板”)

时间:2021-06-19 09:04:26

标签: prestashop prestashop-1.7 prestashop-modules

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

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

版本 Prestashop:1.7.7.4 php : 7.3.28

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

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

我的钩子:

<TransitionGroup component="ul">
      {todos.map((todo) => (
        <CSSTransition key={todo} timeout={700} classNames="item">
          <li>
            {todo}{" "}
            <button
              onClick={() => {
                setTodos(todos.filter((t) => t !== todo));
              }}
            >
              Delete
            </button>
          </li>
        </CSSTransition>
      ))}
    </TransitionGroup>

我的班级:

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');
    }
}

有人有想法吗? 谢谢:)

0 个答案:

没有答案