Статьи

Magento для дизайнеров: функциональность нескольких магазинов

Magento — потрясающе мощная платформа электронной коммерции. В этом мини-сериале мы узнаем, как начать работу с платформой, познакомимся с терминологией, настроим магазин и все связанные с ним аспекты и, наконец, узнаем, как настроить его, чтобы он стал нашим собственным.

В этой седьмой части мы узнаем, как настроить функциональность легендарного мультимагазина Magento с помощью простых и простых шагов. В восторге? Давайте начнем!



В последних нескольких частях мы подробно рассмотрели, как соединяются темы Magento, компоненты, которые управляют этим, и как все работает вместе для создания рабочей темы. Мы также рассмотрели ряд методов API, которые предоставляет Magento, чтобы мы могли безболезненно получать информацию о продукте.


Сегодня мы рассмотрим, что такое мультимагазин Magento, как он может вам помочь и, наконец, как все это настроить. Я знаю, это звучит интересно, и вам не терпится начать, так что поехали!


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

Используя эту функциональность нескольких магазинов, мы можем использовать одну установку Magento и использовать ее для питания любого количества [в пределах технических ограничений, конечно] магазинов или веб-сайтов. Это определенно находка для магазинов, которые хотели бы продавать товары в разных доменах, но хотели бы иметь единый административный центр. Если вам нужен еще более детальный контроль, вы можете настроить разные отдельные магазины в одном домене, чтобы лучше различать товары.


Документация Magento по этой теме имеет довольно приличное объяснение терминологии, поэтому я сделаю краткое введение здесь:

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

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

Просмотр магазина: позволяет включить фактический рендеринг вашего магазина. Если вы хотите иметь многоязычный магазин, вы должны изменить представление магазина, а не сам магазин.

Все эти термины станут более понятными, когда вы увидите их в действии. Сейчас мы будем двигаться дальше.


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


Здесь есть только 2 требования / ограничения.

  • Вычислительная мощность

    Тщательно выбирайте свои серверы. Запуск одного хранилища в установке часто душит большинство общих хостов и ставит его на колени. Представьте себе запуск нескольких магазинов на одном. Если вы решили запустить все из одной установки, пожалуйста, убедитесь, что ваш сервер сможет справиться с этим. Если общее количество продуктов невелико, скажем, менее 100, это не должно вызывать беспокойства, но как только вы наберете 500 или около того, оно действительно начнет проявляться.

  • Версия Magento, с которой вы работаете

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


Прежде всего, если вы находитесь на своем локальном сервере, вы, вероятно, ничего не ввели для URL во время установки, и, таким образом, в Magento хранится значение по умолчанию. Нам нужно изменить, чтобы указать его в конкретном месте. Мы сделаем это быстро прямо сейчас.

Перейдите в « Система» -> «Конфигурация» и в категории « Интернет » измените значение базового URL-адреса, чтобы оно отражало ваши локальные настройки. Я работаю в каталоге с предсказуемым именем Magento, таким образом, мой URL. Пожалуйста, не забудьте добавить косую черту; в противном случае, Magento будет убран.

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

Просто дайте имя новой категории и убедитесь, что она активна.

Наконец, также установите значение is anchor на yes. Это важно.

Сначала мы создадим новый сайт в бэкэнде Magento.

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


Теперь перейдем к созданию нового магазина.

Это должно быть само за себя. Мы установили веб-сайт и категорию на те, которые создали несколько шагов назад. Название магазина просто для удобства чтения, поэтому не стесняйтесь называть его по своему вкусу. Я знаю, что одноименное название магазина и категории немного сбивает с толку. Не стесняйтесь называть его так, как вам нравится в ваших установках. Здесь нет конкретной схемы именования для вас.


Опять же, эти шаги должны быть достаточно очевидными. Мы выбираем соответствующий веб-сайт и сохраняем его для просмотра вместе с вводом имени и кода для него. Кроме того, не забудьте установить его состояние во включенное состояние. Это может показаться очевидным, но мы склонны забывать об этом, поэтому я подумал, что быстрое «хедз-ап» было в порядке.

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


Хорошо, честно говоря, это самый простой шаг. Просто FTP на сервер с работающей установкой Magento и скопируйте файл index.php, а также файл htaccess в новый домен.

Откройте index.php и найдите следующий код в строке 45,

1
$mageFilename = ‘$mageFilename = ‘app/Mage.php’;’;

Измените это на следующее.

1
$mageFilename = ‘../magento/app/Mage.php’;

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

1
$mageFilename = ‘../app/Mage.php’;

Как я уже сказал, просто убедитесь, что вы указываете Magento в нужное место


Теперь откройте скопированный файл htaccess и добавьте к нему следующее.

1
2
SetEnvIf Host .*base.* MAGE_RUN_CODE=»base»;
SetEnvIf Host .*magento_site_2.* MAGE_RUN_TYPE=»magento_site_2″;

Просто как тот! Обратите внимание, что мы использовали код сайта, который мы ввели ранее. Если вы этого не помните, просто зайдите и скопируйте его. Это очень важно, поэтому избегайте опечаток.


Мы почти закончили. Только последние несколько шагов, прежде чем мы все заработаем.

Перейдите в System-> Configuration и выберите веб-вкладку.

Как показано на рисунке выше, измените перенаправление на базовый URL-адрес на «нет».

Если вы заметили, что элемент select слева имеет дополнительные опции, вы получите cookie! Теперь, когда у нас есть разные магазины, мы можем изменить их настройки и политики хранения для каждого магазина.

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

Снимите флажок использования веб-сайта и измените базовый URL-адрес на URL-адрес второго домена. Для этой статьи я сделал все на своем локальном сервере, поэтому у меня есть подпапка с образным именем magento-2 в качестве контейнера для моего второго магазина.

Нажмите на сохранить. И это все. Перейдите на второй домен и начните просматривать каталог!


Теперь осталось только создать собственный модуль; тогда, и я думаю, что к тому времени у этой серии будет свой ход. Я подумываю о том, чтобы закончить с твиками Magento и практическими рекомендациями по оптимизации, если достаточно людей проявят интерес к такой статье.

Если вы чувствуете, что что-то еще должно быть освещено до завершения этой серии, не стесняйтесь оставить комментарий ниже, чтобы сообщить мне!


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

Вопросов? Хорошие вещи, чтобы сказать? Критицизмы? Нажмите на раздел комментариев и оставьте мне комментарий. Удачного кодирования!