Доброго времени суток, уважаемые господа. Я делаю сайт на Drupal 6.22 для дипломной работы. Моя задача состоит в том, что бы написать модуль, который будет определять устройство и подгружать автоматически нужную версию сайта (мобильную или полную). Сама функция есть, осталось вывести это в нужный блок на сайте. Я с этим никогда не сталкивался, и, скажем так, программирование мне дается не легко. Я нашел в интернете информацию, что нужно использовать хуки, пытался разобраться - но неудачно. Понял одно, что нужно использовать "hook_block", но как именно использовать - я не догадался. Руководителю дипломного проекта написал - он сообщение прочел, но тупо проигнорировал. Подскажите, пожалуйста, желательно пошагово, а еще лучше "на пальцах", что и как нужно сделать. А если не затруднит - набросайте хотя бы каркас функции блока и объясните подробно, как его наполнить. Заранее благодарен всем, кто откликнется.
P.S. Исходник самой функции, определяющей версию сайта могу так же сбросить.
В Drupal-е отображением контента рулят темы (themes).
Темы в Drupal-е устанавливаются в каталог: <корень сайта>/sites/all/themes/<имя темы>
Хуки относящиеся к конкретной теме пишутся в файл: /<имя темы>/template.php
Прямые "метаморфозы" отображения можно осуществять php кодом вставляемым в файлы:
/<имя темы>/templates/block.tpl.php
/<имя темы>/templates/comment.tpl.php
/<имя темы>/templates/maintenance-page.tpl.php
/<имя темы>/templates/node.tpl.php
/<имя темы>/templates/page.tpl.php
Совет такой:
Идите на drupal.org в раздел тем. Подберите "метаморфную" тему, которая (как в Вашем дипломе
) определяет по типу устройства нужную версию сайта.
Ну и подглядите как и что именно она делает... В каких файлах смотреть, я написал выше. Там и посмотрите, в каком месте можно использовать вашу функцию вместо друпаловской.
Другой вариант:
Подберите две темы. для мобильной версии и полной. "Сшейте" их в одну, объеденяя код в tpl-ках через if(<ваша функция>){<мобильная версия>} else {<полная версия>}
Так же, в template.php, через if, поставите подгрузку стилей от мобильной либо полной темы.
Третий вариант:
Скачайте с drupal.org базовый шаблон для создания собственной темы (на странице с уроком по созданию тем). Создайте собственную тему используя при разбивке регионов свою функцию... Конечно не так красиво скорее всего получится как у профессиональных дизайнеров... но все таки...
А hook_block работает только для блоков, которые есть один из элеметов страницы... А там еще есть шапка, подвал, сама страница с регионами (верх/центр/низ), фрейм ноды, верхнее, нижнее и боковое меню...