You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PrestaShop后台CMS页面表单加字段及前台钩子调用问题

问题描述
  • 我需要为特定CMS页面添加联系表单启用选项,已使用actionAdminCmsFormModifier和actionAdminCmsControllerSaveBefore钩子,但后台钩子函数中的echo、var_dump无输出
  • 前台自定义了hookDisplayCmsPage函数,在主题page.tpl中添加{hook h='displayCmsPage'}后可执行,但我不想修改模板,想知道展示CMS页面时可用的原生钩子
  • 我是PrestaShop新手,对Symfony在表单字段添加、模板内容注入方面的逻辑不太理解
前台代码
public function hookDisplayCmsPage($params){
    echo "HERE";
    $cms = $this->context->smarty->getTemplateVars('cms');
    if ($cms && isset($cms['id_cms']) && $this->isContactFormEnabled($cms['id_cms'])) {
        $contactform_module = Module::getInstanceByName('contactform');

        return $contactform_module->hookDisplayContactForm($params);
    }
    return '';
}
后台代码
public function hookActionAdminCmsFormModifier($params)
{
    error_log('hookActionAdminCmsFormModifier called'); // Log to error log
    var_dump($params);
    echo "HEREEEEE";
    
    $cms = $params['object'];
    $enable_contact_form = (bool) Configuration::get('CMS_CONTACTFORM_' . $cms->id);
    
    $params['fields']['content']['form']['input'][] = [
        'type' => 'switch',
        'label' => $this->l('Enable Contact Form'),
        'name' => 'enable_contact_form',
        'values' => [
            [
                'id' => 'enable_contact_form_on',
                'value' => 1,
                'label' => $this->l('Ativado') // Ensure correct translation
            ],
            [
                'id' => 'enable_contact_form_off',
                'value' => 0,
                'label' => $this->l('Desativado') // Ensure correct translation
            ]
        ],
        'is_bool' => true,
        'desc' => $this->l('Ativar o formulário de contacto nesta página.'),
        'value' => $enable_contact_form
    ];
    $params['fields_value']['enable_contact_form'] = $enable_contact_form;
    return $params;
}

内容的提问来源于stack exchange,提问作者Miguel Machado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 02:48:27