Вы здесь

Как убрать поле с количеством товаров в анонсе?

0

Использую drupal 8 + commerce. На странице товара необходимо выводить количество товаров, которые добавляются в корзину. А на странице каталога - не нужно.

Пробовал убирать с помощью отображения дисплея для order-item-type. Но чего-то не работает, так как нужно.

Версия Drupal: 
8.x
Связанные проекты: 
Drupal Commerce
Вопрос задан 09.05.2018 - 08:44
Аватар пользователя shu
shu
155

Ответы

1

В файле mytheme.theme:

/**
 * Implements hook_preprocess_commerce_product().
 */
function mytheme_preprocess_commerce_product(&$variables) {

  $language = \Drupal::languageManager()->getCurrentLanguage(); //Можно без него, у меня есть потому что сайт мультиязычный

  /**
   * Форма добавления в корзину
   */
  $commerceProduct = \Drupal::service('commerce_product.lazy_builders');
  $cart_array = $commerceProduct->addToCartForm($product->id(), 'teaser', true, $language->getName());
  unset($cart_array['quantity']);

  $variables['add_to_cart_form_without_quantity'] = $cart_array;
}

Добавил файл commerce-product--teaser.html.twig, в котором вывел форму без количества:


<article{{ attributes.addClass(classes) }}> <div class="product-image"><a href="{{ product_url }}">{{ product.field_product_image[0] }}</a></div> <div class="product-title">{{ product.title }}</div> <div class="product-variation-price">{{ product.variation_price }}</div> <div class="product-variations">{{ add_to_cart_form_without_quantity }}</div> </article>
Ответ дан 10.05.2018 - 11:51
Аватар пользователя shu
shu
155