Включить все темы при установке модуля drupal 7 - PullRequest
1 голос
/ 17 ноября 2011

Как я могу обновить таблицу во время установки модуля в drupal 7? Я использовал следующий код. Но это не работает

function mymodule_install() {
drupal_install_schema('template_config');
db_update('system')
 ->fields(array(   
'status' => 1,
))
->condtion('type','theme','=')
->execute();
}

Что не так в этом коде. я хочу включить все темы во время установки mymodule.

1 Ответ

2 голосов
/ 17 ноября 2011

Вы не должны вызывать drupal_install_schema() из hook_install() в Drupal 7, схема будет автоматически установлена, когда модуль будет установлен. Кроме этого, ваш код определенно будет работать, но я думаю, что вам нужно будет сразу очистить кеш. Ваша функция установки, вероятно, должна выглядеть следующим образом:

function mymodule_install() {
  db_update('system')
    ->fields(array('status' => 1))
    ->condtion('type','theme','=')
    ->execute();

  cache_clear_all();
}

Также убедитесь, что вы фактически удаляете и переустанавливаете свой модуль, а не просто отключаете его, а затем снова включаете его (нажмите вкладку «Удалить» на странице модулей, когда вы отключили модуль).

...