Перенаправить пользователя Magento на другую страницу оформления заказа/продукта в магазине на основе атрибута продукта

Есть ли способ принудительно переключиться на другой вид магазина в Magento, когда пользователь нажимает на оформление заказа или страницу продукта?

Чтобы прояснить проблему, давайте предположим, что у нас есть 2 разных представления магазина в Magento:

  • Одно основное представление магазина (представление A), к которому переходят все пользователи по прибытии в магазин. В этом представлении отображаются продукты, которые должны отображаться во всех представлениях магазина в системе.
  • Один настраиваемый вид магазина (вид B), который имеет определенный брендинг и некоторые другие конкретные настройки, связанные с оформлением заказа, платежными шлюзами и т. д.

Когда пользователь просматривает продукты в представлении A и нажимает либо на ссылку оформления заказа, либо на ссылку страницы продукта, мы хотим перенаправить их в представление B и позволить им продолжить оформление заказа в этом представлении.

Возможно ли это сделать относительно простым способом и как?

Спасибо.


person code_burgar    schedule 30.07.2011    source источник


Ответы (2)


Добавьте новую конфигурацию магазина, в которой будет храниться базовый URL-адрес магазина со списком товаров.

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

/Catalog/Model/Product/Url.php
getProductUrl and getUrl functions

где вы просто замените возвращенное значение базового URL-адреса parent::getUrl базовым значением в вашей новой конфигурации.

Поэтому произойдет следующее: когда пользователь нажмет на навигацию по каталогу, он попадет в другой магазин. Наконец, когда они снова нажимают на кнопку «Оформить заказ» или любую другую ссылку, которая вернет их в магазин оплаты.

person Nasaralla    schedule 30.07.2011

В Magento каждому магазину назначается интерфейс. В интерфейсе может быть несколько тем. Вот что я понимаю под тем, что вы называете Представлением. Ваши шаблоны могут ссылаться на тему1/css или тему2/css, чтобы вы могли по-разному выглядеть в представлении A и представлении B.

Чтобы создать другую страницу оформления заказа, вам нужно будет закодировать app/design/frontend/myinterface/default/template/checkout/onepage.phtml или что-то еще, чтобы использовать соответствующий theme1/css или theme2/css, чтобы изменить его внешний вид.

Однако, если вы используете разные интерфейсы, они могут быть назначены только разным магазинам. Это будет установка с несколькими магазинами. В этом случае вы можете изменить кнопку «Оформить заказ» в представлении A (магазин A), чтобы она ссылалась на представление B (магазин B). Вам также придется написать некоторый код, чтобы разрешить автоматическое заполнение информации о заказе из магазина А для передачи в магазин Б.

person arunkumar    schedule 30.07.2011
comment
Спасибо за ответ. Проблема в том, что мы хотели бы не только изменить кнопку оформления заказа, чтобы перейти к интерфейсу B, но и чтобы страница с одним продуктом загружалась в интерфейсе B. Не могли бы вы пролить свет на это? - person code_burgar; 30.07.2011
comment
Интерфейс A и интерфейс B — это два разных магазина, или у вас есть один магазин с разными разделами, немного отличающимися по внешнему виду? - person arunkumar; 30.07.2011
comment
А и Б - два разных магазина. - person code_burgar; 30.07.2011