og-8.x-1.x-dev/src/Plugin/Field/FieldType/OgGroupItem.php

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

declare(strict_types=1);

namespace Drupal\og\Plugin\Field\FieldType;

use Drupal\Core\Field\Attribute\FieldType;
use Drupal\Core\Field\FieldItemBase;
use Drupal\Core\Field\FieldStorageDefinitionInterface;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\Core\TypedData\DataDefinition;

/**
 * OG Group Data class to return TRUE always.
 *
 * This field type is used simply as a placeholder for a field formatter that
 * would allow non-groups members, members, and group managers to join, request
 * or leave a group.
 */
#[FieldType(
  id: 'og_group',
  label: new TranslatableMarkup('OG Group'),
  description: new TranslatableMarkup('Allow non-groups members, members, and group managers to join, request or leave a group'),
  category: 'general',
  default_formatter: 'og_group_subscribe',
  no_ui: TRUE,
)]
class OgGroupItem extends FieldItemBase {

  /**
   * {@inheritdoc}
   */
  public static function schema(FieldStorageDefinitionInterface $field_definition) {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
    $definitions = [];

    $definitions['value'] = DataDefinition::create('boolean')
      ->setLabel('Group item value')
      ->setReadOnly(TRUE)
      ->setComputed(TRUE)
      ->setClass('\Drupal\og\OgGroupAlwaysTrue');

    return $definitions;
  }

}

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

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