Рейтинг:0

Объект сохранения Hook_install или hook_modules_installed не работает

флаг cn

Я пытаюсь вставить новый словарь в таксономию, потому что пользовательский объект из моего пользовательского модуля нуждается в этом словаре в качестве ссылки на объект. Я думаю, что было бы лучше всегда вставлять справочный словарь, чтобы быть уверенным, что он всегда будет там, вместо того, чтобы делать это вручную на сайте.

Проблема в том, $ сущность-> сохранить () не работает ни в hook_install, ни в hook_modules_installed. Я не знаю, в чем проблема. Мой код ниже:

\Drupal\мой_модуль\мой_модуль.install.php

$vocabulary = \Drupal::entityTypeManager()->getStorage('taxonomy_vocabulary')
    ->loadByProperties(['vid' => 'класс']);

если (!пусто($словарь)) {
    возвращаться;
}

$vocabulary = \Drupal::entityTypeManager()->getStorage('taxonomy_vocabulary')
    ->создать([
        'вид' => 'класс',
        'имя' => 'Класс',
        'description' => 'Классы товаров'
    ]);
$словарь->сохранить();

Код очень похож на \Drupal\мой_модуль\мой_модуль.модуль. Разница в том, что я сначала проверяю, является ли $module my_module.

Кто-нибудь знает, в чем проблема?

leymannx avatar
флаг ne
Возможно, это работает, когда вы включаете модуль из пользовательского интерфейса, но не работает, когда вы включаете его из импорта конфигурации?
флаг ru
Удалите `.php` из вашего имени файла, это только `my_module.install`
Jean da Silva avatar
флаг cn
спасибо за помощь, но это не сработало в любом случае.Я пытался использовать интерфейс или drush, а также пытался удалить .php, но новый словарь не сохраняется.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.