Приветствую всех. Сегодняшней заметкой я покажу читателям программный способ вывода блоков в Drupal 7 на примере формы авторизации. Использовать буду чистый SQL и утилиту phpMyAdmin, никакого PHP.
Предполагаемые условия: путь «/user», включая случай без использования чистых ссылок, по неизвестным причинам не работает. Дополнительное усложнение задачки: доступ по FTP к info-файлу у нас отсутствует.
Итак, первым делом нужно выявить какие шаблоны оформления активированы у пользователя:
SELECT * FROM `d7_system` WHERE `type`='theme' AND `status`=1
Итог в табличке с результатом получите интересующий списочек. Теперь дело за непосредственной вставкой, ориентируясь на регион содержимого, присутствующий во всех темах седьмой версии движка:
INSERT INTO `d7_block` (`bid`, `module`, `delta`, `theme`, `status`, `weight`, `region`, `custom`, `visibility`, `pages`, `title`, `cache`) VALUES (315, -- Идентификатор индивидуальный 'user', -- Модуль, отвечающий за это дело 'login', -- Уникальное машинное наименование блока 'webology', -- Имя темы 1, -- Статус: доступен 0, 'content', -- Наименование региона 0, 0, '', 'Зайти ещё', -- Заголовок -1);
Пояснения «что-для чего использовать» даны в комментариях к коду. Только про префиксы не забудьте. Последним шагом остается подождать сброса системного кэша, по умолчанию максимум сутки.
Источник: sooource.net