Ромка!eu

  • Отдых
  • Работа
Главная

модуль

Разработка модуля для Drupal. Часть3. Cron и темизация

Ромка — Вс, 01/03/2010 - 19:52

393
points

Регулярные процедуры

Чтобы Drupal периодически выполнял определенные действия, в планировщике задач операционной системы необходимо настроить запуск файла cron.php, который находится в корне каждого Drupal-сайта. При выполнении этого файла будет вызываться хук hook_cron, и в нашем модуле мы напишем его реализацию.

  • cron
  • Drupal
  • модуль
  • статья
  • темизация
  • Ромка's blog
  • 3 комментария
  • Читать далее
  • Quote

Разработка модуля для Drupal. Часть2

Ромка — Вс, 01/03/2010 - 19:31

340
points

currencies.info

В .info-файлах модулей содержится служебная информация, без которой модуль не будет виден в системе. Начинаться любой .info-файл должен со строки

  1. ; $Id$

В файлах с PHP-кодом после открывающего тега <?php необходимо добавить строку
<?php
// $Id$
?>

  • Drupal
  • модуль
  • статья
  • Ромка's blog
  • 3 комментария
  • Читать далее
  • Quote

Разработка модуля для Drupal. Часть1. Введение

Ромка — Вс, 01/03/2010 - 19:15

381
point

Система управления сайтом Drupal построена по модульному принципу: компактный набор служебных функций (ядро) расширяется при помощи модулей — файлов с PHP-кодом. Модули должны содержать «хуки» (hooks) — особым образом именованные функции, которые вызываются ядром Drupal при возникновении каких-либо событий. Каждый модуль имеет системное имя, которое должно состоять из латинских букв, цифр, знака подчеркивания (и начинаться обязательно с буквы). Имя хука должно состоять из двух частей: имени модуля и названия события. При возникновении любого события ядро Drupal в каждом из установленных модулей ищет и выполняет соответствующую функцию, т. е. функцию с именем название_модуля_название_события. Например, при возникновении событий, связанных с учетной записью пользователя (регистрация, авторизация, изменение роли пользователя и др.), ядро Drupal вызывает функции, реализующие хук hook_user, поэтому, чтобы модуль с именем example мог отреагировать на это событие, в нем необходимо объявить функцию с именем example_user(). Список передаваемых в эту функцию аргументов, пример ее использования и информацию обо всех функциях и хуках, доступных в Drupal, можно найти на странице официальной документации http://api.drupal.org или ее русской версии: http://api.drupal.ru.

Эта статья — продолжение материала, посвященного CMS Drupal (см. PC Magazine/RE, 12/2008). В первой статье подробно рассказано о назначении и возможностях системы, а также приведены примеры сборки сайтов на Drupal с использованием уже существующих модулей. Этот же материал будет больше интересен техническим специалистам, умеющим программировать на языке PHP, знакомых с основами HTML и CSS, и тем, кто хочет познакомиться с методами разработки собственных модулей для этой системы. Перед чтением этого материала рекомендуется освежить в памяти информацию, просмотрев ее первые три раздела.

  • Drupal
  • модуль
  • статья
  • Ромка's blog
  • Добавить комментарий
  • Читать далее
  • Quote

Разработка сайта на Drupal. Часть 3. Модули Drupal.

Ромка — Вс, 01/03/2010 - 02:44

299
points

Кроме программных интерфейсов, в Drupal имеется несколько мощных модулей, благодаря которым даже без навыков программирования можно создавать проекты с довольно сложной структурой:

  • CCK — Content Construction Kit, визуальный редактор, позволяющий расширить любой тип контента с помощью любого количества дополнительный полей: картинки, файлы, видео-ролики с бесплатных видео-хостингов, ссылки на внешние и внутренние ресурсы и так далее. С технической точки зрения этот модуль представляет собой визуальный редактор для Node API, о котором уже говорилось.
  • Views — инструмент, позволяющий создавать списки документов, отфильтрованные по большому количеству различных параметров, например, по рейтингу, автору, дате публикации или последнего комментария, наличию или отсутствию определенных тэгов и другим параметрам. Фактически, этот модуль является графическим интерфейсом, с помощью которого пользователь создает сложный SQL-запрос к базе данных.
  • Panels — модуль, позволяющий без знания html, создать страницы разделенные на районы, данные для которых будут предоставляться различными модулями Друпала. Этот модуль, обычно, используется для создания главной страницы сайта, на которой выводятся блоки с последними новостями, форумными обсуждениями, комментариями и так далее.
  • Webforms — визуальный интерфейс для создания форм обратной связи и обработки данных, переданных через эти формы.
  • Еще один важный модуль — ImageCache. Он обеспечивает функции автоматической обработки изображений на основе пользовательских сценариев правил обработки (preset). Например, при публикации документа на сайте можно настроить ImageCache таким образом, чтобы сразу изменить масштаб картинки, вырезать фрагмент нужного размера, изменить палитру, повернуть и т. п. Иными словами, из одной картинки автоматически могут быть получены, например, пиктограмма, миниатюра для предварительного просмотра и полноразмерное изображение. Все эти модули интегрированы с системой темизации Drupal и позволяют изменять внешний вид создаваемых ими документов и списков.
  • Drupal
  • модуль
  • статья
  • Ромка's blog
  • 8 комментариев
  • Читать далее
  • Quote

Swftools и модуль Pdf2SWfField для Друпала

Ромка — Чт, 08/20/2009 - 23:55

516
points

Заказчику захотелось просматривать на сайте PDF-документы через flash-проигрыватель. Adobe Reader есть не у всех, да и выглядит он скучно, а к флешовому проигрывателю можно, при желании, прикрутить множество красивых эффектов. Ну и, разумеется, руками конвертировать файлы из формата PDF в SWF заказчик не захотел. Поиски готового решения ничего не дали, по этому я написал свой модуль для Друпала, который, используя бесплатный набор утилит swftools, конвертирует закачанный PDF в SWF и выводит его в самописном вьюере.

Модуль представляет из себя плагин к CCK, зависит от FileField и использует для вывода просмотрщика возможности модуля SWFTools (он не имеет никакого отношения к проекту swftools.org). Иными словами, для работы моего модуля нужны все три перечисленных выше модуля. Кроме того, на сервере должна быть установлена последняя версия swftools, я тестировал модуль с swftools 0.9 и глюков с конвертированием данных не обнаружил, за другие версии не ручаюсь. Последнее ограничение означает, что модуль не будет работать на 99,99% виртуальных хостингов. Установка swftools не должна вызвать проблем, особенно если воспользоваться вот этой инструкцией.

Демонстрация работы модуля доступна здесь: http://romka.eu/article/testovyy-dokument-demonstriruyushchiy-vozmozhnos....

  • Drupal
  • flash
  • PHP
  • swftools
  • модуль
  • Работа
  • Ромка's blog
  • 15 комментариев
  • Читать далее
  • 1 файл
  • Quote

Тестирование модуля "Inner poll"

Ромка — Втр, 09/16/2008 - 21:05

526
points

Разработал очередной модуль для шестого Друпала. Inner poll — модуль позволяющий прикреплять опросы к любому документу (в стандартной поставке Друпала опрос является отдельным типом документа).

Особенности модуля

  1. Все действия пользователей сохраняются без перезагрузки страницы (хмм, возможно, пора уже перестать считать AJAX фишкой);
  2. автор опроса может разрешить (или не разрешить) пользователям отменять свои голоса голоса;
  3. автор опроса может открывать/закрывать опрос, а так же устанавливать дату автоматического закрытия опроса;

К сообщению прикреплен опрос на тему "Ква?"

Голосование закрыто
Результаты:
0%
(0)
Ква!
100%
(4)
Ква-ква!
0%
(0)
Не ква!
Всего голосов: 4
  • Drupal
  • модуль
  • Работа
  • Ромка's blog
  • 24 комментария
  • Читать далее
  • 2 файла
  • Quote

Разработал модуль "Адаптивное меню" для Drupal 6

Ромка — Чт, 08/28/2008 - 23:20

663
points

Модуль позволяет пользователям формировать меню, состоящее из любых ссылок, как внешних, так и внутренних.

Фичи модуля

  • достаточно добавить URL, заголовок страницы будет получен автоматически;
  • сортировка элементов меню осуществляется простым перетаскиванием;
  • все действия пользователя обрабатываются при помощи технологии AJAX, по этому интерфейс не усложнен лишними вопросами или перезагрузками страницы. Все изменения сохраняются "на лету".

В продолжении небольшая демонстрация возможностей модуля.

  • Drupal
  • Drupal 6
  • модуль
  • Работа
  • Штуки-дрюки
  • Ромка's blog
  • 5 комментариев
  • Читать далее
  • 1 файл
  • Quote

Проверка имени пользователя на наличие букв из разных алфавитов

Ромка — Сб, 08/23/2008 - 10:59

538
points

Иногда при работе сайта может возникнуть неприятная ситуация, в которой некоторые ушлые юзеры регистрируют себе логин, похожий на имя уже существующего пользователя, при этом одна или несколько букв в имени заменяется аналогичной буквой из другого алфавита. Например, в моем нике русскую букву "о" можно заменить английской, для системы ник Рoмка с английской "о" будет уникальным и он будет без проблем зарегистрирован, а для обычных читателей эти два ника могут показаться идентичными, особенно если хулиган скопирует себе еще и данные из оригинального профиля пользователя.

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

  • Drupal
  • Drupal 6
  • модуль
  • Работа
  • Ромка's blog
  • 2 комментария
  • Читать далее
  • 1 файл
  • Quote
RSS-материал

Обо мне

Всем привет!
Меня зовут
Роман Архаров, я профессиональный веб-разработчик, программирую на языках PHP, Python и Action-Script, в работе использую фреймворки Drupal и Django. В этом блоге я размещаю заметки и статьи, связанные с моей работой, отдыхом и другими интересными мне темами.

Популярные заметки

  • AJAX. Обмен данными между клиентом и сервером, закачка на сервер файлов без перезагрузки страницы при помощи библиотеки jQuery.
  • Пример разработки плагина для модуля CCK
  • Темизация Drupal. Часть 1
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal
  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Темизация Drupal. Часть 4. Темизация Views
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal
  • Вращение изображений при помощи Javascript
  • Кнопки Home, End и Page Up, Page Down в Mac OS

Подписка


Последние комментарии

  • Oz → Швабрашвабр2 → слабовато для
  • loan → Вращение изображений при помощи Javascript → answer this topic
  • CopelandLacey33 → Доставка → reply this post
  • vitsss → Авторизация на Drupal-сайте с помощью аккаунта вКонтакте → hostinh nic.ru and vk api
  • dimasikov → Автоматическая "газетная" верстка (верстка в несколько колонок) → Я похожее делал для с этим
  • max2012 → Разработка сайта на Drupal. Часть 2. Архитектура Drupal. → Подвесные потолки Опосля
  • Антон → Темизация Drupal. Часть 4. Темизация Views → Отлично!
  • Itsmypersonal → Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 2 — Пхукет → Пхукет - да!
  • Sheldon → Перетаскивание ячеек таблицы. Table drag and drop — плагин для jQuery → Здравствуйте! Подскажите
  • Sheldon → Home sheep home → Одна из тех игр в которые

Новые заметки

  • Проба пера в HTML5 + canvas. Эффект ластика
  • Шесть рукопожатий
  • Доклад на DrupalConfMoscow 2011
  • Статусы разных сущностей в Друпале 6
  • Футер, прибитый к низу страницы
  • Путешествие по Перу и Боливии. Часть 2
  • Путешествие по Перу и Боливии. Часть 1
  • Несколько панорам из путешествия по Перу и Боливии
  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Home sheep home

Тэги

dckyiev09 Drupal jquery Боливия Отдых Перу Работа Штуки-дрюки зима 2010 модуль статья темизация
еще тэги

Вход для пользователей

Что такое OpenID?
  • Войти по OpenID
  • Скрыть вход по OpenID
  • Зарегистрироваться
  • Запросить новый пароль

Навигация

  • Exchange rate
  • Vote up/down
  • Переход по внешней ссылке
  • Последние сообщения
  • Фотогалереи

Курсы валют

  • 100 Казахских тенге — 19,9970 (-0.24)
  • 10 Украинских гривен — 36,9677 (-0.49)
  • 10 Китайских юаней — 47,1500 (-0.56)
  • 100 Японских иен — 38,4449 (-0.79)
  • 1 Доллар США — 29,6795 (-0.41)
  • 1 Евро — 39,4767 (+0.02)
  • 10000 Белорусских рублей — 35,8016 (-0.14)
  • 1 Турецкая лира — 17,0200 (-0.13)

10 случайных заметок

  • Цитата
  • Home sheep home
  • Лето 2007. Путешествие в Камбоджу – Таиланд – Малайзию. Часть 6. Куала-Лумпур.
  • Разработка сайта на Drupal. Часть 2. Архитектура Drupal.
  • Начинающий автор
  • Швабрашвабр.ру — пример коллективного блога с элементами соц сети, построенный на CMS Drupal
  • Май 2006. Сочи, Адлер, Геленджик, Анапа, Керчь, Судак, Ялта, Севастополь.
  • Второе имя, middle name
  • Проверка имени пользователя на наличие букв из разных алфавитов
  • Разработка модуля для Drupal. Часть3. Cron и темизация

Случайные фото

Оригинальная дорожная разметка в Гаване
Норвегия, Нордсетер
Без имени
Еще горы
Это лыжники. В мае. На улице +20.
В Сингапурском зоопарке. Попугай
Я и бамбук
Вечерний Копенгаген
Оденсе
Желтый арбуз! Ммм, юмми!
Насыпь между Кайо Санта Мария и Кубой
Горы
В Сингапурском зоопарке. Леопардовая (бенгальская) кошка.
Фонтаны в Осло работают даже зимой. Карл Юхан Гате
Копенгаген, Кристиания, Граффити 6
Фонарь
  • Отдых
  • Работа

При использовании материалов с сайта, пожалуйста, ставьте ссылку на источник. E-mail для связи: mne@romka.eu.