Попытка создать основанные на правилах статические блоки в Magento - PullRequest
1 голос
/ 11 мая 2011

Итак, у одного из моих клиентов есть запрос на создание статических блоков на основе правил на их домашней странице. Страница будет в основном заменять несколько статических блоков для других на основе восприятия пола человека, просматривающего сайт. Он получит эти данные из сеанса, в котором находится пользователь, или данных, связанных с учетной записью пользователя. По сути, если пользователь выполняет поиск в определенном наборе категорий (категории «Мужчины» или «Женщины»), он должен поменять статические блоки на домашней странице, поэтому, когда этот пользователь снова заходит на сайт, у него будет более персонализированный опыт. Там будет набор блоков по умолчанию, если пользователь является новым для сайта.

Примерно так (и извините, мой потрепанный php):

if($categories = $user->getViewedCategories()){
    foreach($categories as $category){
        switch($category){
            case 14: //insert womens category id here
                echo $staticBlockWomen
                break;
            case 16: //insert mens category id here
                echo $staticBlockMen
                break;
        }
    }
} else {
    echo $staticBlockDefault
}

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

Если бы кто-то мог указать мне правильное направление, любая помощь будет признательна!

Ура, Matthew

1 Ответ

0 голосов
/ 12 мая 2011

Я предполагаю, что вы знакомы с основами Magento (по крайней мере, как создавать новые блоки и как управлять макетом с помощью xml).

Если вам нужна дополнительная информация об этом,

Вы можете выполнить то, что вам нужно, в несколько шагов:

1 - создать нужные вам блоки (создать новый модуль и классы блоков внутри него в соответствующих файлах .phtml)

2 - на панели администратора выберите категорию, для которой вы хотите добавить блок, и перейдите на вкладку «Custom Design», затем добавьте в текстовое поле «Custom Layout Update» что-то вроде этого:

<reference name="content" >
    <block type="mymodule/myblock" name="myblock" />
</reference>

Таким образом, каждый раз, когда клиент просматривает выбранную категорию, в область содержимого будет добавлен блок типа «mymodule / myblock».

...