Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Как создать сайт бесплатно. В рубрике Делаем сайты на Drupal было четыре публикации: установка Drupal и русификация Drupal, настройка Drupal и админка Drupal, модули Drupal и что такое Drupal. В прошлой публикации я начал рассматривать общие принципы работы CMS Drupal, и мы поговорили про структуру Drupal, про назначение и возможности модулей Drupal, а так же про права доступа и пользователей в Drupal.
Как работает Drupal. Содержимое Drupal.
Данная публикация является продолжением и завершающей частью прошлой статьи. В ней мы поговорим про то, как организовано содержимое Drupal, разберемся с понятием узлов Drupal, рассмотрим базовый принцип организации содержимого Drupal и рассмотрим какие виды содержимого доступны для сайтов на основе системы Drupal.
Не забываем подписываться на RSS-ленту, twitter и на публичную страницу Вконтакте
Содержимое Drupal. Узлы Drupal
Узлы Drupal – это одна из самых важных составляющих структуры Drupal. Самой важной особенностью создания сайтов на Drupal является определение содержимого сайта и, с каким конкретно содержимым вы собираетесь работать (в Drupal это называется тип содержимого). Практически для любого контента Drupal будет присутствовать свои узлы различных видов. У каждого узла Drupal есть определенные свойства, которые не зависят от типа содержимого. Базовые свойства узлов Drupal:
- Автор, в данном случае стоит понимать посетителя/пользователя сайта, который создал данный контент
- Дата создания
- Заголовок
- Тело содержимого
Что в Drupal можно понимать под словом узел? Например, личные данные пользователя зарегистрировавшегося в системе – это узел, комментарии, которые будут оставлять пользователи под записями – это узел. Даже ссылки, которые оставляют пользователи в комментариях являются отдельным узлом Drupal. Конечно, оставленная ссылка – это гиперссылка, но она будет храниться в Drupal, как узел. Помимо общих особенностей узлов Drupal, у каждого узла могут быть свои, индивидуальные особенности. К индивидуальным особенностям узлов Drupal можно отнести: флаги, которые указывают, будет ли опубликован тот или иной узел, а так же индивидуальные настройки того или иного узла такие, как способы отображения узла и прочее.
К каждому узлу Drupal существуют права доступа, то есть каждый посетитель сайта Drupal обладает определенными правами доступа к каждому узлу. Права доступа к узлу Drupal могут ограничиваться только просмотром узла, а могут быть права доступа, которые разрешают удалять и модифицировать каждый конкретный узел. Узел Drupal может хранить в себе полную историю создания и модификации или изменения: где, кем, когда, какой участок узла был изменен. Это свойство узлов позволяет восстанавливать по ошибке удаленную информацию.
В системе управления содержимым Drupal изначально предопределено два узла: «Статья» и «Страница». У этих узлов нет какой-либо определенной роли, просто у каждого узла есть свои индивидуальные особенности и свойства для размещения содержимого. Единственное чем отличаются страницы Drupal от статей Drupal так это тем, что на страницах по умолчанию не отображается время создания и имя автора, который создал страницу Drupal. Страницы Drupal подходят для создания страницы с контактами, обратной связи, гостевой книги сайта, страницы информации об авторе или компании. Узлы, которые мы называем статьи Drupal отображают информацию об авторе и дате создания, а кроме того, настроены так, чтобы появляться на главной странице сайта Drupal в случае их публикации. Результатом является блог-подобный список последних статей на сайте.
При помощи управления содержимым Drupal можно создавать другие узлы. Например, на многих сайтах Drupal вы можете увидеть узел типа новости или доску объявлений, каждое объявление – это узел. Так же вы можете расширять свойства узлов при помощи модулей Drupal, каждый новый модуль может вносить какие-либо новые свойства для узла. Модуль Poll, который устанавливается вместе с CMS Drupal, позволяет создавать голосование на сайте Drupal – это тоже узел.
Структура узла Drupal
Как мы видим, при помощи модулей Drupal можно создавать новые узлы, которые могут являться свойствами для других узлов, так как, статьи или страницы. Из админ панели Drupal можно задать для каждого узла свои уникальные свойства и особенности. Использование дополнительных модулей для добавления новых типов узлов или для добавления новых полей к существующим типам является распространенной задачей в Drupal.
Организация содержимого в Drupal
У сайтов, созданных на основе Drupal, имеется огромное количество инструментов по организации и работе с содержимым. Из всего выше сказанного вы должны были понять, что Drupal организует и работает с содержимым сайтов при помощи узлов, грубо говоря, все содержимое сайта на Drupal представляется в виде узлов. Таким образом, Drupal сайт можно разбить на блоги различных пользователей, видео блоги, фотогалереи, форумы и все это на одном сайте.
Главное, что следует понять, это то, что каждый отдельный узел Drupal получает свой уникальный URL адрес, например:
[php]http://new-site.net/node/1 [/php]
Данные адреса, которые генерируются динамически системой Drupal всегда можно преобразовать в более понятные для посетителя сайта, то есть Drupal поддерживает ЧПУ. Для создания ЧПУ в Drupal есть встроенный модуль Path. Любые страницы создаются посредством извлечения списков узлов, соответствующих определенным параметрам, и отображаются различными способами. Приведу несколько примеров:
- Главная страница Drupal. Главная страница Drupal – это узел, по умолчанию на главной странице сайта Drupal будут отображаться последних десять добавленных статей. Для создание главной страницы Drupal просматривает все узлы и выводит на главную страницу только те, у которых в свойствах отмечены флаги «Опубликовано» и «На главной», помимо того, что в Drupal есть возможность выставлять статьи на главную страницу, страницы Drupal можно закреплять, достаточно поставить флажок «Закреплен» в положение true, закрепленные статьи Drupal будут всегда отображаться в самом верху на главной странице.
- Модуль Taxonomy Drupal.Я говорил ранее, что модули Drupal могут добавлять различные информационные поля к статьям и страницам Drupal. Модуль Taxonomy как раз таки позволяет добавлять новые информационные элементы. Модуль Taxonomy дает возможность администратору сайта систематизировать статьи по темам, в которых будет находиться та или иная статья. Модуль Taxonomy позволяет создавать предопределенный набор, который называется «Регионы», регионы – это поле в новостях сайта Drupal. Для ведения блога на Drupal модуль Taxonomy позволяет создавать поле тэгов, которое заполняется вручную при добавлении новой записи. Все это в Drupal объединяется под термином «Рубрики», модуль Taxonomy дает возможность автору или администратору добавлять статьи в ту или иную рубрику сайта. Когда посетитель сайта заходит на страницу той или иной рубрики Drupal выводит ему все узлы, относящиеся к данной рубрике при помощи модуля Taxonomy.
- Модуль Blog Drupal. Модуль блог в Drupal позволяет реализовать создание многопользовательского блога на основе CMS Drupal. У модуля Blog имеется всего три функции. Первое, что делает модуль Blog – добавляет новый тип узлов в Drupal, который называется «Сообщение в блоге». Во-вторых, модуль Blog ассоциирует страницу со списком, в котором отображаются узлы типа «Blog» (Блог), для которых флаг «Опубликовано» установлен в значение true. Если сообщение в блоге имеет флаг «Опубликовано на главной странице» со значением true, оно будет также отображаться на главной странице; система Drupal никогда не скрывает содержимое одной страницы только потому, что оно отображается на другой.
Это три основных модуля, которые создают базовые узлы Drupal и позволяют грамотно организовать содержимое сайта на Drupal. Есть еще несколько незначительных модулей, о которых мы поговорим позже, позволяющих организовывать содержимое сайта и входящих в ядро Drupal. Помимо встроенных модулей вы можете найти и скачать множество модулей на сайте сообщества Drupal, которые позволяют организовывать и выводить содержимое сайта различными способами.
Дополнительные виды содержимого Drupal
Помимо того, что в Drupal можно создавать различные виды содержимого и систематизировать его по спискам и категориям, в Drupal можно дополнять содержимое. Для этого в Drupal имеются встроенные возможности: комментарии и блоки.
- Комментарии Drupal. Комментарий – это отзыв посетителя сайта на ту или иную публикацию, это средство общения между посетителями сайта и авторами сайта. Комментарии в Drupal не могут существовать без статьи или страницы, комментарии в Drupal должны быть обязательно привязаны к содержимому. В комментариях посетители сайта могут обсуждать ту или иную статью, задавать вопросы автору содержимого, делиться своими мыслями и дополнять содержимое, в общем, вести беседу на заданную тему. Не удивляйтесь, но для комментариев в Drupal есть свои модули, которые добавляют рейтинговую систему или дают возможность посетителям прикреплять различные файлы в комментариях. Комментарии в Drupal можно настроить. Настройки комментариев в Drupal очень гибкие и начинаются они с настройки внешнего вида. По умолчанию предопределено два вида оформления комментариев Drupal: комментарии могут иметь древовидную структуру или могут быть представлены в виде списка. Комментарии в Drupal можно сортировать по дате добавления.
- Блоки Drupal. Блоки Drupal – это виджеты, для которых предопределяются места вывода заранее. Чаще всего блоги размещаются в шапке сайта, в левом и правом меню сайта или в подвале сайта. В виде блоков Drupal можно выводить последние записи на сайте, популярные записи на сайте, новые комментарии на сайте. Блок пользователей управляет доступностью информации для посетителей вашего сайта; узлы отвечают за отображение содержимого; а блоки помогают встроить отдельный элемент содержимого в контекст структуры вашего сайта. Блоки Drupal можно настроить так, чтобы в них выводилась различная информация для различных пользователей. Помимо этого блоки можно выводить на некоторых страницах Drupal и не выводить на других страницах.
На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)
Скажите пожалуйста, я правильно понял, содержимое Drupal — это узел, и причем каждый узел Drupal может обладать различными свойствами? А каждое свойство узла Drupal в свою очередь является узлом. Вы не считаете, что в Drupal получается какое-то нагромождение из узлов? То есть можно легко запутаться при разработке какого-нибудь модуля или при создание шаблона Drupal?
Да вы правы — все содержимое Drupal — это узлы, у каждого узла Drupal есть свой набор свойств и параметров, есть базовые свойства, которыми обладает каждый узел Drupal, помимо базовых свойств узлы могут обладать дополнительными свойствами, свойства к узлу добавляются при помощи модулей Drupal. Я не раз писал, что модули Drupal определяют весь функционал данной системы. То есть, запутаться тут просто нереально! Получается так, что модули Drupal для того и пишутся, чтобы добавить к узлам Drupal новые свойства, может звучит немного путано, но на деле все просто. Главное понять, что модуль Drupal — это по сути, какая-то новая функция на вашем сайте.
Интересные и полезные обзоры для самых новичков Drupal, но что-то автор давно не писал ничего на своем блоге, не только в рубрику «Делаем сайты на Drupal», постоянно читаю ваш блог и даже на RSS подписался! Всегда что-то интересное и полезное найти можно.
Верн, так я и стараюсь писать так, чтобы было понятно для новичков Drupal. И не отрицаю, что Drupal — это сложная система управления содержимым. Drupal, по сравнению с другими системами управления содержимым, имеет высокий порог вхождения. Начинать создавать сайты на Drupal, не разобравшись с основными понятиями и терминологией Drupal — проблематично. Конечно, создавать сайты на Drupal можно без знаний PHP и SQL и даже без HTML и CSS, но в этом случае придется либо заказывать какие-либо модули Drupal и темы Drupal, либо комбинировать функционал уже имеющихся модулей, для получения желаемого результата. Но, к сожалению, тем для Drupal очень мало, даже платных тем Drupal мало. И в любом случае, чтобы создать сайт на Drupal нужно иметь хоть какие-то знания, потому что тему придется «подгонять» под себя в любом случае.
Здравствуйте! Скажите пожалуйста а продолжение серий публикаций о том, как работает Drupal будет, и еще скажите пожалуйста какие сайты можно сделать на Drupal и будете ли вы писать про то, как создать интернет-магазин на Drupal или каталог на Drupal или даже форум?
Приветствую вас, Destroy! Да публикации про создание сайта на Drupal будут, Drupal — это, скорее всего, будет основная тема моего сайта. И, конечно, будут публикации про создания интернет-магазина на Drupal и модуль Ubercard. Но я не могуу сказать, как скоро это будет, сейчас очень загружен другими делами, немного не до блога.
Интересные у Вас статьи, я как раз начинаю осваивать Drupal и не знаком даже с терминологией, а тут так много полезного и интересного для начинающих, надеюсь дальнейшие Ваши публикации про Drupal будут более интересными и специфичными, удачи в этом нелегком деле, Вам!
Спасибо вам за положительный отзыв! Буду пытаться продолжать радовать вас публикациями про создание сайтов на Drupal и не только про создание сайтов.
К сказанному автором могу добавить, что Drupal — это самая удобная CMS для создания сайтов любой сложности начиная с обычных сайтов визиток (правда не стоит насиловать Drupal и сервер для создания визиток), для создания визиток подойдет какая-нибудь убогая Жумла или совсем деЦЦкий вордпресс. Поэтому мой вам совет изучайте PHP и SQL и создавайте сайты на Drupal. Конечно, начинать с Drupal тяжело, но когда разберетесь вам просто будет противно делать сайты на других CMS!
Keil, спасибо за дополнение, но думаю что закоренелые фанаты Joomla могут сказать тоже самое про Drupal, я, например, считаю, что выбор системы управления содержимым, на которой создается сайт зависит от конкретной ситуации, есть ситуации, когда ни Drupal ни Joomla не годятся, а скажем, годится Typo3, а есть где не годится Drupal или Joomla, потому что WordPress удовлетворит все потребности. А у кого-то создание сайта и выбор платформы — это дело вкуса, тут не спорю.