2017-10-03 1 views
0

ブロックニュースレターがフッターに表示されますが、ホームページにフルサイズのブロックとして表示する必要があります。 (私はこれが理解できることを望む)。ホームページのPrestashopブロックニュースレター

  1. 私はblocknewsletter.phpに以下のコードを追加しました。
  2. 私はBlocknewsletterをDisplayHomeに移植しました。
  3. は、私もここでblocknewsletter_home.tpl

を作成したコードでいる:私も自宅のフックを含めるために、次のコードを変更した

public function hookHome($params) 
{ 
    return $this->hookDisplayHome($params); 
} 

public function hookDisplayHome($params) 
{ 
    if (!isset($this->prepared) || !$this->prepared) 
     $this->_prepareHook($params); 
    $this->prepared = true; 
    return $this->display(__FILE__, 'blocknewsletter_home.tpl'); 
} 

。そして私はモジュールをunistalledし、再びインストールしました。

if (!parent::install() || !Configuration::updateValue('PS_NEWSLETTER_RAND', rand().rand()) 
|| !$this->registerHook(array('header', 'footer', 'actionCustomerAccountAdd'))) 

if (!parent::install() || !Configuration::updateValue('PS_NEWSLETTER_RAND', rand().rand()) 
|| !$this->registerHook(array('home', 'header', 'footer', 'actionCustomerAccountAdd'))) 

に問題がblocknewsletterがhookhomeでしかhookfooterに表示されていないことです。私はここで何が欠けているのですか、何が間違っていますか?何か提案はありますか?

P.S. Prestashopのバージョンは1.6.1.11です。

ありがとうございます。

答えて

0

あまりにもこのフックを登録してみてください:モジュールがアクティブである$this->registerHook("displayHome");

は、{フック}テンプレートであることを確認してください、フックが表示されていることを確認しするための単純な文字列を返してみてください。

+0

まずはお返事いただきありがとうございます。私はあなたに何を提案しようとしました。私は文字列をエコーし​​、このように通常通り表示されました。 public function hookDisplayHome($ params) {echo 'test blocknewsletter';パブリック関数hookDisplayHome($のparams) \t { \t \tエコー「テストblocknewsletter」をあなたが言ったように \t} – sTef

+0

は、私はまた、フックを登録しますがニュースレターフォームが表示されません。 \t \t return $ this-> display(__ FILE__、 'blocknewsletter.tpl'); \t} – sTef

+0

あなたが$ this-> display(__ FILE__、 'mytpl.tpl')を返します。 tplはmodules/{urModule}/views/templates/hook/_____の内部にありますか? –

関連する問題