понедельник, 13 декабря 2010 г.

Сниппеты

воскресенье, 12 декабря 2010 г.

Начинаем работать с Drupal: полное практическое руководство

Сборник полезных рецептов. Сниплеты.

1. «Сейчас на сайте»
Сниппет для пятого и шестого друпала, отображающий блок с пользователями, которые сейчас находятся на сайте.

2. Копипаст тизера и ссылки
Блок, появляющийся на странице материала определённого типа и предоставляющий тизер и ссылку на материал Вашего сайта для копирования на другие ресурсы.

Сборник полезных рецептов. Решение проблем.

1. Решение проблем с IE<7 + тут
Избавление от «падения» правой колонки в IE младших версий (из-за кривой работы этого броузера с css).

2. Права на загружаемые изображения
Решение проблемы в ядре Друпала — невыполнения chmod при закачке файла на сервер.

3. Относительные пути
Решение небольшой проблемы с относительными путями (не надо забывать ставить слеш ;)

4. «Пропажа» полей
Решение проблемы с «пропажей» некоторых полей после обновления (отключить/включить модуль и запустить update.php)

5. Пропажа альта и описания картинки во views и в нодах
Исправление через патчи глюка с заменой альта в картинках, созданных через Imagefield на «a» во views и полным исчезновением его в нодах.

6. Локализация заголовка prvatemsg
Исправление локализации заголовка privatemsg таким образом, чтобы не терять количество новых сообщений.

7. Создание модулем таблицы в БД
Решение проблемы с «нежеланием» Друпала использовать ваш модуль для создания таблицы в БД (выборочная чистка записей в таблице system).

8. Исправление настроек темы
Простое решение проблемы с «невосстанавливаемыми» настройками темы.

А также:
1. example.net->www.example.net + решение с параллельными логинами пользователя
Как с помощью .htaccess сделать редирект с одного доменного имени на другое и как избавиться от отображения параллельного логина одного и того же пользователя на сайте через разные броузеры.

2. Кое-что об AHAH
Здесь, здесь, здесь, здесь и здесь.

3. Русский морфологический поиск
Решения для пятого и шестого Друпала.

4. Запуск хронометра (cron) из Сети
Бесплатный русскоязычный (если кому-то важно ;) сервис, автоматически запускающий крон сайта.

5. Обновление между минорными версиями
Что именно можно не делать при обновлении между минорными версиями (6.8->6.9, 6.3->6.9 и т.п.) и почему.

Сборник полезных рецептов. cck + views

1. Глубина погружения в таксономию во views
Как глубоко должен залезать views при выводе нод, принадлежащих родительскому термину.

2. Интервал в фильтре во views
Использование интервала при создании фильтра во views.

3. Ссылки на другие материалы
Работа с Node reference.

4. Аргументы во views by penexe
Подробный рассказ о том, как работать с аргументами во views.

5. Pathauto + views
Скринкаст решения (на английском!), которое позволяет использовать плюсы views и pathauto и сделать урлы новостей не только удобочитаемыми, но и способными показывать архивы.

6. Галерея с помощью cck+views (Части 1 и 2)
Довольно изящное решение по созданию галерей на сайтах с уже установленными модулями cck и views на основе скринкаста. Альтернативный вариант — использование модуля  Views Gallery, созданного по мотивам того же скринкаста.

7. Хендлеры Views API.
Вопросы и примеры по работе с хендлерами views.

Сборник полезных рецептов. Темизация.

1. Theme Guide (на английском языке!)
Руководство по темизации с официального сайта Друпал.

2. Имя и фамилия вместо ника
Как указывать в качестве имени автора новости (статьи) не ник пользователя, а указанные им фамилию и имя.

3. Темизация пояснений
Решение по темизации пояснений о форматировании и прочем — весьма и весьма полезно.

4. Темизация ноды, имеющей разные синонимы
Рассказ о том, как правильно по-разному темизировать одну и ту же ноду, к которой могут обращаться через разные синонимы.

5. Темизация ноды by HIgor1968
Пример того, как реализовать темизацию ноды с CCK и таксономией без использования views.

6. Темизация блока с опросом
Чистка некрасивостей и создание красивостей -)

7. Темизация вывода таксономии
Красивый вывод терминов таксономии по словарям, а не кучей. Можно ещё вот так это делать (так даже лучше). Плюс в довесок модуль Term Display, занимающийся, по сути, тем же самым. И пример модуля, вообще убирающего термины при выводе ноды.

8. Темизация конкретной ноды
Как определить адрес ноды, которую нужно темизировать.

9. Таксономия
Ряд ссылок с указанием того, как работает таксономия.

10. Ссылки на материал
Постоянные ссылки на материал + вставка в конце статьи «ссылки для копирования».

11. «Не проверено» в комментарии
Простой способ убрать фразу «(не проверено)» из подписи анонима в комментарии.

12. Темизация страницы «на обслуживании»
Простой способ с помощью небольшого хака темизировать страницу «на обслуживании».

13. Темизация регистрационной формы
«Склейка» филдсетов регистрационной формы и темизация её вывода (для пятёрки и для шестёрки).

14. Настройка темы
Простое и понятное объяснение того, как решить некоторые вопросы темизации.

Сборник полезных рецептов. Таксономия.

1. БД по странам/регионам/городам + по маркам и моделям авто by penexe
БД в виде словарей таксономии + скрипт для того, чтобы добавить их к себе на сайт, с подробным описанием того, что нужно делать.

Сборник полезных рецептов. Модули.

1. Модуль AJAX-комментариев by neochief
Модуль, который позволяет пользователям добавлять комментарии без обновления страницы. Должно быть жутко удобная штука, но и её я ещё не пробовал.

2. Заголовки комментариев
Модуль comment_subject для изменения автозаполнения заголовков, которое часто раздражает пользователей.

3. Модуль «Я пойду!» by nleo
Модуль, добавляющий пользователя в список участников того или иного события. Я пока не тестировал, поскольку ещё не успел добраться до создания нужного типа контента.

4. Модуль «Conditional Fields»
Пока что модуль в стадии снэпшота. Принцип работы в чём-то аналогичен hierarchical select, только без таксономии. Но на самом деле модули совершенно разные:

"gorr" написал(а):

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

5. Личные сообщения
Модуль, позволяющий посетителям обмениваться личными сообщениями на сайте.

6. Модуль «Photomarks» by nleo
Отметить себя (не только себя) на фотографии (аналогично фкантагду и проч.)

7. Google maps
Вывод карт и маркеров на определённых страницах. Полезно также это и это.
+ Модуль Simple Gmap by bodro — более лёгкий, но реализующий только основной функционал.
+Модуль Yandex Maps by bohart — аналог для карт Яндекса.

8. Графики и диаграммы
Построение графиков и диаграмм через Chart API, причём для рендеринга используются мощности Гугла, а не Вашего сайта!

9. Переброс залогиненного пользователя
Два модуля, которые позволяют перемещать только что залогинившегося пользователя на определённую страницу.

10.  Node Gallery
Модуль галереи с поддержкой  views2lightbox2token и, разумеется, таксономии. Модуль находится в альфе, но, на мой взгляд, имеет неплохие перспективы.

11.  quant
Модуль аналитики, который позволяет вам смотреть, каковы были активные действия на сайте в течение определённого периода времени (сколько создано нод, оставлено комментариев и так далее). Модуль может быть расширен вами самостоятельно, так как имеет понятный API. Зависит от  chart, описанного чуть выше.

суббота, 11 декабря 2010 г.

Темизация: добавление собственных регионов в макет главной страницы

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