我的网站上有几种商店,我想修改与商店类型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');
}
}