У меня есть несколько типов магазинов на моем сайте, и я хочу изменить кнопку 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');
}
}