Все записи категории ‘Программирование’

Хватит места каждому гению
 3 Ноя, 2013

gunius-loci-logo

С месяц уже участвую в проекте ГенийМеста в качестве, естественно, программиста. В наследство от разработчиков мне достался довольно спорный подход (почти все сделано на модуле Views) и реализация проекта под Drupal 7 (который мне тоже не особо нравится). Проект — очередной пример подхода к программированию без собственно самого программирования. Кое какие «гвозди» разработчик засунул в отдельный модуль. За исключением этого сборника гвоздей — все остальное собрано на полусотне (!) дополнительных модулей.

Читать далее »

Раздвигающееся вертикальное меню Drupal 6
 7 Сен, 2013

Эта задача из разряда useability. Drupal может штатно создавать блоки вертикальных иерархических меню.

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

Можно, конечно, сделать какие то ветки меню всегда раскрытыми (expanded). Это подойдет для ряда случаев, когда пунктов меню не очень много (20-30). Если же речь идет о каталоге товаров, то раскрывать сразу всю портянку будет не разумно. А с закрытыми (collapsed) подменю Drupal обходится так, что просто их не выводит в шаблон (раз их не видно), пока они свернуты, и вы не активизировали соответствующий пункт меню.

Читать далее »

Конвертируем в PDF
 3 Сен, 2013

Есть несколько задач, связанных с конвертацией документов в PDF. Меня интересует перевод из HTML и создание PDF средствами PHP.

Читать далее »

Подключаем fancybox в Drupal 6
 1 Сен, 2013

Fancybox — известный плагин jQuery для создания эффекта «просмотра в окошке». Давайте подключим его в 6-ю версию Drupal.

Читать далее »

И о других проблемах таксономии в Drupal 6
 26 Авг, 2013

Кроме отсутствия гибкого управления (явно не хватает ряда hook-ов), о чем я говорил ранее, таксономия в 6-м Drupal еще и делает по два запроса на каждый node_load, а не хранится в кеше контента cache_content (это хорошо показывает devel).

taxonomy-duplex

Читать далее »

Замена поля таксономии в редакторе ноды в Drupal 6
 24 Авг, 2013

Потому то я и не люблю таксономию в шестерке drupal, что возможностей ею управлять хуками почти что нет. В 7-ке ситуация лучше. У меня была задача выводить не все термины словаря, а только их часть. При этом у админа и редакторов оставался полный набор терминов, а простые пользователи должны были пользоваться усеченным списком. Отметку «особенности» терминов я делал в поле описания термина.

Искал готовые решения, работающих не нашел, пришлось придумать что то самому. То, что придумалось в итоге, нельзя назвать в полной мере решением, это скорее обходной путь :).

Читать далее »

Функция сложения двух URL
 13 Авг, 2013

Обычно задача возникает, когда мы исследуем скриптом html страничку, и нам нужно получить, используя её абсолютный адрес, адреса страниц на которые она ссылается. Для этого к текущему абсолютному адресу страницы, надо «добавлять» адреса других страниц. Эти адреса могут быть абсолютным или относительным, канонизированными и нет и  т.д.

Читать далее »

Вывод анонсов статей с картинкой, в WordPress
 5 Авг, 2013

Сформулируем задачу. Нужно вывести 3 (а в общем случае N) анонсов новостей, с картинкой, в шаблоне на главной странице сайта. Этот кусочек должен выглядеть примерно вот так:

sample-teaser

Читать далее »

Регистрация/авторизация в Drupal по учетке в соц.сетях
 12 Май, 2013

Самое не приятное, с чем можно встретиться на многих сайтах — это регистрация учетной записи. Неприятное ощущение усиливается ещё и от контраста — везде написано — как мы рады вас видеть, подписываетесь, голосуйте, покупайте и т.п. И вот вы решаете как то поучаствовать в проекте и жмете кнопку «регистрация». Вот тут, обычно, для пользователя начинается самое не приятное.

Читать далее »

Антиспам с использованием Javascipt для WordPress, обходимся без Captcha
 12 Апр, 2013

О сути метода я рассказываю здесь — Бегство от спама.

Для работы понадобится hook на новые комментарии — pre_comment_approved, который мы объявим в файле темы — function.php. Если в вашей теме нет такого файла — создайте :). Нужно модифицировать всего два файла в папке темы.

Читать далее »