Как изменить тип магазина? - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть несколько типов магазинов на моем сайте, и я хочу изменить кнопку Add to cart всех продуктов, связанных с типом магазина online (online - это название машины моего типа магазина).

Как это сделать?

Приведенный ниже пользовательский модуль работает и изменяет кнопку Add to Cart для товаров во всех типах магазинов.

Как ограничить его типом магазина online?

Это должно применяться к продуктам текущего магазина.

use Drupal\commerce_product\Entity\ProductType;
use Drupal\commerce_product\Entity\ProductVariationType;
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Url;

/**
 * Store online.
 */
function MYMODULE_form_commerce_order_item_add_to_cart_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  $current_store = \Drupal::service('commerce_store.current_store');
    if (isset($form["#attributes"]["class"]) && in_array("commerce-order-item-add-to-cart-form", $form["#attributes"]["class"])) {
      $selectedVariationId = $form_state->get('selected_variation');
      $selectedVariation = \Drupal\commerce_product\Entity\ProductVariation::load($selectedVariationId);
      $form['actions']['submit']['#value'] = t('Subscribe');
    }
}
...