Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Следить
Главная
18:49
04 авг
#
?
Maxim написал:

Приветствую Dev'ы! Сейчас рассматриваю переезд магазина на другую CMS (текущая - кастом на Yii), с нормальным суппортом и современным функционалом. Присматриваюсь и к вашей, в связи с чем вопрос по существу.

Есть региональные (по городам представительствам) домены вида
aaa.host.ru
bbb.host.ru
...
xxx.host.ru
+ несколько
host2.ru
host3.ru

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

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

Хотелось бы воспроизвести такую функциональность на Импере и ... сделать это не просто ручками в .htaccess, а добавить в админку нормальный интерфейс для управления этими субдоменами. Под нормальным, я подразумеваю возможность добавления соотвествующего субдомена с последующей коррекцией каталога для него (например добавил я bbb.host.ru и в силу его удаленности поменял для какой-то группы товаров условия отгрузки не поштучно, а по коробкам).

Понимаю, что допилить можно все что угодно до какой угодно функциональности, вопрос только в деньгах ... интересует насколько Импера совместима с таким функционалом? Насколько органично и безпроблемно (считай, относительно бюджетно) это впишется в общую архитектуру этой CMS?

p.s. И да, по лицензиям как это получится?

09:51
25 авг
#
?
написал:

Поддержваю вопрос!

14:40
28 авг
#
написал:

Подобный функционал уже давно предоставляется на базовом уровне Impera CMS. Функция называется - работа нескольких магазинов на одном движке.

Попробую объяснить на абстрактном примере. Предположим, у нас есть главный магазин - допустим, это сайт imperacms.com. И пусть у нас появились следующие региональные магазины:

  • moscow.imperacms.com - для Москвы
  • kiev.imperacms.com - для Киева
  • donetsk.imperacms.com - для Донецка

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

Где предполагалось разместить страницу создания магазинов

Для ручного запуска дополнительных магазинов есть два пути, они описаны ниже. Нужно лишь учесть, что в силу того что Impera CMS предоставляет также и функционал по субдоменному размещению товаров, категорий, брендов и так далее (то есть отдельный товар или бренд например может быть легко размещен на своем субдомене, скажем audi.autoshop.com, смотрите скриншот в конце), то ключ Impera CMS распространяется на домен магазина и его поддомены. Таким образом, для региональных магазинов, если только они не имеют независимых доменных имен, оплачивать лицензионный ключ не нужно. Например эти магазины работают на одном ключе:

  • example.com
  • region1.example.com
  • region2.example.com
  • region3.example.com

А эти магазины работают на четырех разных ключах:

  • example.com
  • region1.com
  • region2.com
  • region3.com

Соответственно, стоимость лицензии в последнем примере возрастает кратно число действующих ключей.


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

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

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

Как прописать домены дополнительных магазинов

Поскольку в данном случае вы напрямую изменяете список адресных записей DNS (система доменных имен), то при сохранении очередных ваших изменений этой системе нужно время, максимум до 3 суток, чтобы изменения стали известны всем серверам системы в мире.

Стоит напомнить, что DNS записи нужно редактировать осторожно, иначе ваш сайт может на длительное время выпасть из поля видимости. Кроме того, нельзя удалять A-записи вида @ (указатель на основной домен) и вида * (указатель на остальные неназванные субдомены).


Путь 2 - безопасный Те же действия выполнить из вашей панели управления сайтом. Для этого зайдите в аккаунт на сайте хостинг-провайдера, найдите панель управления сайтом, в ней найдите раздел управления доменными указателями.

Как найти раздел управления доменными указателями

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

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

Проверяем Один за другим наберите в адресной строке браузера имя домена каждого магазина. Вы должны увидеть, что во всех случаях открывается тот же самый сайт - ваш главный магазин. То есть все региональные магазины пока что являются зеркалами главного магазина. С технической точки зрения, региональные магазины адресованы в ту же папку на сервере, куда и основной, соответственно работают на том же движке, используют ту же базу данных товаров, тот же шаблон (дизайн), имеют идентичное URL-пространство и так далее.

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

  • Config_moscow.imperacms.com.php - для Москвы
  • Config_kiev.imperacms.com.php - для Киева
  • Config_donetsk.imperacms.com.php - для Донецка

Как видно, в каждом примере после слова Config и символа подчеркивания добавляется имя домена регионального магазина (для русскоязычного домена надо указывать его punycode-представление) и завершается расширением .php. То же самое показано на скриншоте.

Как вручную задать конфигурационные файлы для региональных магазинов

Сейчас если мы откроем админпанели магазинов, то пока они еще зеркалируют друг друга, так как все еще пользуются одной базой данных:

  • http://imperacms.com/admin - для главного магазина
  • http://moscow.imperacms.com/admin - для Москвы
  • http://kiev.imperacms.com/admin - для Киева
  • http://donetsk.imperacms.com/admin - для Донецка

Однако зайдя в каждом магазине на страницу настройки -> Конфигурационный файл и сменив там имя базы данных, получим магазин со своей базой данных.


К сведению Следующий скриншот упоминался в начале и просто демонстрирует, что в Impera CMS существует несколько возможностей демонстрации, например страницы товара, в том числе когда он размещается на собственном субдомене. В кратком изложении принцип отрисовки страницы субдомена таков: сначала анализируется отмеченное красными стрелками, если контент субдомена не задан или субдомен отключен - то что помечено зеленым.

Разнообразные способы вывода страницы товара

11:49
04 сен
#
?
написал:
Разработчик написал: Наверняка нам хотелось бы как раз, чтобы каждый магазин использовал свою базу, бекапы, шаблон и так далее.

Мне хочется использовать разделы Страны, Области, Города. Я вижу такие в админ панели. На фронтенде их демонстрацию не найду.

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

Написание ответа

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


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.