You are here

class SchemaPlaceBase in Schema.org Metatag 7

Schema.org Place items should extend this class.

Hierarchy

Expanded class hierarchy of SchemaPlaceBase

5 string references to 'SchemaPlaceBase'
SchemaActionTrait::actionProperties in src/SchemaActionTrait.php
Return an array of the unique properties for an action type.
schema_event_metatag_info in schema_event/schema_event.metatag.inc
Implements hook_metatag_info().
schema_job_posting_metatag_info in schema_job_posting/schema_job_posting.metatag.inc
Implements hook_metatag_info().
schema_metatag_test_metatag_info in tests/schema_metatag_test.metatag.inc
Implements hook_metatag_info().
schema_special_announcement_metatag_info in schema_special_announcement/schema_special_announcement.metatag.inc
Implements hook_metatag_info().

File

src/SchemaPlaceBase.php, line 6

View source
class SchemaPlaceBase extends SchemaAddressBase {
  use SchemaPlaceTrait;

  /**
   * {@inheritdoc}
   */
  public function getForm(array $options = []) {
    $value = $this
      ->schemaMetatagManager()
      ->unserialize($this
      ->value());
    $input_values = [
      'title' => $this
        ->label(),
      'description' => $this
        ->description(),
      'value' => $value,
      '#required' => isset($options['#required']) ? $options['#required'] : FALSE,
      'visibility_selector' => $this
        ->visibilitySelector(),
    ];
    $form['value'] = $this
      ->placeForm($input_values);
    if (empty($this
      ->multiple())) {
      unset($form['value']['pivot']);
    }

    // Validation from parent::getForm() got wiped out, so add callback.
    $form['value']['#element_validate'][] = 'schema_metatag_element_validate';
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public static function testValue() {
    $items = [];
    $keys = [
      '@type',
      'name',
      'url',
      'address',
      'geo',
    ];
    foreach ($keys as $key) {
      switch ($key) {
        case 'address':
          $items[$key] = SchemaAddressBase::testValue();
          break;
        case 'geo':
          $items[$key] = SchemaGeoBase::testValue();
          break;
        case '@type':
          $items[$key] = 'Place';
          break;
        default:
          $items[$key] = parent::testDefaultValue(2, ' ');
          break;
      }
    }
    return $items;
  }

  /**
   * {@inheritdoc}
   */
  public static function processedTestValue($items) {
    foreach ($items as $key => $value) {
      switch ($key) {
        case 'address':
          $items[$key] = SchemaAddressBase::processedTestValue($items[$key]);
          break;
        case 'geo':
          $items[$key] = SchemaGeoBase::processedTestValue($items[$key]);
          break;
      }
    }
    return $items;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DrupalDefaultMetaTag::$data protected property The values submitted for this tag.
DrupalDefaultMetaTag::$info protected property All of the basic information about this tag.
DrupalDefaultMetaTag::$weight protected property This item's weight; used for sorting the output.
DrupalDefaultMetaTag::convertUrlToAbsolute protected function Make sure a given URL is absolute.
DrupalDefaultMetaTag::getWeight public function Calculate the weight of this meta tag. Overrides DrupalMetaTagInterface::getWeight
DrupalDefaultMetaTag::maxlength protected function Identify the maximum length of which strings will be allowed.
DrupalDefaultMetaTag::textSummary public static function Copied from text.module with the following changes:. Overrides DrupalMetaTagInterface::textSummary
DrupalDefaultMetaTag::tidyValue protected function Remove unwanted formatting from a meta tag.
DrupalDefaultMetaTag::truncate protected function Shorten a string to a certain length using ::textSummary().
DrupalTextMetaTag::getValue public function Get the string value of this meta tag. Overrides DrupalDefaultMetaTag::getValue 1
SchemaAddressTrait::postalAddressForm public function The form element.
SchemaNameBase::$schemaMetatagManager protected property The schemaMetatagManager service.
SchemaNameBase::description public function
SchemaNameBase::getElement public function Get the HTML tag for this meta tag. Overrides DrupalDefaultMetaTag::getElement 1
SchemaNameBase::getPluginId public function
SchemaNameBase::label public function
SchemaNameBase::multiple public function
SchemaNameBase::neverExplode public static function Nested elements that cannot be exploded.
SchemaNameBase::outputValue public static function Transform input value to its display output. Overrides SchemaMetatagTestTagInterface::outputValue 2
SchemaNameBase::pivotItem public static function
SchemaNameBase::processItem protected function Process an individual item.
SchemaNameBase::processTestExplodeValue public static function Explode a test value. Overrides SchemaMetatagTestTagInterface::processTestExplodeValue
SchemaNameBase::randomUrl public static function Random absolute url for testing. Overrides SchemaMetatagTestTagInterface::randomUrl
SchemaNameBase::t public function
SchemaNameBase::testDefaultValue public static function Provide a random test value. Overrides SchemaMetatagTestTagInterface::testDefaultValue
SchemaNameBase::value public function
SchemaNameBase::visibilitySelector protected function The #states visibility selector for this element.
SchemaNameBase::__construct function Constructor. Overrides DrupalDefaultMetaTag::__construct 1
SchemaPivotTrait::pivotForm public function The form element.
SchemaPlaceBase::getForm public function Build the form for this meta tag. Overrides SchemaAddressBase::getForm
SchemaPlaceBase::processedTestValue public static function Provide a test output value for the input value. Overrides SchemaNameBase::processedTestValue
SchemaPlaceBase::testValue public static function Provide a test input value for the property that will validate. Overrides SchemaAddressBase::testValue
SchemaPlaceTrait::placeForm public function
SchemaPlaceTrait::schemaMetatagManager abstract protected function Return the SchemaMetatagManager. Overrides SchemaAddressTrait::schemaMetatagManager 1