Друпал для «Чайников»

пт, 29.08.2008 13:45 :: olk
Хочу поделиться некоторыми мыслями по поводу построения сайтов на основе CMS Drupal. Не вдаваясь в подробности построения архитектуры системы и наполнения ресурса, просто несколько правил и пояснений к ним. Во первых надо четко понимать, то что мы можем получить, используя Друпал, делиться на две части: 1. Что выводить (какая информация попадает в контент сайта) 2. Как выводить (как эта информация представлена в конечном виде) Если за первое (и частично за второе *) отвечает ядро системы и расширение функционала за счет системы модулей Друпала и «сниппетов»**, то за второе почти полностью отвечает система темизации принятая в Друпал. *Почему модули отвечают, в том числе и за представление информации – дело в том, что почти каждый модуль, как входящий в ядро, так и сторонний, имеет некоторый функционал по выводу содержимого «по умолчанию». ** Сниппет – обычно, PHP-код, формирующий небольшой фрагмент контента. Правило № 1. Никогда не следует пытаться исправить выводимую информацию и/или представление этой информации за счет изменения модулей ядра (или сторонних), единственное исключение это когда в модуле встречается явная ошибка, но и в этом случае правильнее или написать баг-репорт автору или создать патч и опять же отправить его автору модуля. Все что вы можете (или должны) изменять для управлением представления контента находится в каталоге sites/[all|ваша-сайт]/themes, и для управления самой информацией sites/[all|ваша-сайт]/modules/написанные-вами-модули (добавлю что кое-что еще можно (а иногда и нужно) изменять в файлике settings.php) Для примера, допустим вы хотите, что бы фон комментария в превью у вас был не бледно-желтого цвета как задано по умолчанию в файле modules/comment/comment.css, а допустим голубым. Так вот, не надо исправлять файл modules/comment/comment.css, вполне достаточно прописать в файле стилей используемой вами темы строчку .preview .comment { background-color: #e0efff;}, это будет работать и главное это концептуально правильно. Другой пример, вы хотите, что бы в комментариях у вас не показывался заголовок, наверняка первое, что вам придет в голову это исправить файл (убрав там вывод переменной $title) modules/comment/comment.tpl.php , так вот опять же – не делайте этого. Тот же самый результат вы получите, скопировав указанный файл в каталог своей темы, и уже там исправив (т.е. убрав строку <h3><?php print $title ?></h3>).

Правило № 2. Любые изменения в теме (кроме, пожалуй, файлов css и то при условии, что они у вас не закэшированы), требуют очистки кэша, иначе вы не увидите ваших изменений, и будете долго пытается понять, почему ваши изменения не работают. Да тут имеется в виду кэш Друпала а не кэш браузера. Очистить кэш в шестой версии можно через admin/settings/performance – там внизу кнопка «Очистить кэш данных», в пятерке кэш тем, можно очистить, зайдя на страницу управления темами (admin/build/themes) и «засубмитив» данную страничку. Кроме того, очистить кэш можно почистив таблицы базы, начинающиеся с cache* (Делается это sql командой TRUNCATE имя-таблицы, тут важно не перепутать имя таблицы :) иначе возможен крах вашего сайта).

Правило №3. Это правило касается PHP-сниппетов, перед их публикацией обязательно проверяйте их работоспособность, иначе вы можете попасть на долгий и нудный геморрой. Как это сделать ? Проще всего создать файлик в корне вашего сайта, допустим test.php, с содержимым вашего сниппета и добавив в него дополнительно две строчки перед сниппетом

  1. <?php
  2. include_once './includes/bootstrap.inc';
  3. drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
  4. //тут код вашего проверяемого сниппета
  5. ?>
Да добавлю, что ваш сниппет должен выводить какой то контент, иначе блок с данным сниппетом не будет показан на странице. После проверки сниппета не забывайте удалять этот файлик. Проверка запускается через ваш-сайт/test.php

Еще один вариант проверки сниппета (который мне подсказали на www.drupal.ru), создать новый материал или комментарий и поместить ваш сниппет в тело вашего материала, и затем нажав конопку "Предпросмотр" (Preview) для просмотра полученного результата, при этом не забыв предварительно установить формат ввода для материала в PHP code.

Правило №4. А по значимости, наверное, первое. После установки Друпала (если вы впервые с ним работаете), пройдитесь по всем настройкам системы, и постарайтесь понять как те или иные настройки влияют на содержание и на представление контента вашего сайта.

Данным материалом, я ни в коем случае не претендую на истину в последней инстанции, и наверняка существует еще масса правил и исключений из них ;)

Добавить комментарий
« Добавить комментарий
» Добавить комментарий