Как сделать кнопку возврата с помощью http_referer в шаблоне Smarty только для внутренних ссылок - PullRequest
0 голосов
/ 02 июня 2018

Я использую следующий код на своем веб-сайте для создания кнопки «Назад» в шаблоне Smarty:

<div id="back-button">
<a href="{$smarty.server.HTTP_REFERER}">BACK</a>

Это работает по мере необходимости при навигации по внутренним страницам.Но когда пользователь заходит на мой сайт по гиперссылке на внешний сайт, кнопка «Назад» перенаправляет его на этот внешний сайт.Я хочу, чтобы кнопка работала, только если значение http_referer является внутренней ссылкой.Что касается внешних ссылок, его следует перенаправить на домашнюю страницу моего сайта.

Извините, если у вас очень простой вопрос.Я новичок в Smarty.

PS Я знаю, как сделать это в Javascript.Мне нужно это с помощью Smarty.

Спасибо

1 Ответ

0 голосов
/ 04 июня 2018

Попробуйте это

{if isset($smarty.server.HTTP_REFERER) && strpos($smarty.server.HTTP_REFERER, $smarty.server.HTTP_HOST) != false}
  <a href="{$smarty.server.HTTP_REFERER}">Back</a>
{else}
  <a href="/">Back</a>
{/if}

, он проверяет, существует ли реферер и находится ли он на том же хосте, а затем добавляет ссылку реферера, если нет, то добавляет ссылку на домашнюю страницу

...