Как программно отключить блоки под Drupal 7?drupal 7 - программно отключить блок
-1
A
ответ
1
См. Код ниже. Очки, чтобы иметь в виду, являются для лучшего использования:
- Блок уже должен существовать и быть отнесены к области, например, «before_content»
- После каждого отключения/включения очистили кеш «Drush куб.см все»
- On повторно включить блок запоминает его положение
- Ваш блок дельта может быть числом или только буквенно-цифровой
Отключить блок:
db_update('block')
->fields(array(
'status' => 0,
'region' => 'disabled',
)
)
->condition('delta', 'client-block-number_here')
->execute();
Включить блок:
db_update('block')
->fields(array(
'status' => 1,
'region' => 'before_content',
)
)
->condition('delta', 'client-block-number_here')
->execute();
0
Настоящая причина, почему вы хотите, чтобы отключить блок? Если вы хотите показать блок в зависимости от пользователей, сделать атаку db не является хорошим решением.
Я думаю, вы можете сделать это с помощью области и системы предварительной обработки. Регион может показывать любые вещи, блоки, текст или ничего.
Пример:
function HOOK_preprocess_node(&$variables, $hook){
//check the current user code...
//..
if (_condition_is_ok){
$block = module_invoke('module', 'block_view', 'block_name');
$variables["my_block"] = $block["content"];
}
}
Если вы что не забудьте проверить переменная установлена в вашем TPL :)
Я не думаю, что лучший способ сделать это, но это лучше, чем использовать db_update
, db_update
пишите прямо в свой дБ, а также передайте двигатель drupal.
Смежные вопросы
- 1. Страница импорта Drupal 7 программно
- 2. Drupal 7 load profile2 программно
- 3. Отключить тизер в Drupal 7
- 4. Блог заголовки Wordpress в Drupal 7 блок
- 5. Drupal 7 - динамический, разборный, навигационная панель/блок
- 6. Как создать пользовательский блок в Drupal 7?
- 7. блок в drupal 7 не отображается
- 8. Drupal 7 - Показать блок в тени?
- 9. Как вставить блок в узел или шаблон в Drupal 7?
- 10. Drupal 7 save software picture программно
- 11. Drupal 7: Программно получить список тегов (таксономия)
- 12. Как программно отображать поле содержимого Drupal 7
- 13. Создание Drupal 7 групп полей программно
- 14. Как создать иерархическую таксономию программно drupal 7
- 15. Программно заданное пользователем поле даты Drupal 7?
- 16. Drupal 7, программно добавить field_image к объекту
- 17. Сортировка коллекции полей программно в Drupal 7
- 18. drupal 7 создание панелей 3 программно
- 19. Drupal 7 Новый пользователь Создание программно?
- 20. Drupal 7 программно создает компоненты веб-формы
- 21. Как включить/отключить ревизию в drupal 7
- 22. drupal 7 отключить боковую панель с японской домашней страницы
- 23. Программно назначить представление для региона в Drupal 7
- 24. установить отображение по роли программно в Drupal 7
- 25. Баннер в drupal 7
- 26. Как отключить мой пользовательский блок?
- 27. Drupal вызывает блок программно, заголовок блока не отображается
- 28. Drupal: блок с только некоторым внешним javascript
- 29. Вставка html-страницы в блок в drupal 7
- 30. Drupal 7 - добавить уже существующий блок к странице LOGIN
Мое особое требование было основано на задании CRON, которое работает на сервере (по расписанию). Работала отлично. –