Ссылка добавления в корзину minishop2
        Всем привет.
Подскажите, как сделать ссылку, чтобы при переходе по ней, товар добавлялся в корзину.
Для турбо-страниц нужно, чтобы было примерно так: example.com/cart?id=272, где 272 это id товара
    
    
                                                                                
            Подскажите, как сделать ссылку, чтобы при переходе по ней, товар добавлялся в корзину.
Для турбо-страниц нужно, чтобы было примерно так: example.com/cart?id=272, где 272 это id товара
Комментарии: 5
                Почитайте.
Логика такая:
1. Создаем плагин, например на событие OnMODXInit или OnHandleRequest
2. Обрабатываем url и получаем id
3. Добавляем товар в корзину по id
                    Логика такая:
1. Создаем плагин, например на событие OnMODXInit или OnHandleRequest
2. Обрабатываем url и получаем id
3. Добавляем товар в корзину по id
$miniShop2->cart->add($id)            
                А можно пример такого решения?            
                    <?php
if ($modx->event->name == 'OnHandleRequest' && $_REQUEST['q'] == 'addtocart')
{
    if (!isset($_REQUEST['id']) || !is_numeric($_REQUEST['id'])) exit('Укажите ID товара для добавления');
    
    $quantity = 1;
    $itemId = (int)$_REQUEST['id'];
    
    $miniShop2 = $modx->getService('minishop2');
    if (!($miniShop2 instanceof miniShop2)){
        exit('error');
    }
    
    $miniShop2->initialize($modx->context->key);
    $miniShop2->cart->clean();
    
    $result = $miniShop2->cart->add($itemId, $quantity);
    
    if ($result['success']) $location = '/cart';
    else $location = '/';
    
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: ' . $location);
    exit ;
}Адрес для яндекса будет в настройках турбо-страниц: site.ru/addtocart?id={offer_id}            
                по какой то причине не срабатывает, выводит сообщение «Укажите ID товара для добавления»            
                    
                Разобрался, если допустим на сайте присутствует .html, тогда ссылка примет вид site.ru/addtocart.html?id={offer_id} или в моем случает site.ru/cart.html?id={offer_id}            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.