RSS
 

Drupal

warning: Creating default object from empty value in /usr/local/www/jail4/kostya.in.ua/public_html/modules/taxonomy/taxonomy.pages.inc on line 34.

select в форме + мультивыбор

http://drupal.org/project/chosen

Такой вот модуль делает формуы выбора нескольких значений при большом количестве вариантов - весьма няшной :).

Chosen использует Chosen плагин jQuery, чтобы сделать эелементы формы < select > более дружественными для пользователя.

Можуль поставляется с Drush make файлом, который автоматически скачает нужный jQuery плагин, если вы вообще используете Drush на сайте.

форма с автокомплитом

Ссылки на полезные статьи по созданию формы с полем автокомплитным. А также с возможностью генерации инпутов формы на лету без перезагрузки страницы:

http://drupal.org/node/751826
http://drupal.org/node/331941
http://plosquare.blogspot.com/2010/02/drupal-6-adding-form-fields-dynami...
http://drupal.org/node/348475
http://timonweb.com/how-create-ajax-autocomplete-textfield-drupal-7

Drupal 7: программное создание нод, влкючающее field colletion

I had to import a few thousand items from a legacy database to a Drupal 7 site and found that it was quite easy to do so programmatically. Here I'll first show you the basic code for adding nodes and then I'll talk about different field types, including how to add images and term references (taxonomy). If you have any questions, just ask in the comments and I'll be happy to help!
Basic node creation - example

PDOException при программном сохранении ноды

PDOException: in field_sql_storage_field_storage_write() (line 424 of \modules\field\modules\field_sql_storage\field_sql_storage.module).

Несколько часов убил на то, что Друпал, по всей видимости, не до конца ообрабатывает строки, которые сохраняет в базу данных. Поэтому из-за какого-то символа - у меня вываливалсь ошибка сверху без каких-либо дополнительных комментариев.

Решение на скорую руку:

while($row = sqlsrv_fetch_array($res, SQLSRV_FETCH_ASSOC)) {
...
       foreach(array('title', 'abstract', 'body') as $key)

Drupal 7: bulk operations

Довольно недавно модуль bulk operations стал доступен в интерфейсной чатси Друпала в виде дополнительного поля, вместо типа форматирования.

Form elements inside Views! from NodeOne.se on Vimeo.

Drupal 7, прощай CCK

Недавно с ужасом для себя обнаружил, что теперь в Д7 поля, созданные в админке через веб-интерфейс хранятся в БД на потабличной основе. Т.е. теперь для каждого созданного поля - создается дополнительная таблица, в которой сразу появляется 7 "системных" полей (ака накладные расходы).

Как бороться с такой ситуацией я еще не понял, но пока что выбор вижу небольшой:
1. Писать свой модуль, который добавит свою таблицу, и после чего его можно будет интегрировать с вьюсами и т.д.:
http://views-help.doc.logrus.com/help/views/api
http://views-help.doc.logrus.com/help/views/api-example

Drupal panels

Прочел я на досуге книгу "Drupal panels cookbook".

Средняя на мой взгляд книга, в которой описано довольно много рецептов использования панелей в Дупале на разных примерах. Но что для меня осталось не ясным после прочтения, так это понятие "контекста" в панелях и взаимодействие с переменными.
Свет на эти вопросы пролила несколько критичная статья одного автора (http://plosquare.blogspot.com/2011/01/surface-drilling-drupal-panels-3.html).

Drupal 6: Social Networking by Michael Peacock

Просмотрел только что книгу "Drupal 6: Social Networking" by Michael Peacock.

Не впечатлила она меня. Автор описывает установку и настройку сайта Друпала с нуля, а также настройки некоторых дополнительных модулей, а именно:

User relationships (http://drupal.org/project/user_relationships)
Activity (http://drupal.org/project/activity)
Guestbook (http://drupal.org/project/guestbook)
Organic Groups module (http://drupal.org/project/og)
Views module (http://drupal.org/project/views)
Notifications module (http://drupal.org/project/notifications)

Подзадачи в CaseTracker

Одним из довольно популярных решений Case Tracker-а в Друпале является вот этот: http://drupal.org/project/casetracker проект. На данный момент он все еще не поддерживает подзадачи и не ясно, станет ли делать это в будущем.

Полноценная поддержка подзадач - штука нетривиальная, но на некотором простом бытовом уровне проблему можно решить.

http://www.grayside.org/2009/11/casetracker-subtasks - тут можно найти и скачать маленький модуль, который позволит делать ссылку (reference node) на родительский проект.