Модули в Drupal 7


Опубликовано чт, 07/28/2011 - 19:24 пользователем iflight

Теги 

Drupal 7, модули
Tweet
Модули Drupal 7

Почему при необходимости создать сайт подавляющее большинство новичков и многие профессионалы выбирают ту или иную CMS? Ответ на этот вопрос прост – это позволяет сэкономить уйму времени и позволяет не задумываться о банальных, но в то же время достаточно сложно реализуемых вещах. На базе популярных CMS возможно создание веб-сайтов практически любой сложности и функциональности, и все благодаря возможности подключения дополнительных модулей, расширяющих функционал движка. Вот о модулях, в частности о модулях для Drupal 7 я и хочу сегодня немного рассказать.

Каждый, кто хоть раз устанавливал или администрировал Drupal 7 сталкивался с модулями. Задача каждого конкретного модуля – добавление нового функционала, плоды работы одних модулей легко заметить, других же практически не возможно.

”Из коробки” в Drupal 7 доступен набор модулей, предназначенный для наиболее распространенных задач, таких как комментарии, меню, опросы и прочее. С выходом каждой мажорной версии (Drupal 5,6,7) набор модулей ядра меняется. Например в Drupal 7 по умолчанию появился замечательный модуль Field, позволяющий добавлять различные поля объектам, в Drupal 6 для достижения того же эффекта необходимо было устанавливать модуль CCK. Модули, доступные по умолчанию расположены в папке modules.

Дополнительные модули для Drupal можно найти на официальном сайте, на сайтах различных разработчиков (не советую этого делать, если вы полностью не доверяете разработчику), а так же написать самому.

Установить дополнительный модуль довольно просто, для этого есть несколько способов:

  • Скачать нужный модуль, скопировать в папу site/all/modules и включить его в меню   Управление » Модули.
  • При включенном модуле Update – зайти в меню   Управление » Модули , нажать на ссылку «Установить новый модуль», а дальше следовать инструкциям системы.
  • Если у вас есть возможность использовать утилиту Drush – залогиниться в ней, перейти в директорию где установлен Drupal и вызвать две команды: drush dl module_name и drush en module_name.

Для наилучшей функциональности сайта необходимо периодически обновлять модули, сделать это так же можно несколькими способами:

  • Зайти в меню   Управление » Модули, выбрать вкладку «Обновить» , выбрать модули, которые вы хотите обновить, ну и собственно обновить.
  • С использованием Drush: залогиниться, перейти в деректорию сайта и ввести команду drush up module_name, или же drush up, для обновления всех модулей.

Так вы сможете обновить лишь те модули, которые доступны на официальном сайте Drupal, в ином случае все придется делать вручную.

Структура модулей

О том как устроенны модули я расскажу на примере одного маленького самописного модуля, который добавляет в теги alt и title изображения ноды заголовок этой ноды.

Итак минимально модуль должен состоять из 2х файлов, первый из которых имеет расширение .info и преднозначен для предоставления информации о модуле. Пример такого файла для моего модуля “Add alt” (addalt.info):

name = "Add alt"
description = Добавляет в тег alt и title поля field_demot значение title ноды
core = 7.x
version = 7.x-1.0
files[] = addalt.module
package = addalt

Разберем все по порядку:

  • Переменная name – это имя модуля.
  • Description – описание модуля, которое будет отображаться на странице модулей.
  • Core – указывает для какой версии Drupal предназначен модуль.
  • Переменная version содержит версию самого модуля.
  • Массив files[] должен содержать все файлы модуля.
  • Package указывает к какому разделу относится модуль.

Следующий обязательный файл модуля – это собственно сам модуль, файл с расширением .module. Пример моего файла addalt.module:

<?php
        function addalt_node_presave($node) {
                $node->field_demot['ru'][0]['alt'] = $node->title;
                $node->field_demot['ru'][0]['title'] = $node->title;
        }

В этом файле находится основной код модуля, написанный с использованием хуков (что такое хуки хорошо написано тут).

Кроме этих файлов в модуле Drupal 7 можно найти файл с расширением .install, который описывает действия при установке, удалении и апдейте модуля.

Вот и все. До встреч и успехов:)

Если вам понравился мой блог не забудте подписаться на RSS или мой микроблог в Twitter.

Комментарии



  xandeadx ( пт, 07/29/2011 - 02:48 ):

> description = Добавляет в тег alt и title поля field_demot значение title ноды кириллица в .info файлах не приветствуется > Массив files[] должен содержать все файлы модуля. только тех, в которых есть классы ;)


  Cyber9 ( чт, 02/02/2012 - 12:58 ):

$node->field_demot['ru'][0]['alt'] - в хуке на node_presave не работает в Drupal 7.10. Говнокод. $node->field_demot['und'][0]['alt'] - вот вам рабочий вариант.



  Виктор ( вт, 06/05/2012 - 09:36 ):

print_r не всегда можно использовать, в отличии от debug()
 

  Dahrann ( пн, 03/12/2012 - 09:32 ):

http://www.autoinsurplans.net/|new jersey car insurance 63217 http://www.onlineremedynow.com/|ultram tramadol used to treat ocd 738


  Drapedale ( вт, 03/13/2012 - 23:09 ):

виджеты для android светодиодные светильники встраиваемые комоды стенки О самых милых красивые слова о девушках и любимых тара для опасных грузов


  Aliencent ( чт, 03/15/2012 - 01:38 ):

Грузовые шины otkritki с днем рождения формула 1 чемпионат 2011 Диски смешарики начало онлайн бесплатно


  Arottedrura ( вс, 03/18/2012 - 14:13 ):

свайные работы эпиляция зоны бикини Монтаж охранной и пожарной сигнализации видеосъемка свадеб в минске смотреть фильмы


  Tamber ( ср, 03/21/2012 - 20:59 ):

http://www.getyourquote.net/|auto insurance dfxdz http://www.discountinsurlife.com/|auto insurance knrd


  Lolly ( вс, 04/01/2012 - 14:57 ):

http://www.medswebsite.com/|cost of viagra =-OO http://www.remedychart.com/|ultram and zanaflex fibromyalgia =-[


  orb ( ср, 04/04/2012 - 10:13 ):

version = 7.x-1.0 Эти данные не пишутся разработчиком, туда вбивается из Друпал.орг. Если модуль не выкладывается на орг. то лучше не писать что бы не сбивать людей с толку
  

  Milly ( чт, 07/05/2012 - 00:56 ):

http://www.car-insur-online.com/|free car insurance quotes 72218 http://www.treatedonline.com/|levitra 4808 http://www.searchonlinecolleges.net/|masters degree 218957 http://www.myinsurdeals.com/|in home health care insurance zlm


  Jeneva ( чт, 07/05/2012 - 12:09 ):

http://www.megameds.net/|levitra rgme http://www.yourhairtreatment.com/|propecia generic name 40155 http://www.eddrugsonline.net/|viagra no prescription cirtrd http://www.findyourinsur.com/|life insurance :-((


  Idalee ( чт, 07/26/2012 - 05:59 ):

http://www.getpainkilleronline.com/|fiorcet generic ultram wellbutrin zoloft %-DDD http://www.getfreeinsurancequotes.net/|best life insurance :-) http://www.searchquotesonline.com/|new jersey car insurance ovk http://www.myrefinanceratesplace.com/|mortgage tkrj


  Crissy ( вс, 07/29/2012 - 02:10 ):

http://www.getpainkilleronline.com/|ultram 146513 http://www.flycheaptoday.net/|flight cheap pdrcq http://www.onlinebilligmedisin.com/|best buy generic viagra :-OOO


  King ( сб, 08/04/2012 - 20:51 ):

http://www.getfreeinsurancequotes.net/|life insurance rate 30689 http://www.illinoiscarinsur.com/|discount auto insurance >:-( http://www.onlinebilligmedisin.com/|viagra prices 319 http://www.insurplansguide.com/|term life insurance quotes xbtmz
         

  eraga ( вт, 08/21/2012 - 13:06 ):

http://www.ovas-shop.ru - лучшая Российская детская одежда от производителя http://www.kaysarow.ru - классика одежды http://www.men-odezda.ru - купить классику
  

  Tess ( пт, 08/24/2012 - 03:34 ):

http://www.findautoinsurplans.com/|auto insurance 8PP http://www.tzrinski.com/|order viagra 350 http://www.getyourquotesonline.com/|car insurance quote rsz http://www.carinsurquote.com/|car insurance quotes wqluv
            

  Kaedn ( чт, 09/20/2012 - 21:09 ):

http://www.findcreditcardonline.net/|visa credit cards vwi http://www.insuranceratesinminutes.com/|cheap auto insurance 38656 http://www.findyourcollegesonline.com/|online colleges >:-] http://www.instantinsurquotes.com/|car insurance quotes 459
   

  Adele ( вс, 09/23/2012 - 15:48 ):

http://www.findcreditcardonline.net/|unsecured credit cards =((( http://www.findacnetreatment.net/|accutane online pharmacy wsui http://www.instantinsurquotes.com/|car insurance quotes 099597


Страницы

Комментировать