Skip to content

Поддомены для 1с-битрикс и мультиязычность для 1с-битрикс. Страны и Города. Легкая настройка.

Notifications You must be signed in to change notification settings

mfilin/dev2fun.multidomain

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Модуль позволяет добавить в битрикс поддержку множество поддоменов на 1 лицензии битрикса, приложив при этом минимальные усилия.

Модуль в Маркетплейс Битрикс

Что делает модуль:

  • Добавляет возможность создания бесконечного числа поддоменов
  • Добавляет SEO-поддержку для каждого поддомена
  • Добавляет SEO-поддержку для каждой страницы
  • Добавляет возможность указать счетчики и мета-теги для каждого поддомена
  • Позволяет включить поддержку мультиязычности и автоматическое переключение языка
  • Позволяет автоматически определять город пользователя
  • Позволяет автоматически определять страну пользователя
  • Позволяет создавать любые дополнительные поля с привязкой к домену

SEO-поддержка

Модуль позволяет задать SEO для каждой страницы с привязкой к домену.

Также вы сможете:

  • задать SEO-текст для каждой страницы с привязкой к домену
  • задать H1-текст для каждой страницы с привязкой к домену
  • задать TITLE для каждой страницы с привязкой к домену
  • задать Description для каждой страницы с привязкой к домену
  • задать Keywords для каждой страницы с привязкой к домену
  • создать любые дополнительные поля для каждой страницы с привязкой к домену
  • указать общий паттерн формирования BROWSER TITLE
  • локализовать поля под любой язык

Кому пригодится:

  • кто хочет продвигать свой сайт точечно в любом городе
  • кто хочет продвигать свой сайт точечно в любой стране
  • кому нужно переключать язык сайта в зависимости от страны
  • кому нужна тонкая SEO-настройка
  • кому нужна поддержка разных языков

Плюсы модуля:

  • почти любой функционал можно включать/отключать
  • возможность полного управления
  • гибкая SEO-поддержка каждой страницы
  • гибкая SEO-поддержка каждого домена
  • очень легкая настройка
  • множество режимов работы
  • возможность исключать пути
  • возможность задавать соответствия
  • не использует сторонние сервисы
  • возможность сделать локализацию полей

Как использовать

Шаг 1. Настройка поддоменов на хостинге

Чтоб настроить поддомены на хостинге вам необходимо будет указать алиасы. Если у вас хостинг, то можете попросить хостера сделать чтобы все домены вида *.mysite.ru вели на корень сайта. Обычно для этого надо сделать что-то вроде такого:

  • Прописать днс-запись
    • IN A IP сервера
  • В настройках apache прописать:
    • ServerName your_site.ru
    • ServerAlias *.your_site.ru

Шаг 2. Указать все поддерживаемые поддомены + основной домен

Вам нужно в админке по пути: Настройки->Настройки продукта->Сайты->Список сайтов->выбираете нужный сайт (обычно s1) и прописываете в поле "Доменной имя", список доменных имен, каждый домен на новой строке.

Шаг 3. Настроить модуль "Поддомены и мультиязычность"

Вкладка "Настройки"

  • Алгоритм - указать алгоритм определения поддоменов
    • Виртуальный - модуль определяет куда направить пользователя, но не производит редиректов и переустановку свойств битрикса. Все данные лежат в свойствах модуля и их можно получить.
    • Поддомен - модуль определяет такой тип subdomain.domain.ru, где subdomain является поддоменом.
    • Подпапка - модуль определяет такой тип domain.ru/subdomain/, где subdomain является поддоменом.
  • Тип - указать какой тип поддоменов.
    • Страны - определяет страну пользователя.
    • Города - определяет город пользователя.
  • Ключ обнаружения IP - ключ в массиве $_SERVER в котором указан ip пользователя
  • Домен по умолчанию - указать домен который является по умолчанию. Можно указать поддомен.
  • Сопоставления - алгоритм сопоставления iso-кода страны/города к имени поддомена.
  • Исключить пути - регулярные выражения путей, на которых модуль не запускается
    • По умолчанию указаны след пути:
      • /bitrix/admin/*
      • /bitrix/tools/*
      • /local/admin/*
      • /local/tools/*
      • и все файлы которые заканчиваются на .php

Вкладка "Домены"

Описание указано ниже (п. Настроить "Поддомены")

Вкладка "Мультиязычность"

  • Включить мультиязычность - при установленной галке мультиязычность работает
  • Язык по умолчанию - код языка по умолчанию, в нижнем регистре
Локализация (языки)

В модуле с версии 0.2.0 есть поддержка локализации полей.

Шаги:
  1. добавить поддержку полей в настройках модуля
  2. заполнить данные в полях на страницах редактирования элементов и разделов
  3. сделать интеграцию модуля в шаблоны компонентов (ниже подробнее)
Интеграция локализации полей в компоненты

Локализация у элементов

Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:

// подгружаем все модуль и все его классы
\Bitrix\Main\Loader::includeModule('dev2fun.multidomain');
$arResult = \Dev2fun\MultiDomain\LangData::getDataFields($arResult,'element');
// где arResult - массив полей элемента
// где element - тип, т.к. мы выводим для элемента, поэтому element

Локализация у разделов

Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:

// подгружаем все модуль и все его классы
\Bitrix\Main\Loader::includeModule('dev2fun.multidomain');
$arResult = \Dev2fun\MultiDomain\LangData::getDataFields($arResult,'section');
// где arResult - массив полей раздела
// где section- тип, т.к. мы выводим для раздела, поэтому section

Вкладка "SEO"

  • Включить SEO - при установке включается SEO у всех доменов и поддоменов. На сайте, для админов, выводится кнопка настройки сео.
  • Активировать SEO-паттерн для title - активирует поле с SEO-паттерном ниже. В данный момент модуль поддерживает паттерны:
    • #TITLE# - текущий title страницы
    • #CITY# - город

Шаг 2. Указать все поддерживаемые поддомены + основной домен

Путь: Настройки->Настройки продукта->Настройки модулей->Поддомены и мультиязычность->Вкладка Домены->нажать на ссылку

Пройдясь по вышеуказанному пути мы попадаем в хайлоадблок битрикса "Dev2funMultiDomain"\

В нем создаем записи. Каждая запись соответствует поддерживаемому домену\

Свойства:

  • Активность - указывает на активность домена
  • Название - внутреннее название домена (любое, не влияет на систему)
  • Подддомен - указываем название поддомена, например нам нужен вот такой вид my.domain.ru, то в этом поле указываем my
  • Главный домен - указываем название главного домена, в нашем случае domain.ru
  • HTML-код счетчиков - сюда копируем все нужные счетчики учета (например Yandex.Metrika или Google Analytics)
  • HTML-код мета-тегов - сюда копируем мета-теги для разных верификаций и любые другие, которые нужно вывести для этого поддомена
  • Язык - тут указываем язык поддомена. Работает только при включении Мультиязычности. А если указать redirect, то система будет проверять пользователя и перенаправлять его на нужный поддомен.

Для программистов

Получить информацию о текущем домене:

Dev2fun\MultiDomain\Base::GetCurrentDomain()

Получить язык текущего домена:

Dev2fun\MultiDomain\Base::GetCurrentDomain()['UF_LANG']

Получить имя поддомена:

Dev2fun\MultiDomain\Base::GetCurrentDomain()['UF_SUBDOMAIN']

Поддерживаемые события

название события передаваемые переменные описание
OnBeforeSeoSetCityName &$cityName - название города
$currentDomain - массив полей текущего домена
Событие запускается перед заменой seo-шаблона {=get_city}

Migrations

Note: Данный раздел обязателен для тех, кто обновляется через гитхаб. Если вы обновляетесь через систему обновления битрикса, то эти действия выполнять не нужно

0.1.39 - 0.2.0

Для миграции на версию 0.2.0 необходимо запустить файл migrations/0.2.0.php

При успехе, вы увидите сообщение: 0.2.0 - Success

Техническая поддержка

Поддержку решения осуществляет @darkfriend от команды dev2fun Вы можете найти меня по этому нику в telegram или написав на почту [email protected]

Поддержка выпуска обновлений

Yandex.Money 410011413398643
Webmoney WMR (rub) R218843696478
Webmoney WMU (uah) U135571355496
Webmoney WMZ (usd) Z418373807413
Webmoney WME (eur) E331660539346
Webmoney WMX (btc) X740165207511
Webmoney WML (ltc) L718094223715
Webmoney WMH (bch) H526457512792
PayPal @darkfriend
Payeer P93175651
Bitcoin 15Veahdvoqg3AFx3FvvKL4KEfZb6xZiM6n
Litecoin LRN5cssgwrGWMnQruumfV2V7wySoRu7A5t
Ethereum 0xe287Ac7150a087e582ab223532928a89c7A7E7B2
BitcoinCash bitcoincash:qrl8p6jxgpkeupmvyukg6mnkeafs9fl5dszft9fw9w

About

Поддомены для 1с-битрикс и мультиязычность для 1с-битрикс. Страны и Города. Легкая настройка.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 69.0%
  • Vue 17.6%
  • JavaScript 7.8%
  • CSS 5.0%
  • Shell 0.6%