metatags_quick-4.0.x-dev/metatags_quick.install

metatags_quick.install
<?php

/**
 * @file
 */

use Drupal\Core\Database\Schema\SchemaObjectInterface;
use Drupal\Core\Field\FieldStorageDefinitionInterface;
use Drupal\Core\Link;

/**
 * Implements hook_install().
 */
function metatags_quick_install() {
  \Drupal::configFactory()->getEditable('metatags_quick.settings')->set('default_field_length', 160)->save();
  \Drupal::messenger()->addStatus(t('Meta tags (quick) installed. To start, please visit :here', [':here' => Link::createFromRoute(t('module settings screen'), 'metatags_quick.settings')->toString()]));
}

/**
 * Implements hook_uninstall().
 */
function metatags_quick_uninstall() {
  \Drupal::configFactory()->getEditable('metatags_quick.settings')->delete();
  \Drupal::configFactory()->getEditable('metatags_quick.use_path_based')->delete();
}

/**
 * Implements hook_field_storage_definition().
 */
function metatags_quick_field_storage_definition(FieldStorageDefinitionInterface $field_definition) {
  $max_length = $field_definition->getSetting('max_length');
  return SchemaObjectInterface::create()
    ->addColumn('metatags_quick', 'varchar', $max_length)
    ->setNotNull(FALSE);
}

/**
 * Implements hook_schema().
 */
function metatags_quick_schema() {
  $schema['metatags_quick_path_based'] = [
    'description' => 'Path based meta tags',
    'fields' => [
      'id' => [
        'type' => 'serial',
        'not null' => TRUE,
        'description' => 'Entity id',
      ],
      'path' => [
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'description' => 'The path of the page to apply meta tags to',
      ],
      'lang' => [
        'type' => 'varchar',
        'length' => 8,
        'not null' => TRUE,
        'description' => 'Language code',
      ],
    ],
    'primary key' => ['id'],
    'unique keys' => [
      'lang_path' => ['lang', 'path'],
    ],
  ];
  return $schema;
}

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

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