如何在PrestaShop 1.6中使用FrontController中的HelperForm

时间:2016-06-16 15:42:10

标签: php helper prestashop-1.6

我试图用helperForm做一个表单,但这是不可能的。 我正在关注官方文档,但FrontControler对我来说是不可能的。

http://doc.prestashop.com/display/PS16/Using+the+HelperForm+class

我可以这样做吗?

向我显示的错误是:

Uncaught --> Smarty: Unable to load template file 'helpers/form/form.tpl'

我的班级是:

public function renderForm()
  { 
    $fields_form = array( 'form' => array(
      'legend' => array(       
        'title' => $this->module->l('Edit carrier'),       
        'image' => '../img/admin/icon_to_display.gif'   
      ),   
      'input' => array(       
        array(           
          'type' => 'text',
          'name' => 'shipping_method',
         ),
      ),
      'submit' => array(
        'title' => $this->module->l('Save'),       
        'class' => 'btn btn-default pull-right'   
      )
    ));

    $helper = new HelperForm();
    $helper->show_toolbar = false;
    $helper->table = $this->table;
    $this->fields_form = array();

    $helper->identifier = $this->identifier;
    $helper->submit_action = 'submitBlockCart';

    return $helper->generateForm(array($fields_form));
}

我疯了......

3 个答案:

答案 0 :(得分:1)

答案很简单:你不能使用FrontEnd中的HelperForm。

据我所知,你只能在BackOffice中使用helperForm,所以我认为你不能在前面。

答案 1 :(得分:0)

我已经在很多线程上看到过这种错误。您的admin/themes/your_theme/template/helpers/form/form.tpl是否在您的服务器上并具有正确的访问权限?

有时整个helpers目录因特殊原因而丢失。

编辑帮助表单仅适用于后台。您无法从FrontController上下文中使用它。

答案 2 :(得分:0)

实际上,我不知道你是否,但你肯定可以在自定义模块中使用HelperForm

查看createTemplate中的Helper类(HelperForm扩展)/classes/helper/Helper.php中的函数elseif ($this->module) { $override_tpl_path = _PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/_configure/'.$this->base_folder.$tpl_name; } ,特别是这段代码:

module

您可以看到,如果您定义属性form.tpl,则帮助程序将在/views/templates/admin/_configure/helpers/form/下的模块文件夹中使用模板form.tpl

所以你需要做的是:

  1. admin/themes/default/template/helpers/form/form.tpl$helper->module = $this;复制到模块中的上述路径
  2. 在致电generateForm()
  3. 之前放置$helper->tpl_vars

    注意: 此外,您可能还希望定义name以便能够使用输入的属性{ "bool": { "must": [ { "span_near": { "clauses": { "0": { "span_multi": { "match": { "wildcard": { "data.Title.eng": "method" } } } }, "1": { "span_multi": { "match": { "wildcard": { "data.Title.eng": "system" } } } } }, "slop": 1, "in_order": false } } ] } }