logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动

Drupal Commerce: 程序化输出“添加到购物车”按钮

22/02/2025, by 匿名 (未验证)
论坛

问题是,我需要在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
    // 为购物车构建行项目
    $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;
   
    // 需要为数量创建配置
    $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);
   
    // 我们修改提交表单以使用我们的特殊主题函数
    // 需要将其移动到配置中
    $addtocart_form['submit']['#theme'][] = 'vtcommerce_button_small';
   
    $variables['cart'] = render($addtocart_form);
   
?>

所以按钮正常显示,但商品数量的控件没有出现,尽管 $line_item->quantity = 1; 和 $qty = 1; 。

问题是:为什么?