Вывод названия (псевдонима) сайта

Доброго дня!

Известно, что переменная {$wa->param('_name')} - выводит название поселения.

У меня вопрос по выводу названия (псевдонима) сайта, используемый в меню выбора сайтов.

На скриншоте видно, что в качестве примера привёл сайт, выступающий в качестве зеркала. Есть произвольное название (псевдоним, на скриншоте в красной рамке). Вот именно это наименование мне необходимо вывести в произвольном месте шаблона.

Есть решение данного вопроса?

9 ответов

  • 1

    Я делаю так:

    1. Создаю блок сайта "global.variables"

    2. Создаю в нем глобальные переменные и присваиваю им значения, ковыряя URL-адрес сайта:

    {$did_globals = true}
    {$site_name = 'Totalshiva'}
    {if strpos($wa->domainUrl(), 'reddex')}
        {$site_name = 'RedDex'}
    {/if}
    
    {$wa->globals('site_name', $site_name)}
    {$wa->globals('did_globals', $did_globals)}

    3. В шаблонах темы дизайна вызываю блок и получаю переменную (можно добавлять этот код в начало каждого файла темы дизайна):

    {* PROCESSING VARIABLES *}
    
    {$did_globals  = $wa->globals('email_html')}
    
    {if !$did_globals}
    	{$wa->block("global.variables")}
    {/if}
    
    {* /end of PROCESSING VARIABLES *}
    
    {* GETTING VARIABLES *}
    
    {$site_name = $wa->globals('site_name')}
    
    {* /end of GETTING VARIABLES *}

    4. Вывожу нужную переменную где необходимо:

    {$site_name}

    ----

    кроме названия витрины можно использовать неограниченное количество других переменных:

    • {$site_name}
    • {$site_tel}
    • {$site_email}
    • итд
    • +1
      TotalShiva TotalShiva 25 сентября 2020 12:28 #

      Благодарю за отклик!
      Но вы в данном примере указываете наименование вручную для каждого из возможных алиасов (псевдонимов) - {$site_name = 'RedDex'}
      Есть ли вариант когда название сайта автоматом вызывается из настроек сайта (скриншот) именно в таком виде как оно там указано? Т.е. мы меняем наименование в названии сайта в его настройках и оно меняется и в выводе, а не в изменении в блоке.

      • +1
        replicant replicant 25 сентября 2020 13:48 #

        То, что вы хотите, является элементом массива $wa->apps() (элементы url и name), если конечно тот не формируется вручную ниже на той же странице настроек без подобного элемента.
        Если его там нет, то вручную внести этот элемент в массив не проблема и тогда сможете вытащить его в шаблонах примерно так.

        {$_links = $wa->apps()}
        {foreach $_links as $a}
              <a href="{$a.url}">{$a.name}</a>
        {/foreach}

        Псевдоним лежит в массиве $domains как элемент $domains.title, но во фронтенде в шаблонах этот массив недоступен.
        Он используется в шаблоне Sidebar.html бекенда Сайта и это видно в выпадающем списке всех сайтов в админке при мультивитринных конфигурациях.

        • +2
          TotalShiva TotalShiva 25 сентября 2020 13:57 #

          Это используется в выпадающем списке сайтов в админке при мультивитринных конфигурациях.

          Да, верно, произвольное название (псевдонима) сайта, используется в меню выбора сайтов в бекенде.

          Также этот псевдоним лежит в массиве $domains как элемент $domains.title, но во фронтенде в шаблонах этот массив вроде как недоступен.

          В этом и заключается основной вопрос - как во фронтенде вывести элемент $domains.title ?

          • +1
            replicant replicant 25 сентября 2020 14:03 #
            Никак. Только запихать его в массив wa->apps вручную, если речь о конкретной странице настроек Сайта.




            Обычно добавляю данную настройку как Наименование сайта в тему дизайна в качестве опции. Системные вещи не юзаю для вывода во фронтенд. Это не всегда удобно. А {$theme_settings.site_name} очень комфортно использовать.


            • +1
              TotalShiva TotalShiva 25 сентября 2020 14:07 #

              Описываемый пример сайта является алиасом (зеркалом) и не имеет массива wa->apps...

              • +2
                replicant replicant 25 сентября 2020 14:20 #

                Тогда походу никак. Только костыль собирать либо из блока, либо из чего-то другого типа доп. параметров поселения, либо из настроек темы.

                Кстати, к слову о {$wa->param('_name')}. Это какая-то недокументированная шняга, которая по сути дублирует доп. параметры поселения, 
                получаемые через  {$wa->globals('param')}, но для случая, когда _name зарезервированное изначально наименование параметра, выводящее название поселения.

                На эту тему вообще хотелось бы услышать комментарии представителей WA, т.к. $wa->globals не работает на статических страницах поселения, а $wa->param работает.

          • +1
            vModern vModern Партнер-эксперт 12 апреля 2022 03:12 #

            {if $wa->site}
                {$domains = siteHelper::getDomains(true)}
                {$domains|print_r}
            {/if}

  • 1

    Название сайта (title) и Название поселения Сайт(params[_name]) это не одно и тоже, по умолчанию название поселения совпадает с названием сайта, но его можно изменить в настройках поселения.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите