个性化模块的操作
我有Drupal 8和Commerce2。我创建了角色“ Merchant”和“ Premium Merchant”。默认情况下,创建商店的用户的角色为“商人”。
1)当前,模块禁用变化选择器,数量和“添加到购物车”按钮。如何仅禁用“添加到购物车”按钮和数量?必须显示变化选择器,以使访问者可以使用不同的价格。
2)如屏幕截图所示,替换按钮未呈现。只有文字。如何显示替换按钮?
<?php
/**
* @file
* Hook implementations of commerce_add_to_cart_access module.
*/
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;
function commerce_add_to_cart_access_form_commerce_order_item_add_to_cart_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
// Code to get store owner.
$current_store = \Drupal::service('commerce_store.current_store');
$owner = $current_store->getStore()->getOwner();
if (!$owner->hasRole('marchand_premium')) {
// Overwrite the whole form markup!
$form = ['#markup' => '<button type="button" class="btn btn-success" disabled="disabled">Offline sales</button>'];
}
}
商店的所有者没有高级商人角色时
缺少版本选择器
该模块必须仅隐藏数量和按钮“添加到购物车”