[changeDomain] - определение поддоменов


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


В принципе компонент простой для многих, и это все можно было бы написать и не заворачивать в дополнение, но я попробовал.

В настройках nginx или apache надо сделать перенаправление всех запросов на основной домен. Компонент подхватывает домены на лету.

Создать поддомен:




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



Если при заходе на сайт, поддомен определился и он есть, то данные записываются в сессию

$_SESSION['domain']


UPD от 24.10.2017

Добавил поле keywords:



Скачать:
modstrore.pro
GitHub
22 октября 2017, 07:16    Михаил   G+  
18    413 +20

Комментарии (14)

  1. Азамат 24 октября 2017, 10:31 # 0
    Аналог друпального Domain Access? Круто :)
    Плюсанул, в закладки, звездочку на гитхабе :)
    1. Андрей 25 октября 2017, 11:21 # 0
      Подскажите, чем отличается от компонента CityFileds?
      1. Михаил 25 октября 2017, 11:32 # 0
        Добавление городов в список.
        Определение города по домену.
        Определение города по IP-адресу.
        Добавление уникальной информации для каждого города.
        Управление ценами товаров miniShop2 для каждого города.

        В моем просто поддомен и к нему опции.
        1. Андрей 25 октября 2017, 12:01 # 0
          Получается CityFields более широким функционалом обладает? Ваш же компонент полностью может быть заменен тем?
          1. Михаил 25 октября 2017, 15:04 # 0
            Возможно. Я не проверял тот компонент
            1. Илья Уткин 25 октября 2017, 19:03 # +3
              CityFields платный, а этот бесплатный. Если навороченный функционал не нужен — это хорошая замена.
        2. Волков Николай 31 октября 2017, 05:36 # 0
          Прости меня, Господи… Но зачем значения хранить в Сессии? Мне уже плохо от одной только мысли, что в сессии будет храниться код для счетчиков, вроде Метрики… Чем не устраивает кэш? Благо, под субдомены обычно используются контексты, в их кэш и заносилось бы…
          1. Михаил 31 октября 2017, 06:41 # 0
            А чем для вас плохо хранить данные в сессии? И смысл создавать контексты, если меняются только адреса да телефоны?
            1. Волков Николай 31 октября 2017, 06:53 # 0
              Как минимум то, что в сессиях хранятся обычно уникальные для посетителя значения, а не для его города + в случае счетчиков и т.п. скриптов, то, что по сути они готовый кусок HTML, который надо обернуть в
              1. Михаил 31 октября 2017, 07:37 # 0
                А кто придумал это обычно? Сессии для хранения временных данных, что тут как раз и уместно. Но ваше предложение какое? Давайте я добавлю как правильно
                1. Руслан Алеев 31 октября 2017, 18:23 # 0
                  Здравствуйте, Михаил, подскажите ответы:
                  1) " Неограниченного количества опций к каждому поддомену" — опции, это TV или настройки, как их в шаблоне вызвать?
                  2) «Перенаправление всех запросов на основной домен» — можно пример для apache? Не подхватываются автоматом, может не так написал.
                  1. Михаил 01 ноября 2017, 08:13 # +1
                    В шаблоне к примеру можно
                    $_SESSION['domain']['options']
                    Феном:
                    $.session.domain.options
                    По Apache к сожалению не подскажу, не работаю с ним (
                    1. Руслан Алеев 01 ноября 2017, 11:17 # 0
                      Хорошо, спасибо
          2. Волков Николай 31 октября 2017, 05:45 # +1
            Небольшая поправка: я тут вспомнил, что у меня есть сайты, где 1314 субдоменов (по одному на город в РФ + работа с адресом каждого субдомена из админки) :-) Там я не использовал контексты и это бы не прокатило :-) Но случай все равно частный, т.к. единичным случаям до сих пор неизвестно, что в SEO такое не прокатит, а скорее наоборот:-)
            Вы должны авторизоваться, чтобы оставлять комментарии.