在 Prestashop 1.6 中获取电话号码

Get telephone number in Prestashop 1.6

有没有办法在模板的任意位置获取商店的电话号码? 在 blockcontact.tpl 中我们有:

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

我可以从 header.tpl 页面顶部的挂钩中删除 $telnumber 吗?

这是一种肮脏的方式,但有效:

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

另一种方法是覆盖或编辑模块,并在 hookDisplayHeader 方法中添加此代码段:

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

您可以将此代码放入主题中的任何 tpl 文件中;有效!!!

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

确保您在名为“联系人块”的模块的管理面板中添加了电话号码

在 blockcontact.tpl 中您有 {$telnumber} 因为是从该模板的控制器分配的,在本例中是 blockcontact.php 文件。

行+-185:

$smarty->assign(array(

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

在这里你可以看到分配 $telnumber 变量的方式。


然后,如果你想在任何地方或任何模板中使用它,首先你需要转到你需要的模板的控制器,并在正确的功能中使用回答的第二种方式 @sarcom:

if it's a module probably in the function of the hook that's the template hooked, and if it's a core controller in the initContent() function.

然后就可以在模板中使用{$telnumber}了。

如果您需要编辑核心控制器,最好的方法是使用覆盖功能。