[Помогите] Полноценный мультисайт

Тема в разделе "OpenCart", создана пользователем cereberlum, 27 дек 2015.

  1. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Итак, пробую создать мультисайт и все как бы нормально работает но(!) если с товарами и категориями все понятно, то со всякими модулями (приветствие, мегаменю, категории, баннер и т.д.) не слишком, они либо отображаются на всех сайтах, либо только на главном (зависит от модуля). А хотелось бы чтобы можно было выбирать сайт для отображения, думаю что есть такие решения, но найти не могу. Спасибо за любые советы.
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Весь секрет в схемах. Для каждого из сайтов нужен свой отдельный набор схем, а дальше, соответственно, модулю настраивается вывод только на нужные схемы.
    Если в модуле не задаются схемы для вывода (ввиду, например, отсутствия вывода, как такового) и при этом в нём нет отдельной опции для выбора магазина - значит это просто не очень качественный модуль, в котором автор не предусмотрел возможность работы с мультимагазином.
     
    cereberlum нравится это.
  3. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Вот это круто, честно-говоря я уже и позабыл что можно пользоваться схемами, спасибо. Один еще вопрос, у меня есть схема "all page" и она выводит к примеру мегаменю на всем сайте (и на тестовом дополнительном сайте), при этом данной схемы нет в списке схем в админке и выбрать для нее путь и магазин тоже нельзя. Откуда взялась такая схема и может быть есть альтернатива? (выбрать эту схему можно только для мегаменю)
     
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Вероятно, эта схема пришла вместе с мегаменю. В админке она вшита в модуль, а на витрине работает через vQmod.
    В принципе, vQmod должен быть универсальным, то есть без привязки к конкретному модулю, так что, если допилить в админке, то и другие модули должны с этой схемой работать. Под допилить я подразумеваю скопировать код, связанный с ней, в другой модуль, где нужно её добавить.
    Но вот научиться работать её с мультимагазином будет, думаю, достаточно сложно.
     
    cereberlum нравится это.
  5. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Ясно, значит это примерно тот случай, когда схема вгрызается прямо в контроллер - печально что разработчики не предусмотрели возможность использования мегаменю (довольно популярный модуль-то) на мультисайте. А м.б. кто-то знает как проверить в контроллере header.php id магазина? ну что-то типа
    if ($store_id == '2') { some code }
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    В любом контроллере, модели, шаблоне (но только внутри директорий admin и catalog, в других местах немного иначе):
    PHP:
    $this->config->get('config_store_id')
    Правда, в шаблонах это будет работать только в ветке 1.5.
     
    cereberlum нравится это.
  7. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Поделитесь соображениями по поводу robots и sitemap на мультисайте. скажем так, есть основная версия сайта и будут побочные с урезанным ассортиментом и товарами, Собственно 2 вопроса, не начнется ли чехорда из-за карты сайта и директивы хост?
     
  8. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Их нужно убрать.
    Директиву Host понимает только Яндекс и она нужна, чтоб указать основное зеркало сайта, но это можно сделать и в Вебмастере, а директива Sitemap нужна только, если карта сайта лежит не в корне или имеет нестандартное название. Сама же карта генерируется динамически в момент запроса и, соответственно, генерируется для того магазина, для которого её запросили.
     
    cereberlum нравится это.
  9. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Господа, кто-то сталкивался с тем, что на мультимагазине ссылка на главную в хлебных крошках ведет на основной домен? Как лечить?
     
  10. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Если только ссылка на главную, то это там что-то нахимичили, скорее всего, в контроллере страницы, на которой выводятся такие хлебные крошки. В оригинальном варианте там либо везде будут ссылки на основной домен, либо везде правильные.
     
  11. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Да, ссылка только на главную неправильная, на саму себя и на родителей ссылки нормальные, но что дело в контроллере почти исключено, т.к. это на всем сайте, а не на какой-то группе страниц. В контроллерах как положено 'href' => $this->url->link('common/home'), ( я так понимаю вы об этом говорили). Кстати, при клике на лого тоже вело на основной домен, но там-то я просто поправил шаблон, подставив / вместо <?php echo $home; ?>, видимо косяк как раз с определением адреса главной страницы в системе. Да, пробовал как в режиме поддомена, так и отдельного домена - разницы нет.
     
  12. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
  13. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    1.5.6 (условно-чистый) + есть paladin, да, я мог что-то замудрить, конечно.
     
  14. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Выложите сюда index.php и /system/library/url.php из кеша vQmod, если он там есть, либо оригинальный, если в кеше нет.
     
  15. cereberlum

    cereberlum

    Регистрация:
    26 май 2013
    Сообщения:
    756
    Симпатии:
    269
    Оригинальные файлы, в кеш vqmod нет их.
     
  16. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Ну, вот и причина проблемы:
    PHP:
    if($route == 'common/home') {
    if(
    $connection == 'NONSSL') { return HTTP_SERVER; }
    else { return 
    HTTPS_SERVER; }
    Не знаю, откуда это там, но именно из-за этого куска кода, оно адрес главной страницы берёт не из базы для текущего магазина, а из файла конфига, где прописан адрес для основного магазина. Этот кусок нужно удалить.
    Вообще, можно было и без меня догадаться, что проблема здесь.

    Кстати, я первый раз вижу в этом файле такую правку. По идее, её задача, чтоб ссылка на главную всегда была чистым адресом домена, но при использовании ЧПУ это всегда решалось соответствующим алиасом в таблице ЧПУ в базе.
     
    cereberlum нравится это.