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;
}
