web-dev-qa-db-ja.com

コマース2カートに、数量フィールドと製品画像を追加します

商品バリエーションタイプに画像欄を追加しました。ストアにいくつかの製品を追加します。カートに商品を追加するために商品詳細ページに移動すると、数量フィールドのないカートに追加ボタンが表示されます。また、商品の画像は表示されません。

フォーマッターをレンダリングエンティティに変更しようとしましたが、画像と価格のみが表示され、カートに追加ボタンは表示されませんでした。レンダリングされたエンティティはデフォルトの表示モードを使用していました。そのため、製品バリエーションタイプの表示を管理することで追加の表示モードを作成しましたが、カートに追加ボタンを表示するオプションもありませんでした。

私が欲しいのは、製品のバリエーション画像+価格+ SKU +数量フィールドのある[カートに追加]ボタンを表示することです。

これを達成する方法を教えてください。

3
Fahad Ur Rehman

ご注文商品のタイプをご確認ください。 admin/commerce/config/order-item-types/default/edit/form-display/variation_cart_form(デフォルトタイプ)

必要なビューモードは、バリエーションカートフォームです。数量フィールドがあります。

また、このデフォルトの表示モードで、製品バリエーションタイプ/ admin/commerce/config/product-variation-types/default/edit/displayを確認してください。

カートに追加ボタンがあります。

3
Alex Kuzava

価格はpurchasable_entityフィールドで示されます。注文アイテムタイプを作成するときに、注文アイテムを参照する購入可能なエンティティタイプを選択できます(必須ではありません)。通常、これは製品バリエーションタイプです。多くの場合、製品バリエーションタイプのマシン名は注文アイテムタイプのマシン名と一致します。たとえば、注文アイテムタイプがcars_partsの場合、次のようになります- cars_parts製品タイプおよびcars_parts_variation製品バリエーションタイプ。

この設定はオーダーアイテムタイプの作成時にのみ設定できるため、後で編集することはできませんが、データベースで直接構成を編集できます(非推奨)またはDrushを使用して(推奨):

# Drush 8
drush config-edit commerce_order.commerce_order_item_type.your_order_item
# Drush 9
drush config:edit commerce_order.commerce_order_item_type.your_order_item

上記のコマンドは、ターミナルfavテキストエディターを開きますpurchasableEntityType:nullを出力する行を製品バリエーションタイプに変更するだけです。これが正しく設定されている場合は、/ admin/commerce/config/product-variation-types/YOUR_TYPE/edit/display

このフィールドをカートに追加フォームモードで出力するには、/ admin/commerce/config/order-に移動しますitem-types/YOUR_TYPE/edit/form-display/add_to_cartを所定の場所にドロップします。

1
d70rr3s