2017-06-14 104 views
0

有沒有辦法在任何模板的地方獲得商店的電話號碼? 在blockcontact.tpl我們:獲取Prestashop 1.6中的電話號碼

{if $telnumber != ''} 
     <p class="tel"> 
      <span class="label">{l s='Phone:' mod='blockcontact'}</span>{$telnumber|escape:'html':'UTF-8'} 
     </p> 
    {/if} 

我可以採取$ telnumber了鉤在我的header.tpl頁面頂部?

+0

此模塊已在頁眉中呈現tpl。請參閱[Image](http://nimb.ws/RG6wur) – Nimish

回答

1

在blockcontact.tpl你有{$ telnumber}模塊添加電話號碼管理面板,因爲從該模板的控制器分配,在這種情況下,blockcontact.php文件。

線+ -185:

$smarty->assign(array(

      'telnumber' => Configuration::get('BLOCKCONTACT_TELNUMBER'), 
      ... 

在這裏你可以看到,被賦予$ telnumber變量的方式。


然後,如果你想在任何地方或任何模板,利用這一點,首先你需要去您需要的模板的控制器,並在正確的函數使用回答第二種方式@sarcom

如果它是一個模塊可能是鉤的功能是這樣的模板迷上,如果它是一個核心控制器initContent( ) 功能。

然後您可以在模板中使用{$ telnumber}

如果您需要編輯核心控制器,最好的方法是使用覆蓋功能。

0

這是一個骯髒的方式,但工程:

{Configuration::get('BLOCKCONTACT_TELNUMBER')} 
// This snippet can be used in every .tpl 

另一種方式是重寫或編輯模塊,並在hookDisplayHeader方法添加此片段:

$this->context->smarty->assign(array(
    'telnumber' => Configuration::get('BLOCKCONTACT_TELNUMBER') 
)); 
+0

既不是第一種也不是第二種方式不起作用 –

+0

您是否禁用了緩存?確保填充了'BLOCKCONTACT_TELNUMBER',並且相信我,該片段在100%下工作:) – sarcom

+0

Prestashop 1.6.1.4,沒有緩存,BLOCKCONTACT_TELNUMBER不爲空(在頁腳鉤子中顯示電話號碼) - 什麼也不顯示。 –

0

你可以把這個代碼在你的主題中任何tpl文件;有用!!!

{if Configuration::get('BLOCKCONTACT_TELNUMBER') != ''} 
    <span>{Configuration::get('BLOCKCONTACT_TELNUMBER')}</span> 
{/if} 

確保您已在名爲「聯繫塊

+0

我的朋友,這是'我已經說過的'相同的技巧:)但他說不行... – sarcom

+0

是啊!但有一些額外的喜歡檢查模塊電話添加.... –