Программирование

Разработка модулей, сниппеты и др. вопросы программирования под Drupal, а также создание собственных шаблонов. Присылайте свои разработки. Вопросы по установке и настройке готовых модулей задавайте в Установка и настройка.
Все по темам: примеры кода, патчи и утилиты, темы оформления.

icon: 

edhel Пт, 01/04/2005 - 11:37

Корректный поиск в Drupal 4.5.2

Посмотрел я в табличку search_index и увидел там много нехороших слов - то nbsp, то слитно пара слов, то еще какая-нибудь фигня. Короче решил подлатать search.module и заменил там код:

// Strip heaps of stuff out of it.
$wordlist = preg_replace("'<[\/\!]*?[^<>]*?>'si", '', $wordlist);

// Remove punctuation/special characters (same rule as do_search()).
$wordlist = preg_replace("'(»|«|!|%|,|:|;|\(|\)|\&|\"|\'|\.|-|\/|\?|\\\)'", '', $wordlist);

// Strip out (now mangled) http and tags.
$wordlist = preg_replace("'http\w+'", '', $wordlist);
$wordlist = preg_replace("'www\w+'", '', $wordlist);

// Remove all newlines of any type.
$wordlist = preg_replace("'([\r\n]|[\r]|[\n])'", ' ', $wordlist);

// Lower case the whole thing.
$wordlist = strtolower($wordlist);

на такой:

$wordlist = strtolower($wordlist);

Ключевые слова: 
Версия Drupal: 
0 Спасибо

axel Чт, 31/03/2005 - 19:06

Iced Drupal

Время от времени поднимаются темы о скорости Drupal в частности и PHP-скриптов вообще. Да, динамическая генерация страниц ресурсы само собой отъедает. Так ли уж нужна она всегда? Предостаточно типов контента заносится одиножды в базу и далее только считывается. Удобно хранить это в HTML и не морочиться с предварительной генерацией контента скриптами. С другой стороны отказываться от удобств CMS по динамическому созданию и структуризации контента тоже не хочется. Можно ли это совместить?

Ключевые слова: 
Версия Drupal: 
0 Спасибо

edhel Вс, 27/03/2005 - 00:11

Фильтр "Кавычкер": правильные кавычки и проч.

Здесь промелькивал php-код для правильной расстановки кавычек, тире и проч. Топик этот здесь: http://drupal.ru/node/624

Я завернул этот код в фильтр. Пользуйтесь наздоровье. %]

Версия Drupal: 
0 Спасибо

axel Чт, 24/03/2005 - 13:10

Патч: "полосатые" комментарии под phptemplate

Чередование цвета комментариев - одна из любимых фишек дизигнеров. Фиг знает зачем надо, объясняют повышением юзабельности и всё такое. В друпале список форумов имеет чередующиеся стили, что даёт возможность присваивать разные цвета, а вот комментам всем присвоен общий стиль. Чтобы не лезть с правками в стандартные модули можно реализовать альтернативную функцию вывода в теме. Я делал под phptemplate, но способ адаптируем и к другим движкам тем. Для phptemplate следует заменить файл comment.tpl.php в вашей теме - см. аттач.

Ключевые слова: 
Версия Drupal: 
0 Спасибо

Nick Ср, 23/03/2005 - 17:31

user_agent.patch: Показ User Agent`а в логах

Это патч для statistics.module и watchdog.module, который позволяет просматривать браузрер (User Agent) пользователя, который заходил на сайт.

Прошу тестирвать!

Usage:
1.
mysql -u user_name -p database_name < user_agent.mysql
2.
patch -p0 < user_agent.patch

Ключевые слова: 
Версия Drupal: 
0 Спасибо

axel Ср, 09/03/2005 - 20:06

Taxonomy containers (patch)

Patch improves usability of taxonomy by offering term-containers. Term container is like container in forum module - you may see it in list, but not allow to select it. Patch solves problem in forum module where user may wrongly select forum categories for posting. Though term containers may be useful not only for forum module.

Patch applicable to Drupal 4.5 and will adapted to 4.6 later. Unfortunately in 4.6 forum structure based on own list instead of standard taxonomy and patch will useless for forum.module.

Patch use OPTGROUP tag for making menu elements unselectable (such way, as menu at admin page of locale.module does). You may find additional information about OPTGROUP tag usage and browser compatibility for example here: http://www.webreference.com/js/tips/010716.html

Gzipped patch here: [file:3] You need also modify term_node table:

ALTER TABLE `term_data` ADD `container` TINYINT(1) AFTER `description`;

Example of selection field after patch applied:

Версия Drupal: 
0 Спасибо

axel Ср, 09/03/2005 - 19:15

Контейнеры в таксономии - патч

Патч позволяет представлять отдельные термины таксономии как "контейнеры", т.е. термины к которым нельзя привязать документ, но в списке выбора они присутствуют (по аналогии с форумами-контейнерами). Это улучшает юзабельность тех же форумов - форумы-контейнеры видеть можно, а вот выбрать их для постинга - нельзя.

[file:03]
После применения патча надо добавить поле в таблицу term_data:

Версия Drupal: 
0 Спасибо

kiev1 Ср, 23/02/2005 - 19:50

подскажите функцию

подскажите пожалуйста стандартную функцию делающую вот так
if(strstr($_GET[q], "taxonomy")){
...
}
это для темы - например мы запрашиваем по url страничку которая сделана каким-то модулем например таксономией и хотим для нее переписать вывод так что-бы приклеенные ноды были справа а неприклеенные слева - то есть дизайн поменять. подозреваю что в друпал есть что-то стандартное.

И еще что такое фильтры (модули форматирования)?

Версия Drupal: 
0 Спасибо

PG Вс, 13/02/2005 - 00:40

Архивация во вторую базу

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

Концепция двух баз (одна боевая, другая архивная) мне попадалась в некоторых форумах. Как хак к форуму invision. Вроде бы (точно не скажу) что-то такое штатно реализовано в последней версии vbulletin.

Я перечисляю только форумы, но сама идея к drupal относится не в меньшей степени.

Ключевые слова: 
0 Спасибо

axel Втр, 08/02/2005 - 08:08

new script phpbb2drupal (translation of the #576)

Script for convertation phpbb 2.0.11 to drupal 4.5.2. Based on the original script by Fedor. Script placed here: http://www.mova.org/~lowry/phpbb2drupal.html

Also see attached script in original Russian node.

Ключевые слова: 
Версия Drupal: 
0 Спасибо

mikhailian@drup... Пнд, 07/02/2005 - 09:29

Новый скрипт phpbb2drupal

Сабж, недавно перенёс phpbb 2.0.11 в drupal 4.5.2. Пришлось немного изменить скрипт Fedor'а. Моя версия лежит на http://www.mova.org/~lowry/phpbb2drupal.html

--
Alexander Mikhailian

Версия Drupal: 
0 Спасибо

Гость (не проверено) Пт, 04/02/2005 - 00:12

Эмуляция ModeRewrite для Drupal

//
// Для эмуляции нужно вставить это сообщение в начало файла "index.php"
// и выставить его обработчиком ошибок (DocumentError 404)
//
//-------------------------------------------------------
if ( empty($_GET["q"]) && !ereg("$?",$_SERVER["REQUEST_URI"]) == false){
$_GET["q"] = $_SERVER["REQUEST_URI"];
$_GET["q"] = ereg("$/",$_GET["q"])
? substr($_SERVER["REQUEST_URI"]["q"], 1)
: $_SERVER["REQUEST_URI"];
}
//-------------------------------------------------------

Ключевые слова: 
Версия Drupal: 
0 Спасибо

PG Пнд, 31/01/2005 - 19:15

Чего не хватает движку форума

...только не надо про "нехватку двух камней", на один положить, другим прихлопнуть. :)

С пользовательской точки зрения:

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

- Редактирование отправленных сообщений автором в течение определенного срока (опечатки отлавливать и т.п.)

Ключевые слова: 
Версия Drupal: 
0 Спасибо

axel Сб, 29/01/2005 - 21:24

Будущее Flexinode - Content Construction Kit

Джонатан Чаффер (Jonathan Chaffer aka JonBob) — автор модуля flexinode позволяющего создавать новые типы документов для Drupal не прибегая для этого к программированию. В разделе Content Construction Kit на своём сайте JonBob описывает недостатки существующей реализации flexinode (в основном они сводятся к плохой масштабируемости) и предлагает новую схему, свободную от этих недостатков. Очень возможно, что новый flexinode (или как его назвал автор

Ключевые слова: 
Версия Drupal: 
0 Спасибо

Гость (не проверено) Чт, 20/01/2005 - 21:42

интеграция Drupal и Vbulletin

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

Версия Drupal: 
0 Спасибо

Mops Ср, 19/01/2005 - 23:06

шаблон модуля

Кто знает, есть ли "шаблон модуля", т.е. простейший модуль с комментариями, чтобы смотря как он устроен внутри сделать свой?

Версия Drupal: 
0 Спасибо

alexsun Ср, 05/01/2005 - 13:35

Визуальное описание работы движка (Engine Diagram) Drupal

Есть ли такая штука в природе? На друпал.орг не нашёл.
Если нет, то не могли б вы рассказать основные концепции работы движка. Уж очень хорошо проработана модульность у этого движка.
Заранее спасибо.

Ключевые слова: 
Версия Drupal: 
0 Спасибо

Гость (не проверено) Ср, 05/01/2005 - 09:23

[Решен] Настраиваемый пользователем фильтр нод

Задача
Есть интранет-сайт на котором сотрудниками публикуются материалы.
В фирме несколько отделов.
Сотрудникам из одного отдела совсем не интересно читать материалы не касающиеся их работы.
Т.е. вэб-разработчику не нужен обзор новых фич последней версии рендерера VRay, а гейм-программисту не нужна ссылка на модный плагин к среде разработки на Java.

Что хотелось бы сделать
Каждый пользователь имеет возможность составить список интересных ему тем и разделов и в последствии видеть только материалы соответствующие этому списку.
Составленный список сохраняется в личных настройках, т.е. его не нужно переконфигурировать при каждом входе.

Ключевые слова: 
Версия Drupal: 
0 Спасибо

axel Сб, 18/12/2004 - 15:13

Akvaforum

Akvo kura — akvo pura

Альтернативный модуль форума в разработке. Идея: форумные обсуждения не самостоятельный тип документов, а лишь еще один способ организации контента - любые документы могут быть представлены в виде форумных тем.

Особенности:

Ключевые слова: 
Версия Drupal: 
0 Спасибо

Гость (не проверено) Пт, 26/11/2004 - 12:48

Paging

Кто-нибудь знает, реализовали ли где-нибудь фичу http://drupal.org/node/2768 (разбивка длинных нодов на страницы с перемоткой). Очень нужно разбивать длинные статьи на страницы, а механизма нет.

Ключевые слова: 
Версия Drupal: 
0 Спасибо

Страницы