Вход • Регистрация

Несколько городов на сайте - раздельная информация

  • 12 апреля 2016 г. , редакция: 12 апреля 2016 г.
  • Всем привет! Кто-нибудь реализовывал сайт на несколько городов? Хотелось бы увидеть примеры уже рабочих сайтов, ну или как это вообще делали (сам принцип).

    На сайте будут разделы общие для всех городов и раздельные. Например, О компании, Отзывы, Партнеры будут общие для всех городов. Каталог, Новости, Галерея и т.п. будут раздельные, т.е. разная информация для разных городов.

    Первое, что пришло на ум – сделать на разных поддоменах, т.е. получается каждый город это отдельный сайт с отдельной админкой. Но тогда общую информацию придется просто дублировать на всех сайтах (городах). И соответственно адреса для городов будут вида:
    moscow.site.ru
    spb.site.ru
    kazan.site.ru
    и т.д.

    Вторая мысль – это сделать по что-то подобное на «Языки сайта». Удобно тем, что админка одна, просто вверху где сейчас язык переключается – будут названия городов, нажав на нужный будет отображаться информация этого города. Ну и соответственно адреса для городов будут вида:
    site.ru/moscow/…
    site.ru/spb/…
    site.ru/kazan/…
    и т.д.

    Какой из этих способов более правильный и грамотный, или есть более интересные варианты?

  • 12 апреля 2016 г.
  • Хотя по второму варианту - тот принцип как этот модуль сделан, наверное не пойдет. Т.к. создав страницу или товар или другой элемент в модуле на одном языке (городе) он появляется, но не активный и в других городах. Это еще терпимо для страниц, но если каталоги разные для разных городов, то тут уже будет неразбериха.
    • 12 апреля 2016 г. , редакция: 12 апреля 2016 г.
    • Всё лучшее состоит из простых вещей. Чем сложнее система, тем выше вероятность ошибок.
      И так, если у Вас ассортимент для каждого города разный, то Вы можете создать несколько модулей "Интернет-магазин", т.е. свой для каждого города. А, например, по ip определять вероятное местоположения. Cookie использовать, чтобы запомнить выбор пользователя о месте его нахождения. Соответственно отображать для пользователя нужный модуль "Интернет-магазин".
      Если ассортимент не такой уж и разный, то в характеристиках можно создать характеристику "Список с выбором нескольких значений", где перечислить требуемые города (можно определить такую характеристику, как влияющую на цену, чтобы иметь возможность увеличивать или уменьшать цену в зависимости от города). Далее, также отрабатывать по ip с использованием cookie. Т.е. фильтруем товар по характеристике. Опять же поиск можно организовать интересный по городам, дизайн сайта под каждый город и т.д. В общем вариантов много ...
      Успехов.
      • 13 апреля 2016 г.
      • Виталий, спасибо за вариант, идею! А вы уже подобное реализовывали? есть пример?
  • 02 сентября 2018 г.
  • Создавал данную тему очень давно, НО в итоге так и не дошли до реализации этой задачи. Теперь она появилась снова ).

    Не прошу её решить, а прошу поделиться опытом, если у кого есть, или мыслями… идеями. Задача подобная, но чуть конкретней:

    Интернет-магазин на несколько городов. По умолчанию будет основной город ЕКБ и адрес будет типа site.ru. Другие города будут на поддоменах, например: gorod1.site.ru ... gorod2.site.ru … gorod3.site.ru и т.д.
    Т.е. по сути как бы разные сайты для каждого города - РАЗНЫЙ контент (новости, доставка, контакты, статьи … да всё подряд) и КАТАЛОГ в том числе, ну и СЕО!

    КАТАЛОГ у каждого города свой - т.е. в 1С для каждого города своя БД будет и будет синхронизация на каждый сайт (город) отдельная. Т.е. будут и позиции отличаться, и цены, и характеристики возможно и т.д. - в общем независимые друг от друга.

    Далее раскидываем копии сайтов на необходимые поддомены для городов . И организовываем определение по IP подходящего города и переключение городов, с помощью cookie запоминать выбор.

    !!!Вот теперь по поводу КРОССДОМЕННОСТИ для Регистрации пользователей, Личного кабинета и Заказов - тут вот и «соображалка пока не соображает» как поступить и сделать, т.к. опыта нет ещё и вот какие МЫСЛИ:

    Вариант 1: БЕЗ кроссдоменности – ну тут всё понятно… разные параллельные сайты, всё независимое, только определение и переключение между городами сделать.

    Вариант 2: Кроссдоменность для Регистрации пользователей, ЛК и Заказов:
    Без разницы где зарегистрировался пользователь (на основном сайте или каком-то поддомене) - он может войти под тем же логином в любом из городов. И соответственно при переключении городов остаётся авторизированным. Переключаясь между городами - состав корзина не меняется... сохраняется… дополняется. В личном кабинете история и состав заказов общий на все города.
    Т.е. БД у городов разные, а вот данные ПОЛЬЗОВАТЕЛЕЙ и ЗАКАЗОВ должны быть общие или дублироваться как то.

    Данный вариант был бы ИДЕАЛЕН для удобства клиентов, НО - КАТАЛОГИ то разные (и БД тоже), т.е. в них разные товары могут быть и цены тоже. Например, вот такие ситуации:
    На ОСНОВНОМ домене мы положили в корзину товар "ТОВАР1" по цене 250 рублей. Потом перешли поддомен gorod2.site.ru - а на нём у этого товара цена 260 рублей! Что тогда?
    ИЛИ, например, на ОСНОВНОМ домене мы положили в корзину товар " ТОВАР1", а на gorod2surgut.site.ru этого товара вообще нет! Тогда как быть? … и так много моментов!

    ПОЭТОМУ думаем над Вариантом 3!
    Вариант 3: Кроссдоменность только для Регистрации пользователей, ЛК:
    РЕГИСТРАЦИЯ и АВТОРИЗАЦИЯ пользователей должна быть общая или параллельная/дублирующая, а Корзина и заказы уже отдельное всё по городам.
    1) ЕСЛИ клиент зарегистрировался на основном домене или на любом поддомене, то он автоматом регистрируется и на всех остальных поддоменах и основном домене. Как бы параллельно в остальные БД в соответствующие таблицы вносит дубликаты записей пользователей или как-то общее это сделать.
    2) АВТОРИЗАЦИЯ – если залогинился на одном сайте, то и автоматом должен залогинится на остальных сайтах. Тоже не знаю насколько возможно это… может какими-то скриптам или запросами это делать при авторизации.
    3) РЕДАКТИРОВАНИЕ ПРОФИЛЯ – если на одном из сайтов поменять какие-то свои данные в профиле, то они параллельно сохраняются и в других домена/поддоменах.
    4) КОРЗИНА – тут уже всё РАЗДЕЛЬНОЕ (НЕ кроссдоменное)! Для каждого города КОРЗИНА своя… , т.е. перейдя на другой город содержимое корзины НЕ перенесется!
    Просто сделать, чтобы при переключении города, если клиент уже что-то положил в корзину - УВЕДОМЛЯТЬ клиента, что «перейдя на другой город содержимое корзины НЕ перенесется! А останется в том городе».
    5) ЛИЧНЫЙ КАБИНЕТ и ИСТОРИЯ ЗАКАЗОВ. В личном кабинете в истории заказов отображать заказы только для текущего города, и там же разместить кнопки или ссылки "Ваши заказы в других городах: Город1 Город2 Город3" и просто по ссылкам переходят в личный кабинет другого соответствующего поддомена в историю заказов сразу… и там уже соответствующие городу заказы, если есть они.


    ================
    Возможен ли вообще Вариант 3? Или это бредовая мысль? ) В общем прошу не кидаться камнями, а подсказать ))
    • 02 сентября 2018 г.
    • Ммм.. Ну мысля такая: делаете сайты на поддоменах, независимые друг от друга в принципе, раз у вас все там разное будет.
      Далее подключаете фиговину для определения города пользователя.
      Вылезает табличка: вы из города1? Правильно?
      Пользователь тычет "ага" и попадает на нужный сайт.
      Либо говорит нет и тогда ему предлагают список городов (типа к которому вы ближе).

      Остается только под "ага" и список городов подсунуть нужные ссылки.

      Типа того.
      • 02 сентября 2018 г.
      • Александра, спасибо за ответ:) Но тут вопрос не о переключении городов - это всё понятно как сделать... а именно про Кроссдоменность, т.е. регистрация и авторизация пользователей сразу на всех городах...
        • 02 сентября 2018 г.
        • А. Извиняюсь тогда. Это, видимо, к сотрудникам диафана лучше вопрос: здесь-то регистрация и авторизация сразу на всех поддоменах сделана. Но, видимо, база единая.
  • 02 сентября 2018 г.
  • Текста ооочень много, но краткость мне с трудом дана, и то это раза в 2-3 сократил))
  • 03 сентября 2018 г.
  • Никто не делал что ли подобное?
    • 03 сентября 2018 г.
    • Делали такое, только разработчики диафана
    • 03 сентября 2018 г.
    • Вы поищите на форуме, как делают разные языковые версии на поддоменах. Вроде недавно что-то такое обсуждали.

      Собственно, вопрос так можно решить.
      База единая, следовательно и регистрация будет срабатывать сразу везде.
      А вот вместо разных языков у вас будут разные города со своим контентом.

      С товарами придется как-то решить. Наверное создавать несколько страниц с разными ИМ и там свои товары, только на сайтах уже выводить определенный ИМ.

      П.С. Я вижу в этом единственный вариант.
    • 04 сентября 2018 г.
    • Максим, я пытался приблизиться к этому, но потом мне помнится свернули проект. Диафан система конечно любимая но уж очень неудобная для подобного. Тут функционала CMF(Content Management Framework ) не хватает конечно катастрофически.


      Смысл делать имеет в любом случае ибо по слухам можно срубать нехилый трафон.

      Если каталог, цены и остатки Если бы я стал делать, я бы делал примерно так:

      - Оставил все в рамках 1го сайта и 1 БД.
      - Наплодил бы под каждый город сущностей типа новости/статьи и т.п.
      - Сделал бы некую кросс таблицу: какому городу соотвествуют какие новости/статьи/ окончание title/description и т.п.
      - В шаблонах вставил бы костыль позволяющий показывать в этом месте новости/статьи/ возможно даже меню соотвествующие этому городу по кросс/таблице
      - внимательно проработал бы все места где у нас Title генерится и иже с ними

      Зашли на поддомен, где то в init проверили есть ли поддомен в кросс таблице городов и так далее.
  • 04 сентября 2018 г.
  • Цитата
    Возможен ли вообще Вариант 3?

    Да. Конечно. Всё возможно.
    Авторизация, пользователи, регистрация - это модуль пользователей (т.е. БД) и сессии (т.е. хостинг). Соответственно, сделать нужно две вещи: 1. на хостинге указать одну единую папку для хранения сессий для всех сайтов. И 2. выбрать основной сайт, оставив таблицу пользователей на нём, а в скриптах других сайтов поправить все запросы, убрав {} в таблицах, изменив на прямое указание таблиц. Т.е. не {user} чтобы было, а prefix_user
  • 01 ноября 2018 г. , редакция: 01 ноября 2018 г.
  • Всем привет! И снова возвращаюсь к данной теме.

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

    ОСНОВНЫЕ МОМЕНТЫ:
    1. Основной город должен быть на основном домене, а остальные города должны быть на отдельных ПОДДОМЕНАХ.

    2. В общем КАТАЛОГ на всех городах по сути будет один и тот же, т.е. Структура категорий, и товары одни и те же, НО отличаться будут Цены и Наличие.
    В 1С в данный момент это одна БД, в которой для каждого товара отмечена своя цена и наличие для каждого города.
    Что-то подобное и думаем на самом сайте сделать, т.е. БД одна и в ней у каждого товара должна быть цена и наличие для каждого города… чтобы в дальнейшем на сайте на соответствующем городе выводить соответствующие цены и наличие.

    3. Структура сайта тоже будет одна и та же для городов, а контент разный. Т.е. набор разделов (Статичные страницы - Доставка, О компании, Контакты, Новости, Акции, Галерея и т.д.) будет одинаковый на всех городах, а вот само содержимое (например, сами новости и их содержимое и т.д.) будет разными.

    4. Находясь на внутренних страницах сайта (новость какая-нибудь, Товар, Категория Каталога, Контакты и т.д.) и переключаясь между городами – мы должны остаться на тоже странице (т.е. с тем же URL), только меняется ПОДДОМЕН, и соответственно информация.

    5. Регистрация, ЛК, Заказы… должны быть едиными на все города, т.е. централизованными.

    6. Управление сайта с одной админки на ОСНОВНОМ адресе.

    7. По тому как организовано переключение городов и как себя ведет сайт при переключении городов хотелось бы как тут примерно - https://stroyudacha.ru/

    СПОСОБ РЕАЛИЗАЦИИ:
    Что если реализовать на базе модуля «ЯЗЫКИ САЙТА» или на его Копии. Вроде идеально почти … многое уже учтено и реализовано! Т.е. БАЗА то по сути ОДНА. Есть определенные моменты:
    1. Переделать на ПОДДОМЕНЫ, чтобы вместо site.ru/msk/… добавлялся поддомен MSK (msk.site.ru). Соответственно учесть это в ПРЕКЛЮЧЕНИИ городов.

    Отсюда ВОПРОС – возможно ли переделать как то ЯЗЫКИ САЙТА, чтобы поддомен добавлялся, а не приписка к адресу /msk/? Например, как сейчас есть возможность делать с мобильной версией - "Использовать имя мобильной версии в качестве ПОДДОМЕНА".

    2. КАТАЛОГ – вот тут нужно сообразить, как организовать и переработать!
    Думаю у товаров добавить новые поля типа («Цена для города1», и галочка «Наличие в городе1» … и так для каждого города).
    Далее нужно доработать скрипт импорта из 1С так, чтобы он грузил каталог во все города сразу, т.е. Добавлялись, Активировались, Было одно и тоже название для КАТЕГОРИЙ, БРЕНДОВ, ХАРАКТЕРИСТИК (а также всё что с ними связано), ТОВАРЫ (Название, Описание, Фото, Характеристики, Похожие товары, и т.д. должны сразу заполняться для всех городов одними и теми же данными, КРОМЕ цены и галочки НАЛИЧИЕ для каждого города – они свои). Галочка НАЛИЧИЕ должна влиять не на Активность товара, а на отображение или нет его в Списке товаров, в Фильтрации и в Поиске по сайту.

    ВОПРОС – так реально вообще? Есть в этом разумное? Или как-то по другому лучше сообразить?

    И еще вопрос! Если всё-таки сделать всё что написано выше, НО не на Поддоменах, а как по умолчанию Языки сайта, т.е. города будут так site.ru/msk/ site.ru/spb/ и т.д.
    Как это со стороны СЕО для разделения городов? Плохо, нормально, никак, нормально но нужно заморочится, чтобы нормально для СЕО было?
    • 02 ноября 2018 г.
    • По реализации я сделал бы иначе, но хочу сказать о другом.
      По СЕО, делать отличия между городами только в цене и в наличии, ничего хорошего не даст, яндекс тупо все поддомены посчитает за зеркало и склеит их. Нужно менять еще как минимум тексты на всех страницах, маленького шаблона будет недостаточно. А еще лучше отображение самих товаров, если этого товара нет в таком то городе, то не отображать его, чтобы еще больше сделать уникальным поддомен.
      • 02 ноября 2018 г.
      • Степан, спасибо за инфу по СЕО.

        По поводу отображения товаров... думали сделать так: если нет в наличии, то исключить товар из списка товаров, из поиска, из фильтра,... и чтобы не индексировался ... в карте сайта отсутствовал, НО чтобы был доступен по прямой ссылке. Это для того, чтобы если на одном городе находимся на странице товара и переключаемся на другой город, где этот товар отсутствует, то по прежнему бы видели этот товар (т.е. и URL тот же), НО вместо цены - "Нет в наличии в этом городе".

        А по реализации какие у вас мысли - иначе?)
        • 02 ноября 2018 г.
        • Чтобы не захламлять таблицы дефолтные в диафане, создать свои, где будет информация с текстами, ценами, наличием и что еще необходимо, если определился город не по умолчанию который назначен, то делаем редирект на тот, который определился, если он есть в базе. допиливаем модельку шопа, если город опять таки не дефолтный, то берем инфу из той таблицы, которую создали, иначе со стандартных таблиц. Делаем некий модуль в админку, где управляем этой информацией.
          Цену и наличие можно допилить конечно же в самом каталоге, но не уверен.

          На самом деле все очень легко, но времени нужно от 3 дней точно. Сырую версию можно и за день написать, ничего такого тут нет. А потом уже по доработкам, кто что желает, можно вечность делать)))
  • 25 сентября 2019 г.
  • Ап. Появились ли у кого решения?

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

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум