Администрирование

Как выводить разный контент в шаблоне Smarty в зависимости от поддомена в Webasyst

Если вы используете Webasyst и хотите показывать уникальный контент для каждой витрины (на поддоменах вроде sochi.site.ru, krasnodar.site.ru), это можно реализовать на уровне шаблона, без PHP-кода. Всё делается средствами Smarty.

Зачем это нужно

Допустим, у вас одна установка Webasyst с несколькими витринами:

  • sochi.site.ru
  • rostov-na-donu.site.ru
  • krasnodar.site.ru

И вы хотите, чтобы на каждой из них отображались уникальные заголовки, тексты или блоки.

Решение на Smarty

В нужном .html-шаблоне используйте следующее:

Smarty
{assign var="host" value=$smarty.server.HTTP_HOST}

{if strpos($host, '.site.ru') !== false}
    {assign var="subdomain_parts" value="`$host`"|explode:"."}
    {assign var="subdomain" value=$subdomain_parts[0]}
{else}
    {assign var="subdomain" value=""}
{/if}

{if $subdomain == 'sochi'}
    <h1>Добро пожаловать во флористический центр Сочи</h1>
{elseif $subdomain == 'rostov-na-donu'}
    <h1>Цветы в Ростове-на-Дону — с любовью</h1>
{elseif $subdomain == 'krasnodar'}
    <h1>Краснодарский филиал Floramour</h1>
{else}
    <h1>Общий сайт сети Floramour</h1>
{/if}

Как работает

  • {$smarty.server.HTTP_HOST} — получает полный домен, например sochi.site.ru.
  • explode разбивает строку по точкам, берём [0] — это и есть поддомен.
  • Далее — обычные if/elseif, чтобы отобразить нужный блок в зависимости от города.

Читайте также

Делаем CUSTOM-поле для плагина Shop-Script Webasyst
Администрирование8 октября 2025 г.

Делаем CUSTOM-поле для плагина Shop-Script Webasyst

Делаем CUSTOM-поле для плагина Shop-Script Webasyst

Как обновить тему дизайна в Shop-Script X
Администрирование19 февраля 2025 г.

Как обновить тему дизайна в Shop-Script X

1. В приложении "Инсталлер" обновите тему дизайна, нажав кнопку "Обновить", дождитесь окончания установки.

Установка онлайн чата JivoSite
Администрирование30 января 2017 г.

Установка онлайн чата JivoSite

Установка онлайн чата JivoSite