Блог пользователя - direqtor

Быстрый способ оптимизации параллельных загрузок на Друпал и nginx

23 августа 2013 в 18:36

Однажды разглядывая «водопадный» дисплей работы сети в Опере по мере того, как в него грузился один из моих проектов, я понял, что пора и на нем сделать оптимизацию того типа, который указан в заголовке статьи. При довольно быстром в пол-секунды получении кода страницы, полсотни вставленных в нее картинок секунд на пять оттягивали заветное событие DOM loaded, да и разница между DOM loaded и Page loaded тоже была того же порядка. Растём-с.

Нужна очень головоломная сортировка для Views

21 августа 2013 в 5:35

Итак. Есть сайт на Drupal 6. На сайте сделан поиск с использованием Views и exposed filters. Поиск ведется по нескольким текстовым полям CCK с оператором «Содержит». Все всех устраивало и даже отлично ищет, но на днях из высших сфер поступила задача отсортировать выдачу поиска. Высшие сферы бывает хотят странного, но с их точки зрения - это вроде как тривиально и во всех программах должно быть.

BEF+VAF или как скрестить бобра с козлом?

24 декабря 2012 в 4:40

Есть два модуля, Бивис и Батхед Better Exposed Filters (BEF) и Views Autocomplete Filters (VAF). Очень удачные модули, весьма рекомендую, но вот случилось так, что они понадобились мне оба в одной форме раскрытых фильтров. Причем понадобились позарез, клиент плачет и слезно умоляет.

Как поймать значение в autocomplete_path [Решено]

22 января 2012 в 12:56

Суть задачи:
Есть текстовое поле с autocomplete_path и мне надо в скрипте использовать и заменить присылаемое туда значение.
Код примерно такой:

Новый закон О национальной платежной системе вступил в силу

9 ноября 2011 в 7:46

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

Как поженить jQuery и Hierarchical select?

12 августа 2011 в 10:29

Надо проделать на странице кое какие действия в зависимости от выбранного значения в Hierarchical select поле.

Пишу, что-то вроде:

$(document).ready(function(){
  $("#edit-tid-category-hierarchical-select-selects-0").change( function(){
    alert($("#edit-tid-category-hierarchical-select-selects-0 option:selected").val());
  })
});

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

Не силен в jQuery. Подскажет кто-нибудь, что делать? Чтобы и моя функция отрабатываля и функции модуля не тронуть.

UPD: Всем спасибо за наводку.
Проблему решил так:

Drupal.behaviors.categoryHierarchicalSelect = function(context) {
  $('#edit-tid-category-hierarchical-select-selects-0', context).change(function () {
    alert($("#edit-tid-category-hierarchical-select-selects-0 option:selected").val());
  });
};

Справка - http://drupal.org/node/304258

Как установить таймаут редактирования ноды?

21 февраля 2011 в 19:15

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

Поискал готовые решения по словам node edit expire timeout...

Первый опыт на Drupal 7 и HTML 5, сайт-визитка

20 февраля 2011 в 10:15

Сделал свою первую работу на Drupal 7. Сайт www.taxicorona.ru сделан для небольшой (а в нашем городке они все небольшие) владивостокской таксомоторной компании «TAXI корона». Использовались Drupal 7 и тема с поддержкой HTML 5.

Взломщики пробуют социальную инженерию на друпаллургах

18 февраля 2011 в 18:43

Сегодня на всех страницах www.drupal.ru прикрепили вот такое объявление о попытках взлома Drupal-сайтов: PSA-2011-001 - "Drupal security update" social engineering.

Быстрый хак модуля Livejournal Crossposter (ljxp) для работы с полями CCK

15 января 2011 в 15:49

Довольно распространенный модуль Livejournal Crossposter (ljxp) предназначен для автоматической публикации материалов Drupal-сайтов на Livejournal-совместимых сервисах. Я уже как-то писал о его установке и настройке у себя в блоге и на Drupal.ru. Но у модуля есть один существенный недостаток - он кросспостит в ЖЖ только стандартные заголовки ноды и ее тело (body) в виде тизера или полного текста. Поля CCK в нем полностью игнорируются.

Поголосуем на Wired.com за наших самых сексуальных гиков?

30 декабря 2009 в 23:46

Говорят Dries Buytaert номинирован на 2009’s Sexiest Geeks регулярно проводимый на Wired.com. В общем-то нормальная такая новость для женского населения drupal.ru, а может и для части мужского, но хотя я проголосовал «за», все-таки вряд ли считаю его сексуальным на самом деле. Как-то мне сложно сказать сексуален ли мужик или нет. Больше в женщинах разбираюсь.

Потому предлагаю на роль номимнанта от drupal.ru Клеру Виленскую, которая нас уже радовала своими сексуальнейшими фото на заглавной нашего славного коммунитэ (кстати, о чем там был-то этот пост?).

Для голосования: переходим на страницу 2009’s Sexiest Geeks, дожидаемся полной загрузки, прокручиваем длиннющий список номинантов (где-то по дороге вам попадется Дрис), ищем крошечную надпись view more: next » powered by reddit, кликаем на next и ищем нашу номинантку уже там. Вы узнаете то самое фото. Возможно страниц станет больше, надеюсь к тому времени Клера уже будет доступна на первом экране.

Приветствуются перепосты в собственные блоги, ЖЖ.

Хабр уже откликнулся.

Определение браузера при помощи jQuery

30 декабря 2009 в 7:30

Требуется немножечко изменить контекст заголовка страницы в зависимости от браузера.

Для FF 2-3, Chrome и всех, кто поддерживает OpenSearch полностью нужен такой код:

<link
rel="search"
type="application/opensearchdescription+xml"
title="Русский -&gt; Китайский упрощенный (Практическая)"
href="http://www.transcriptor.ru/transcription/russian-chinese/plugins/os-ff.xml"
/>

Для IE 7-8, у которых поддержка обсосная требуется другой XML-файл:

<link
rel="search"
type="application/opensearchdescription+xml"
title="Русский -&gt; Китайский упрощенный (Практическая)"
href="http://www.transcriptor.ru/transcription/russian-chinese/plugins/os-ie.xml"
/>

Для остальных браузеров (Opera, etc) не надо добавлять ничего.

При отсутствии JS в браузере думаю оставить вариант для осла, их вроде пока больше.

По сути надо сделать так, назначить для link какой-нибудь id, а потом обратится к нему через jQuery. Но вот в ней-то я и слабоват. Как добавлять её в код и есть ли в ней функция определения типа и версии браузера?

Не отображаются flash-ролики (SWF) при приватном методе скачивания файлов [РЕШЕНО]

12 сентября 2009 в 7:53

Задача на очередном проекте стоит так: приватный метод скачивания файлов (нужны ограничения по траффику) и отображение flash-роликов (SWF) в поле filefild.

Ролик вставляется через [module=swftools]. Пока стоит публичный метод загрузки адрес файла выглядит /sites/default/files/имя_файла.swf и ролик отображается. Как только выставляю приватный метод скачивания файлов и адрес файла становится /system/files/имя_файла.swf, то ролик не отображается. А надо. Кстати, по обеим ссылкам файл скачивается нормально.

Проверка показала, что по адресу /sites/default/files/имя_файла.swf сервер отдает примерно такие заголовки:

HTTP/1.1 200 OK
Date: Sat, 12 Sep 2009 02:09:52 GMT
Server: Apache
Last-Modified: Sat, 12 Sep 2009 01:20:09 GMT
ETag: "282919d-35433-473573bc5a440"
Accept-Ranges: bytes
Content-Length: 218163
Cache-Control: max-age=1209600
Expires: Sat, 26 Sep 2009 02:09:52 GMT
Connection: close
Content-Type: application/x-shockwave-flash

А по адресу /system/files/имя_файла.swf – примерно такие:

HTTP/1.1 200 OK
Date: Sat, 12 Sep 2009 02:09:55 GMT
Server: Apache
X-Powered-By: PHP/5.2.5
Set-Cookie: SESSd956c0494e978422f8172fd5d7172b7f=332ee93d106fe7af769d53d3e421da75; expires=Mon, 05 Oct 2009 05:43:15 GMT; path=/; domain=.домен.ru
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified: Sat, 12 Sep 2009 02:09:55 GMT
Cache-Control: private
Content-Length: 218163
Content-Disposition: attachment; filename=имя_файла.swf
Connection: close

Сайт русской поддержки phpBB переехал на Drupal

21 мая 2009 в 11:56

Пролетая как фанера над Парижем мимо в поисках мода для форума, засек на сайте http://www.phpbbguru.net/ (официальная русскоязычная поддержка известного форумного движка phpBB) знакомые плашки модуля [module=project]. Посмотрел в код и точно, сей весьма популярный ресурс в своей общей части переехал на Drupal.

Признавайтесь, господа, кто приложил руку?

Первый магазин... надеюсь, не комом.

8 апреля 2009 в 11:20

Вот и я сподобился сделать свой первый интернет-магазин на Drupal 6 и Ubercart.

Домен: http://e-oriental.ru

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

Для оплаты портировал с пятого Drupal на шестой платежный модуль Roboxchange.

Дополнительные модули: CCK, Filefield, Imagefield, Imagecache, Views, Automatic Nodetitles, BUEditor, Pathauto, Token, Token actions, Transliteration

Zero или пустой профиль установки Drupal 6

12 февраля 2009 в 6:08

Иногда при работе с Drupal требуется получить его «чистую» инсталляцию на сайте. С отключенными модулями (кроме требуемых) и без предустановленных типов материалов. Возникает такая необходимость у людей, которые привыкли делать с нуля, или при разработке каких-ибо специфичных модулей или просто, если не нравятся стандартные названия типов материалов page и node.

«Джинса» на Drupal или как «заказывать» материалы

21 января 2009 в 11:09

При создании небольших сайтов часто бывает нужна какая-нибудь нестандартная особенность. Например, на сайте-каталоге товаров и/или услуг требуется форма заказа, привязанная к материалу (ноде). Подобный функционал: ссылка «Заказать» и форма для отправки сообщения с уже заполненной информацией о странице, которую заказали, уже близок к корзине онлайн-магазина.