Итак, пробую создать мультисайт и все как бы нормально работает но(!) если с товарами и категориями все понятно, то со всякими модулями (приветствие, мегаменю, категории, баннер и т.д.) не слишком, они либо отображаются на всех сайтах, либо только на главном (зависит от модуля). А хотелось бы чтобы можно было выбирать сайт для отображения, думаю что есть такие решения, но найти не могу. Спасибо за любые советы.
Весь секрет в схемах. Для каждого из сайтов нужен свой отдельный набор схем, а дальше, соответственно, модулю настраивается вывод только на нужные схемы. Если в модуле не задаются схемы для вывода (ввиду, например, отсутствия вывода, как такового) и при этом в нём нет отдельной опции для выбора магазина - значит это просто не очень качественный модуль, в котором автор не предусмотрел возможность работы с мультимагазином.
Вот это круто, честно-говоря я уже и позабыл что можно пользоваться схемами, спасибо. Один еще вопрос, у меня есть схема "all page" и она выводит к примеру мегаменю на всем сайте (и на тестовом дополнительном сайте), при этом данной схемы нет в списке схем в админке и выбрать для нее путь и магазин тоже нельзя. Откуда взялась такая схема и может быть есть альтернатива? (выбрать эту схему можно только для мегаменю)
Вероятно, эта схема пришла вместе с мегаменю. В админке она вшита в модуль, а на витрине работает через vQmod. В принципе, vQmod должен быть универсальным, то есть без привязки к конкретному модулю, так что, если допилить в админке, то и другие модули должны с этой схемой работать. Под допилить я подразумеваю скопировать код, связанный с ней, в другой модуль, где нужно её добавить. Но вот научиться работать её с мультимагазином будет, думаю, достаточно сложно.
Ясно, значит это примерно тот случай, когда схема вгрызается прямо в контроллер - печально что разработчики не предусмотрели возможность использования мегаменю (довольно популярный модуль-то) на мультисайте. А м.б. кто-то знает как проверить в контроллере header.php id магазина? ну что-то типа if ($store_id == '2') { some code }
В любом контроллере, модели, шаблоне (но только внутри директорий admin и catalog, в других местах немного иначе): PHP: $this->config->get('config_store_id') Правда, в шаблонах это будет работать только в ветке 1.5.
Поделитесь соображениями по поводу robots и sitemap на мультисайте. скажем так, есть основная версия сайта и будут побочные с урезанным ассортиментом и товарами, Собственно 2 вопроса, не начнется ли чехорда из-за карты сайта и директивы хост?
Их нужно убрать. Директиву Host понимает только Яндекс и она нужна, чтоб указать основное зеркало сайта, но это можно сделать и в Вебмастере, а директива Sitemap нужна только, если карта сайта лежит не в корне или имеет нестандартное название. Сама же карта генерируется динамически в момент запроса и, соответственно, генерируется для того магазина, для которого её запросили.
Господа, кто-то сталкивался с тем, что на мультимагазине ссылка на главную в хлебных крошках ведет на основной домен? Как лечить?
Если только ссылка на главную, то это там что-то нахимичили, скорее всего, в контроллере страницы, на которой выводятся такие хлебные крошки. В оригинальном варианте там либо везде будут ссылки на основной домен, либо везде правильные.
Да, ссылка только на главную неправильная, на саму себя и на родителей ссылки нормальные, но что дело в контроллере почти исключено, т.к. это на всем сайте, а не на какой-то группе страниц. В контроллерах как положено 'href' => $this->url->link('common/home'), ( я так понимаю вы об этом говорили). Кстати, при клике на лого тоже вело на основной домен, но там-то я просто поправил шаблон, подставив / вместо <?php echo $home; ?>, видимо косяк как раз с определением адреса главной страницы в системе. Да, пробовал как в режиме поддомена, так и отдельного домена - разницы нет.
Выложите сюда index.php и /system/library/url.php из кеша vQmod, если он там есть, либо оригинальный, если в кеше нет.
Ну, вот и причина проблемы: PHP: if($route == 'common/home') {if($connection == 'NONSSL') { return HTTP_SERVER; }else { return HTTPS_SERVER; } Не знаю, откуда это там, но именно из-за этого куска кода, оно адрес главной страницы берёт не из базы для текущего магазина, а из файла конфига, где прописан адрес для основного магазина. Этот кусок нужно удалить. Вообще, можно было и без меня догадаться, что проблема здесь. Кстати, я первый раз вижу в этом файле такую правку. По идее, её задача, чтоб ссылка на главную всегда была чистым адресом домена, но при использовании ЧПУ это всегда решалось соответствующим алиасом в таблице ЧПУ в базе.