Drupal Commerce: программный вывод кнопки "Добавить в корзину"

Раздел форума: 

Вопрос такой, мне нужно вывести программно кнопку "Add to cart" в шаблоне Views. Делаю по примеру http://drupal.org/node/1232470#comment-4801356 и по документации http://api.drupalcommerce.org/api/Drupal%20Commerce/sites!all!modules!commerce!modules!cart!commerce_cart.module/function/commerce_cart_add_to_cart_form/DC

вот так:

 

<?php
    // build the line items for shopping cart
    $line_item = commerce_line_item_new($view['product']->type, $order_id = 0);
    $line_item->data['context']['product_ids'] = array($view['product']->product_id);
    $line_item->quantity = 1;
   
    // need to create config for quantity
    $qty = 1;
   
    $form_id = commerce_cart_add_to_cart_form_id(array($view['product']->product_id), $qty);
    $addtocart_form = drupal_get_form($form_id, $line_item);
   
    // we alter the submit form to use our special theme function
    // need to move this to configuration
    $addtocart_form['submit']['#theme'][] = 'vtcommerce_button_small';
   
    $variables['cart'] = render($addtocart_form);
   
?>

так вот сама кнопка нормально выводится, а вот виджет с добавлением количества товаров нет, хотя $line_item->quantity = 1; и $qty = 1; .
Вопрос: почему?

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
Прикрепить
Максимальный размер файла: 128 МБ.
Разрешённые типы файлов: txt doc docx rar zip xls xlsx pdf odf odt jpg jpeg gif png psd rtf.

Если вы выводите через Views

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

 

Я вывожу данные о товаре

Я вывожу данные о товаре через поля. Делаю шаблон для "Вывод в стиле строк: ". Когда я не задаю свой шаблон tpl.php для Views то у меня выводится и кнопка "Добавить в корзину" и виджет с  количеством товара, но мне нужно темизировать особым образом, поэтому я и создал шаблон, но виджета нету.  В настройках самого поля "(Product) Commerce Product: Add to Cart form (Add to Cart form)" напротив "Display a textfield quantity widget on the add to cart form. " галочка естественно стоит, да и вроде как от этого не должно зависеть я думаю, а должно завесеть от свойсвтва quantity в массиве $line_item, ведь кнопка же все таки с помощью функции создается, но на всякий случай я и в настройках поля нужную опцию отметил, но все равно не работает.

А если поставить unformatted

А если поставить unformatted list, переопредилить шаблон для вывода row,  где уже обработанные поля выводятся, то там все нормально выводится?

Вам нужно темизировать все отображение товара или только выбор в корзину?

Темизировать нужно именно

Темизировать нужно именно вывод в каталоге, мне нужно сделать как тут http://ponomareva.sale-monster.ru например. Т.е. чтобы была кнопка "В корзину" и "Купить" рядом с ней.  Поменял стиль представления на "неформартированный список", название файла для row предлагаемое Drupal'ом осталось таким же. Ничего не изменилось. Увы...