Установить профиль


Я создаю профиль установки Drupal и передаю словари таксономии с помощью функций, например:

My_profile.info :
; Особенности
...
зависимости[] = my_profile_taxonomy_вокабулы
...

Эти словари созданы правильно, но я также должен автоматически создавать термины. Если я помещу свою функцию, которая создает термины, в my_profile_install(), она не будет работать. В данный момент словари являются не доступен. Кроме того, я пытался использовать прямой SQL-запрос, и в данный момент словари не создаются.

Куда я могу поместить свой код для создания терминов, когда словари уже созданы и доступны?

Author: Eugene, 2012-08-13

1 answers

Вам необходимо создать задачу установки в .profile, задачи установки выполняются после включения модулей.

Вот пример, который вы можете использовать в качестве отправной точки:

<?php

/**
 * Implements hook_install_tasks().
 */
function PROFILE_install_tasks() {
  $tasks = array(
    'create_taxonomy_terms' => array(
      'display_name' => st('Create taxonomy terms'),
      'type' => 'normal', // the default
    ),
  );
  return $tasks;
}

/**
 * Install task: Create taxonomy terms.
 */
function PROFILE_create_taxonomy_terms() {
  // your stuff.
}

Задача установки объявлена как обычная, это означает, что соответствующая функция будет выполнена. Если вы собираетесь создать много терминов, лучше напишите пакет. Смотрите документы api для ссылка:

Http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_install_tasks/7

 7
Author: jonhattan, 2012-08-13 16:56:05