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

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

icon:

формирование контента в новом модуле

Аватар пользователя Гость

Доброе. Есть задача - надо в новом модуле вытаскивать данные из некоторой базы и показывать их на экран. Сейчас я сделал так - в newmodule_view запускаю запрос и офрмляя, запихиваю его в $node->body. Кто-нибудь может сказать - правильно ли это? Если нет, то как на самом деле нужно (роясь в сорсах что-то не догнал).

0 Thanks

Пароль генерируется и затем высылается на почту - нехорошо

Аватар пользователя Гость

Собственно, сабж.

Мне бы хотелось сделать так, как это сделано у большинства CMS (не сочтите за "хочу быть модным" ;)) - т.е. при регистрации пароль вводит регистрирующийся, а затем происходит подтверждение регистрации по почте (см. IPB / vB и пр.).

Можно ли это как-нибудь сделать, не лазяя "особо глубоко"?

0 Thanks

Галерея внутри раздела

Аватар пользователя edhel

На сайте имеется куча тематических разделов с кучами статей в них. А хочется еще в разделы валить и галереи! Если сделать обычную галерею с помощью image, то как ее красиво привязать к разделу, чтобы она была видна также как и статья?

Не очень красиво я сделал это с помощью flexinode: у моей статьи есть поле "URL источника статьи" и галочка "переадресовывать автоматически на источник статьи". Когда надо в раздел добавить галарею я делаю статью с названием "Галерея такая-то", адресом типа image/tid/xxx и галочкой. При клике по этой статье юзер попадает в галерею. Но навигация-то теряется!!! breadcrumb становится типа "Галереи /". Как быть? По идее было бы как раз то что надо, если бы галереи были бы отдельным типом нодов, также как и сами картинки, но они ведь сделаны категориями!

0 Thanks

Создание собственного типа контента

Аватар пользователя Гость

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

0 Thanks

изменение вывода дерева меню. как грамотнее сделать ?

Аватар пользователя Оранжевый Удав

Добрый день!

Мне надо подправить функции theme_menu_tree и theme_menu_item из includes\menu.inc . Как более грамотно сделать - править прямо в menu.inc или эти функции есть хуки и их можно как-нибудь подменить из модуля/темы ? Не хотелось бы трогать базовое ядро, не эстетично это как-то..

Спасибо.

0 Thanks

Фильтрация nodes

Аватар пользователя Anton

Доброго времени суток.
Создал свой тип node. Теперь передо мной встала следующяя проблема - как создать фильтр, который будет выводить только те мои node, которые удовлетворяют условиям фильтра. При попытке брать параметры из строки навигации и банально подставлять их при выборке в node_ххх_load выбираются мои nodes со своим описанием и содержимым, но выбираются и все остальные nodes, но уже без расширенного мной содержимого. То есть получается, что добавляя свой node он добавляет 2 раза - в мою таблицу с node и в стандартную таблицу node.

Подскажите, плиз, как же организовать фильтрацию? Возможно я пошел не по тому пути...

0 Thanks

блоки: последние ссылки, картинки...

Аватар пользователя Mops

Хочу в front_page сделать такую штуку: три столбца в первом список (<ul>) 5 послдених ссылкок, во втором - 5 последних картинок (названия), в 3 еще что нибудь, например 5 последних новостей (story). Может кто делать что нибудь подобное? какие функции использовать и т.д.

0 Thanks

Легкое добавление терминов

Аватар пользователя bang

Я сейчас делаю модуль (условно назовем easyterms), который позволял бы легко добавлять термины в какой-либо словарь при редактировании ноды. Например, у меня есть тип "Новости" и есть словарь "Ключевые слова". Я хочу, чтобы при добавлении новости я могла бы не только выбрать ключевые слова из существующих (стандартное поведение), но и сразу добавить новые: просто ввести в текстовое поле ключевые слова через запятую, а потом разобрать, новые - добавить в словарь и привязать к новости, повторяющиеся - просто привязать к новости.

Так вот, сейчас для этого я помимо файлов самого модуля лезу в код модуля taxonomy.

0 Thanks

Странная интерпретация CSS

Аватар пользователя Easter

Привет всем. Вот какая у меня проблема. Я сделал тему для движка XTemplate. Она нормально выглядит для NN, Mozilla и Firefox. Но для Internet Explorer получается отступ сверху страницы. Я пытюсь убрать его при помощи:
body {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
}

В style.css

Однако это почему-то ничего не дает. Что я делаю неправильно?..

0 Thanks

Доступ к дополнительным полям профиля

Аватар пользователя Гость

Добавил дополнительные поля в профиль юзера. Как получить доступ к их содержимому?

$user->name;
//Работает... $user->profile_new_field;
//Не работает.
0 Thanks

Предлагаю обсудить правка модуля flexinode, чтобы русские имена файлов со

Аватар пользователя qman

На сайте уже обсуждались тонкости сохранения файлов содержащие символы кирилицы в имени.

Настроено drupal 4.5.2 ОС MS windows (к сожалению несмогу сменить на unix) используется модуль flexinode.
Если на сервер производится upload файла содержашего символы кирилицы, то на сервере все это пишется ввиде нечитаемых символов. Вследствие этих нечитаемых символов возможны проблемы после запуска программ обслуживания жесткого диска.

Есть мысли по устранению этой проблемы - добавить функцию в модуль flexinode, которая сохраняет файл в транслите (при наличии символов кирилицы).

0 Thanks

Последние добавленные подразделы (новости) в отдельном меню

Аватар пользователя belfenos

Проблема в следующем
Хотелось бы создать меню, в котором показывались последние добавленные на сайт подразделы раздела меню.

В конкретном случае я сделал так, c помощью модуля bookpage создал в меню классы, в которые хотел бы добавлять подклассы (они представляют собой название с описанием и ссылкой на файл) Почему именно так, потому что модуль позволяет создавать список подклассов на странице класса
В моем случае подкласс это своеобразный новый файл, добавленный на сайт.

Хотелось бы создать меню, в котором и отображались эти последние добавленные файлы.

0 Thanks

Как можно создать handbook подобную навигацию на сайте

Аватар пользователя belfenos

На официальном сайте есть раздел handbook представленные виде разделов и подразделами, посмотрите как там все организовано handbook на drupal.org

При загрузке страницы раздела в главной части страницы появляются подразделы

Все это можно представить в следующем виде
Разделы:
1. Машины
2. Самолеты
3. Велосипеды

В разделе Машины есть подразделы Ferrari, Ford, BMW и т.д.
когда загружается страница Машины, в главной части идет Титл (название страницы - Машины) потом содержание и выводятся подразделы:
- Ferrari
- Ford
- BMW
если я достаточно понятно все объяснил, то меня интересует вопрос, как это оргазинуется в друпале

0 Thanks

doxygen генерация ссылок

Аватар пользователя Гость

Объясните, пожалуйста.
В генерируемых доксигеном хелпах в листингах php-кода названия обычных функций - это всегда ссылки на описания этих функций.

Но для всех методов классов (например, $class->func(); ) - "class" - ссылка на класс, а "func" остается простым текстом (не ссылкой на свое описание). Кроме случаев, когда этот метод применяется в методе своего же класса. Например:
class c {
z() {}
x() {
$these->z();
}
}
Как включить генерацию ссылок для методов классов?

0 Thanks

Gzip сжатие на Drupal сайте

Аватар пользователя Nick

Несмотря на то, что в changelog для 4.5 было написано, что drupal поддерживает gzip сжатие, рычага, который включает эту поддержку я не нашел.
Не понятно есть ли поддержка вообще.

В аттаче патч, который исправляет эту ситуацию.

Использование:
1. Положите gzip.patch в корень вашего сайта.
2. patch < gzip.patch
3. Не забудьте добавить
php_flag zlib.output_compression On
в .htaccess

Ваш web-cервер должен поддерживать gzip-сжатие (впрочем, если нет, то этот патч ничего не должен испортить).

0 Thanks

последние статьи из связанных разделов

Аватар пользователя kiev1

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

Потому что если посмотреть на любой серьезный сайт то там это сделано не так.

0 Thanks

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

Аватар пользователя edhel

Посмотрел я в табличку 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);

0 Thanks

Iced Drupal

Аватар пользователя axel

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

0 Thanks

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

Аватар пользователя edhel

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

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

0 Thanks

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

Аватар пользователя axel

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

0 Thanks