如何在模块中添加条件“如果布尔字段错误”?

时间:2019-01-17 10:25:30

标签: php drupal boolean drupal-modules drupal-8

对不起,请注意布局,但我不了解该网站的新版本:-(

我有一个使用Drupal 8.6和Commerce 2.11的网站

我创建了一个自定义模块,以自定义商店中的“添加到购物车”按钮。

在商店类型中,我用机器名称创建了一个布尔类型字段 field_professionnel_panier

我想向模块添加条件: 如果布尔字段为false。

如何执行此操作?

<?php

/**
 * @file
 * Hook implementations of commerce_marketplace_premium_merchant module.
 */

use Drupal\commerce_store\Entity\StoreType;
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_marketplace_premium_merchant_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');
  $owner = $current_store->getStore()->getOwner();
  $active_sale = ??????????
  foreach ($form_state->getFormObject()->getEntity()->getPurchasedEntity()->getProduct()->getStores() as $store) {
    $bundle = $store->bundle();
    // Store type professionnel.
    elseif ($bundle == 'professionnel') {
      if (??????????) {
        if (!$owner->hasRole('marchand_premium')) {
          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('Offline sales');
            $form['actions']['submit']['#attributes']['class'] = array('button--add-to-cart', 'button button--primary', 'js-form-submit', 'form-submit', 'is-disabled', 'btn-warning', 'btn');
            $form['actions']['submit']['#disabled'] = TRUE;
          }
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:1)

if ($field_professionnel_panier === false) {}

或者如果它在您的商店对象中:

if ($store->field_professionnel_panier === false) {}

要回答您的评论:

==检查要比较的两个变量的值是否相等

===检查它们是否相等并且具有相同的类型(即布尔值)