Раздел форума:
Вопрос такой, мне нужно вывести программно кнопку "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; .
Вопрос: почему?
Добавить комментарий
Если вы выводите через 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'ом осталось таким же. Ничего не изменилось. Увы...
А кнопки "купить" и "в
А кнопки "купить" и "в корзину" одинаково работают?
Забыл отписать))Там есть поле
Забыл отписать))Там есть поле quantity просто оно там hidden.
Попробуйте через
Попробуйте через hook_form_alter() переписать значение с hidden на textfield.
Да это то уже не проблема)Но
Да это то уже не проблема)Но спасибо что ответили)
Луди помогите пожалуйста, та
Луди помогите пожалуйста, та же проблема, только вывод этой кнопки с количесвом нужно вывести в ноде товара. сейчас только одна кнопка.