2016-06-16 2 views
0

헬퍼 폼을 사용하여 양식을 만들려고했으나 불가능했습니다. 공식 문서를 따르고 있었지만 FrontControler에서 나에게 적합하지 않았습니다.PrestaShop 1.6의 FrontController에서 HelperForm을 사용하는 방법

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

내가 그렇게 할 수 있습니까 ??

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

그리고 내 클래스는 다음과 같습니다 :

나에게 보여 오류는

입니다 나는 미친 ....

답변

1

대답은 간단합니다. FrontEnd에서 HelperForm을 사용할 수 없습니다.

필자는 BackOffice에서만 helperForm을 사용할 수 있다는 것을 알고 있으므로 앞에서 할 수 있다고 생각하지 않습니다. 당신 해야,하지만 당신은 확실히 사용자 정의 모듈의 HelperForm를 사용할 수 있는지

0

가 이미 본 적이거야

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

여러 스레드에서 종류의 오류. admin/themes/your_theme/template/helpers/form/form.tpl이 서버에 있고 올바른 액세스 권한이 있습니까?

때로는 전체 helpers 디렉토리가 이상한 이유로 누락되었습니다.


편집 도우미 양식은 백 오피스에만 사용할 수 있습니다. FrontController 컨텍스트에서는 사용할 수 없습니다.

+0

그래, 사실이지만 많은 무료 테마를 다운로드하고 모두 동일합니다. 그 폴더가 있습니까 ?? 나 통과시켜 줄래? – Slashhh

+0

[Prestashop website] (https://www.prestashop.com/en/developers-versions#previous-version)에서 다운로드 할 수 있습니다.사용중인 것과 동일한 버전을 다운로드하고 누락 된 디렉토리를 아카이브에서 웹 사이트로 복사하십시오. –

+0

이미 그랬지만 "default-bootstrap"테마에서 찾을 수 없었습니다. 어떤 단서가 있습니까? – Slashhh

0

사실, 나도 몰라.

코드의이 작품에서 /classes/helper/Helper.php과 특히 Helper 클래스의 기능 createTemplate 한 번 봐 (확장하는 HelperForm) 유무 :

elseif ($this->module) { 
    $override_tpl_path = _PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/_configure/'.$this->base_folder.$tpl_name; 
} 

당신은 볼 수 당신은 재산 module의를 정의하는 경우 도우미는 아래의 모듈 폴더 안에 form.tpl 템플릿을 사용합니다.

그래서 당신이해야 할 것입니다 :

  1. admin/themes/default/template/helpers/form/form.tpl에서 모듈
  2. 장소 $helper->module = $this;에서 상기 경로에 복사 form.tpl 호출 generateForm()

주 전에 : 또한 입력의 name 속성을 사용하려면 $helper->tpl_vars을 정의 할 수도 있습니다.