Экспорт настроек блока в компоненте (Drupal 7)

13

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

На моей главной странице есть пара блоков, которые отображают недавно добавленный и самый рейтинговый контент. Я использовал функции для экспорта этих представлений, но я не вижу внутри модуля «Функции» для экспорта настроек моего блока. Я установил новые проекты и блоки с самым высоким рейтингом, чтобы они отображались в разделе контента на странице. Я фильтрую его, чтобы он отображался только на первой странице внутри представления.

Как экспортировать эти настройки блока в мою функцию, чтобы мне не нужно было перенастраивать их на каждом сайте?

Mike2012
источник

Ответы:

13

Вы можете экспортировать гораздо больше, используя функцию вместе с Strongarm и дополнительные функции .

Strongarm дает разработчикам сайтов возможность переопределить значения переменных по умолчанию, которые поставляются с ядром Drupal и дополнительными модулями. Это не инструмент конечного пользователя, а инструмент разработчика и разработчика сайтов, который предоставляет API и ограниченный пользовательский интерфейс.

Особенности дополнительной поддержки: словари; nodequeues (определения); блокировать настройки; нестандартные блоки (ящики).

Кроме того, интеграция функций UUID предоставляет механизм для экспорта контента (узлов, таксономии, полей) в модуль функций.

Refineo
источник
1
Я также рекомендовал бы использовать drush и git для управления рабочим процессом.
Refineo
1
Круто, это именно то, что мне было нужно. Я планировал запустить Git, когда понял, как использовать функции немного лучше.
Mike2012
Фантастический ! Как Майк, это просто невероятно!
Жан-Реми Реви
4

Вы можете использовать модуль Boxes в соответствии с Экспортом блоков для объектов .

Если вы не хотите устанавливать дополнительные модули и имеете дело с блоком Views (где вам просто нужны параметры конфигурации блока), другой вариант - сделать это на уровне кода с помощью реализации hook_update_N () в пользовательском модуле. установить файл. Смотрите ниже пример.

/**
 * Configure block settings.
 */
function my_module_update_7101() {

  // Enable blocks
  db_update('block')
    ->fields(array(
      'status'     => 1,
      'region'     => 'content',
      'visibility' => 1,
      'pages'      => 'node/999',
      'title'      => 'My Block Title',
      'css'        => '',
      'js'         => '',
    ))
    ->condition('delta', 'BLOCK_ID')
    ->execute();
}
Колан
источник
0

Альтернативой является использование мини-панелей вместо пользовательских блоков, как было предложено здесь . Они работают примерно так же, и панели, кажется, лучше поддерживаются функциями. Если вы уже планируете использовать панели, это также экономит несколько дополнительных модулей.

Помин Ву
источник