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

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

Вах, третий пошёл...

30 декабря 2008 в 20:10

Закончил свой третий сайт на Drupal сделанный на коммерческой основе. Визитка и каталог недвижимости для небольшой российско-китайской фирмы представляющей риэлтеров Поднебесной.

Домен: www.vostdom.ru
Заказчик: ООО «Восточный Дом», г. Владивосток.

Набор модулей: CCK (Computed Field, Content Taxonomy, Date, FileField, ImageField), Webform, ImageCache, IMCE, Views, Automatic Nodetitles, Custom Breadcrumbs, Meta tags, Pathauto, Term Display, TinyMCE, Token, Transliteration, CAPTCHA.

Матросы на зебрахъ, или Как раскрасить Drupal в цвета российского флага

30 декабря 2008 в 5:55

Возникла тут с дикого утреннего бодуна после отгремевшего вчера предновогоднего корпоративчика мысль раскрасить друпал в цвета российского флага. Точнее его таблицы.

А доступна ли многоязычность во Views [РЕШЕНО]

20 декабря 2008 в 20:21

Собственно, сабж. Уже сутки втупляю пытаясь разными способами сделать многоязычное представление для taxonomy_term.

Всего-то надо перевод термина таксономии и вывод нод в представлении с фильтром по языку.
Модуль i18nviews включён, но в его функции i18nviews_locale_refresh (отвечает за занесение строк из views в переводы) написана страшная фраза: To be implemented

Что решения нет? Или может кому удалось настроить.

Особенности работы Drupal 6 под FastCGI

18 ноября 2008 в 10:12

Обычная история для моих разработок. Заводим на основном хостинге домен третьего уровня, начинаем делать сайт. Пока заказываемые сайты были малы, хватало умолчальных 16MB памяти. Но сейчас начинаются моменты, что на очередном модуле memory exhousted и приходится стучать в техподдержку: поднимите до 30. Просьбу выполняют, но вместо привычной картины, вижу вот это:

Мнемоническое интерактивное двустишие для забывчивых Drupal-разработчиков

15 ноября 2008 в 5:24

Друпаллург – он линухуй и пэхэпист
Он очень апачен и мускулист