Вы здесь

Импорт Path Breadcrumbs программно без Features

0

Пытался сделать через hook_install и path_breadcrumbs_save, но теряются все аргументы, правила и т.д.

Версия Drupal: 
7.x
Категория: 
Import
Связанные проекты: 
Path Breadcrumbs
Вопрос задан 11.09.2015 - 14:50
Аватар пользователя SAM
SAM
212

Ответы

1

Раз
Двас - то что ты ищешь ;)

Или адекватный способ через API, который я раньше не видал :)


/** * Expose Path Breadcrumbs settings. * * This hook is called by CTools. For this hook to work, you need * hook_ctools_plugin_api(). The values of this hook can be overridden * and reverted through the UI. * * @return array * Array with importable objects. */ function hook_path_breadcrumbs_settings_info() { $path_breadcrumbs = array(); $path_breadcrumb = new stdClass(); $path_breadcrumb->api_version = 1; $path_breadcrumb->machine_name = 'example_breadcrumb'; $path_breadcrumb->name = 'Example breadcrumb'; $path_breadcrumb->path = 'node/%node'; $path_breadcrumb->data = array( 'titles' => array( 0 => 'Content', 1 => '%node:title', 2 => '%node:comment-count', ), 'paths' => array( 0 => 'node', 1 => 'node/%node:nid', 2 => '<none>', ), 'home' => 1, 'translatable' => 0, 'arguments' => array( 'node' => array( 'position' => 1, 'argument' => 'entity_id:node', 'settings' => array( 'identifier' => 'Node: ID', ), ), ), 'access' => array(), ); $path_breadcrumb->weight = 0; $path_breadcrumbs['example_breadcrumb'] = $path_breadcrumb; return $path_breadcrumbs; }
Ответ дан 11.09.2015 - 19:31
Аватар пользователя Niklan
Niklan
445

Вроде путь правильный, но непонятно что и куда пихать. В .module объявил этот хук и ctools плагин апи:

/**
 * Implementation of hook_ctools_plugin_api().
 */
function MYMODULE_ctools_plugin_api($owner, $api) {
  if ($owner == 'MYMODULE' && $api == 'path_breadcrumbs_settings_info') {
    return array('version' => 1);
  }
}

Но чёт не пашет.

Комментарий оставлен 14.09.2015 - 10:20

Вот так правильно объявлять:

function MYMODULE_ctools_plugin_api($owner, $api) {
  if ($owner == 'path_breadcrumbs' && $api == 'path_breadcrumbs') {
    return array('version' => 1);
  }
}
Комментарий оставлен 20.09.2015 - 01:30
-1

Скопировать таблицы базы данных модуля?

Ответ дан 11.09.2015 - 17:25
Аватар пользователя shu
shu
155

Не очень хорошее решение. Зачем тогда API пишется? Давайте тогда напрямую будем в базы тыкать.
Но, конечно как последний путь использовать можно.

Комментарий оставлен 20.09.2015 - 01:32