Сайты для филиалов компании стран бывшего СНГ

У Вас есть интернет-магазин с простой формой заказа или даже официальный сайт каталог сделанный на HostCMS? Этот сайт полностью отвечает вашим требованиям, но появилась задача: «Сделать сайты для филиалов компании из стран бывшего СНГ». Главное условие, сайт должен использовать действующий каталог товаров, но цена должна быть в другой валюте.

В процессе работы появляется ряд дополнительных требований:

  1. «Заголовок» (Title) у разделов каталога и товаров должен иметь другой вид и содержать название сайта филиала.
  2. «Описание» у разделов каталога должно отличаться от основного сайта.

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

  1. Быстрый — времени мало, сроки сжатые. Всё нужно было сделать вчера.
  2. Правильный — времени достаточно на разработку, выявление и исправление ошибок. Нужно сделать так, чтобы нечего не отвалилось при неловких движениях администратора сайта.

Существуют ключевые операции, которые необходимо сделать в первом и втором способе. Всё приведенное ниже подходит для коммерческих редакций HostCMS, т.к. в бесплатной существует ограничение на 2 сайта. При попытке сделать большее количество на одном экземпляре у вас появится предупреждение: «Превышен лимит доступных сайтов в системе! Удалите лишние сайты из системы или приобретите полнофункциональную версию».

1. Создать дополнительный сайт

Системные функции -> Сайты -> Добавить

При создании нового сайта, появится форма «Добавление информации о сайте». Обязательное поле «Название сайта». Так же потребуется прописать кодировку и выбрать локаль, если они отличаются от значений по умолчанию UTF-8 и ru_RU.utf8. Не маловажным списком является «Часовой пояс», в нем можно выбрать город, в котором находится филиал.

На данном этапе развития этой системы управления присутствует минус – часовой пояс имеет значение континент/город, например, Europe/Moscow. Не хватает наглядного отображения, разницы времени по стандарту UTC.

1.1. Указать домен, на котором будет расположен сайт

Системные функции -> Сайты -> Домены -> Добавить

В данном этапе, пункт «Домены», подразумевает клик по иконке земного шара, напротив добавленного сайта. Вводим домен без http:// , на котором будет находиться сайт филиала. Рекомендуется перед названием сайта, поставить «*.», например *.domains.sbbo.ru

1.2. Получить ключ

Системные функции -> Сайты -> Домены -> Ключ

После того, как домен добавлен, нужно получить для него ключ.

2. Сделать копию макета

Структура сайта -> Макеты сайта -> Копировать

Это потребуется для того, чтобы оперативно менять дизайн и в определенных местах выводить другую контактную информацию. Для того, чтобы макет был доступен на другом сайте, заходим в его редактирование и в параметрах меняем значение списка «Сайт», на нужный.

2.1. Сделать копию шаблонов

Структура сайта -> Шаблоны страниц -> Копировать

После копирования, меняем параметр шаблона «Сайт», по аналогии с пунктом 2.

2.2. Сделать копию XSL шаблонов

Структура сайта -> XSL-шаблоны -> Интернет-магазин

Рекомендую не просто скопировать XSL-шаблоны, которые задействованы в сайте-каталоге, а создать отдельную папку в разделе «Интернет магазин» с названием домена. Переместить в неё скопированные шаблоны, и отредактировать таким образом, чтобы в конце названия шаблона присутствовала доменная зона. Если адрес сайта филиала отличается не только доменной зоной, RU, BY, COM.UA, KZ и т.д. но и названием, пропишите в конце шаблона и название. Это позволит избежать путаницы в дальнейшем и увеличит скорость внесения изменений на сайте.

Базовые XSL-шаблоны, которые нам потребуются:

  • МагазинКаталогТоваровНаГлавной
  • МагазинТовар
  • МагазинКаталогТоваров

3. Внести изменения в настройки типовой динамической страницы

Без этих изменений вы не сможете использовать интернет-магазин в структуре сайта на других доменах. И в процессе решения поставленной задачи, появятся вопросы:

  • Создал сайта, а в структуре каталога нет нужного интернет-магазина, что делать?
  • Что сделать, чтобы интернет-магазин стал доступным для выбора?
  • Не получается использовать готовый интернет магазин HostCMS с другого домена

Структура сайта -> Типовые динамические страницы -> Интернет-магазин

Рекомендую предварительно скопировать типовую динамическую страницу, чтобы исходный код, был всегда под рукой. В списке типовых динамических страниц напротив «Интернет магазин» есть значок «Параметры». Нажимаем на него, и переходим в их редактирование.

Нам нужен параметр «Идентификатор магазина».
название переменной: shop_id
тип : SQL-запрос
поле заголовка: shop_shops_name
поле значения: shop_shops_id

По умолчанию SQL-запрос имеет вид:

SELECT * FROM `shop_shops_table`
WHERE `site_id` = '{SITE_ID}'
ORDER BY `shop_shops_name`;

меняем этот запрос, на

SELECT * FROM `shop_shops_table`
ORDER BY `shop_shops_name`;

4. Добавить курсы валют.

Интернет-магазин -> Финансы -> Валюты

По умолчанию в системе три валюты, одна из которых является базовой, а по отношению к ней устанавливаются курсы других валют.

Предустановленная валюта формата (Название — Международное):
руб. — RUR
€ — EUR
$ — USD

Добавляем ещё три:
грн. — UAH
тенге — KZT
Br — BYR

Курсы валют в HostCMS можно менять вручную, но при необходимости можно настроить автоматическую загрузку через cron (crontab).

На этом базовые изменения для создания заканчиваются. Продолжение следует.

Если у Вас появились вопросы или проблемы в процессе решение задачи, пишите сюда. Постараюсь проконсультировать, по коду системы управления и общими усилиями исправим возникшие ошибки.

Сайты для филиалов компании стран бывшего СНГ: 3 комментария

  1. Каким образом можно настроить динамичный вывод комментариев?
    Это как-то связано с ТДС.

    • Что именно вы подразумеваете под динамичным выводом комментариев? Вывод их по мере прокрутки страницы через Ajax?

  2. В силу того, что на подходе релиз HostCMS 6, где не задействован Zend Optimizer, используется новое API и изменены параметры для XML/XSL — публикация информации относительно 5-ой версии является не целесообразной.

Добавить комментарий для Andrew Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*