Получить URL-адрес текущей страницы prestashop с помощью smarty

У меня есть два магазина toorakcomputerservices.com.au и malverncomputerservices.com.au

Я использую функции мультишопа. Все данные выглядят нормально, но страницы cms, которые я изменил в .tpl, используются этими двумя сайтами. Мое уведомление об авторских правах

Copyright © toorakcomputerservices.com.au 1997-2015 в

/public_html/themes/default-bootstrap/modules/blockcms/blockcms.tpl

но это разделяют оба сайта. Я хочу разные авторские права на них.

Я подумал, что могу использовать оператор if else, чтобы проверить, какой сайт пытается получить доступ к странице, и соответствующим образом отобразить уведомление.

{assign var="url" value=$smarty.server.HTTP_HOST$smarty.server.REQUEST_URI}
{if $url=="http://toorakcomputerservices.com.au}
<div>
        Copyright &copy; toorakcomputerservices.com.au 1997-2015 
</div>
{else}
<div>
        Copyright &copy; malverncomputerservices.com.au 1997-2015 
</div>
{/if}

Но это показывает ошибку. Я пытался найти другие решения на форумах, но все они показывают ошибки. Я не очень хорошо знаком с smarty, поэтому мне нужна помощь. Спасибо


person User56756    schedule 22.02.2015    source источник


Ответы (2)


Вы можете сделать это следующим образом:

{if $smarty.server.HTTP_HOST=="toorakcomputerservices.com.au"}
  <div>
    Copyright &copy; toorakcomputerservices.com.au 1997-2015 
  </div>
{else}
  <div>
    Copyright &copy; malverncomputerservices.com.au 1997-2015 
  </div>
{/if}

Но я думаю, что это было бы более элегантно:

<div>
  Copyright &copy; {$smarty.server.HTTP_HOST} 1997-2015 
</div>
person yenshirak    schedule 23.02.2015
comment
Большое спасибо, это было просто идеально. Я использовал рекомендуемую элегантную версию. :) - person User56756; 24.02.2015

лучше создать новый модуль с хуком заголовка регистра или хуком заголовка отображения, а из хука назначьте URL-адрес текущего магазина для smarty, вы можете использовать назначенную переменную внутри вашего tpl

public function install(){
  return parent::install() && $this->registerHook('displayHeader');
}

public function hookdisplayHeader($params){
 /// here assign shop url to smarty
}
person Abdulla    schedule 23.02.2015
comment
Привет, спасибо @Abdulla, я использовал метод yenshirek, и это сработало. Я собираюсь попробовать то, что вы сказали, просто чтобы узнать, как это сделать, чтобы я мог использовать это в своем проекте. - person User56756; 24.02.2015