commerce-8.x-2.8/src/Plugin/Field/FieldType/RemoteIdItem.php

src/Plugin/Field/FieldType/RemoteIdItem.php
<?php

namespace Drupal\commerce\Plugin\Field\FieldType;

use Drupal\Core\Field\FieldItemBase;
use Drupal\Core\Field\FieldStorageDefinitionInterface;
use Drupal\Core\TypedData\DataDefinition;

/**
 * Plugin implementation of the 'commerce_remote_id' field type.
 *
 * @FieldType(
 *   id = "commerce_remote_id",
 *   label = @Translation("Remote ID"),
 *   description = @Translation("Stores remote IDs."),
 *   category = @Translation("Commerce"),
 *   default_widget = "",
 *   default_formatter = "",
 *   list_class = "\Drupal\commerce\Plugin\Field\FieldType\RemoteIdFieldItemList",
 * )
 */
class RemoteIdItem extends FieldItemBase {

  /**
   * {@inheritdoc}
   */
  public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
    $properties['provider'] = DataDefinition::create('string')
      ->setLabel(t('Provider'));
    $properties['remote_id'] = DataDefinition::create('string')
      ->setLabel(t('Remote ID'));

    return $properties;
  }

  /**
   * {@inheritdoc}
   */
  public static function schema(FieldStorageDefinitionInterface $field_definition) {
    return [
      'columns' => [
        'provider' => [
          'description' => 'The provider.',
          'type' => 'varchar_ascii',
          'length' => 255,
          'not null' => TRUE,
        ],
        'remote_id' => [
          'description' => 'The remote ID.',
          'type' => 'varchar_ascii',
          'length' => 255,
          'not null' => TRUE,
        ],
      ],
    ];
  }

  /**
   * {@inheritdoc}
   */
  public static function mainPropertyName() {
    return 'remote_id';
  }

  /**
   * {@inheritdoc}
   */
  public function isEmpty() {
    return empty($this->provider) || $this->remote_id === NULL || $this->remote_id === '';
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc