Drupal

Поиск нод, мультивыбор терминов

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

Уверен, что посетителям сайта так будет более удобно ориентироваться.
Расставил отметки (например "42-размер", "коричневый цвет" и "шнурки") — получил в результате поиска обзоры только интересующих моделей обуви, т.е. только те материалы, которые имеют ВСЕ выбранные термины. Никакой мути, от которой посетители звереют и уходят, только нужные материалы. Естественно обувь тут только для примера - на скриншоте например использован словарь, содержащий термины-услуги хостера (:

Прикручиваем OpenID к друпалу версии 5.х

  • OpenID — это открытая децентрализованная система единого входа, которая позволяет использовать один логин и пароль на большом количестве сайтов. Подробности на openid.net

Для интеграции OpenID в друпал существует замечательный модуль openid.

Однако после активации этого модуля вас ждет неприятный сюрприз — по-умолчанию пользователю предлагается пройти стандартную для друпала авторизацию\регистрацию, а openid-вход является лишь альтернативным способом, выбрать который пользователь может нажав на ссылку рядом с блоком входа в систему.

Исправить ситуацию можно двумя способами — сделав OpenID для друпала единственной дверью в ваш сайт, либо просто предпочтительной, но не убирая стандартную регистрацию.

Вариант первый — openid единственный возможный способ авторизации и регистрации на вашем сайте.


  • Необходимо добавить следующий код в template.php-файл вашей темы:

    // заменяем форму входа /user
    function phptemplate_user_login($form) {
      return _phptemplate_callback('user_login', array('form' => $form));
    }<br><br>

Перевод описаний всех модулей drupal на русский язык и сбор архива po-файлов.

С целью создать справочник по всем модулям drupal, а также собрать воедино все языковые (*.po) файлы, я прошу у вас посильной помощи в этом нелегком деле.
Наверняка у всякого читающего эти слова, есть хоть несколько языковых файлов (*.po) для модулей drupal.
Вы можете помочь, добавив эти файлы в базу, либо переведя описание нескольких модулей на русский язык.

Когда перевод всех описаний будет закончен (а их более 2500! ) из них будет создана электронная книга - справочник по модулям друпала.
Также будет создан файловый архив, в котором легко можно будет найти языковые файлы для определенных модулей.

К тексту каждого переведенного вами описания будет добавлено ваше имя и ссылка на ваш сайт.

Для облегчения коллективной работы я создал программу, скачать которую по этой ссылке, а также по ссылке в конце текста. Ее интерфейс прост, как трусы по рубль-двадцать, но на всякий случай присоединяю его описание:

Интерфейс программы:

При запуске программа попросит вас ввести свое имя и ссылку на ваш сайт.

Меняем стиль страниц пользователей в drupal


При необходимости сделать пользователям вашего drupal-сайта на персональных страницах дизайн, отличный от общего дизайна сайта, можно использовать модуль User Profile Theme. Однако, он обладает рядом недостатков:

  • Пользователи, самолично меняя css файлы, могут запросто "расклеить" дизайн.
  • Нет возможности массовой замены стилей.
  • Сайт(особенно это актуально для социальных сетей) со временем может приобрести внешность новогодней елки.

Однако немного изменив модуль, можно избавится от всех этих проблем.

.htaccess для drupal-сайтов на поддоменах и дополнительных доменах

На индексацию вашего сайта отрицательно влияет когда сайт (не первый на площадке, а дополнительный) расположен на поддомене и доступен по адресам вида:

  • example.ru
  • maindomain.com/example-ru/
  • example-ru.maindomain.com

А если он еще и одинаково откликается на адреса с www и без, тогда эта статья была написана именно для вас.

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

Решение очень простое - через директивы .htaccess (mod rewrite)
Пусть ваш дополнительный домен - example.ru, основной - maindomain.com, example-ru - поддомен на основном домене.
Вам просто надо добавить в ваш файл .htaccess строки:

<IfModule mod_rewrite.c>
  RewriteEngine on
 
  RewriteCond %{HTTP_HOST} ^example\.ru$ [NC]
  RewriteRule ^(.*)$ http://www.example.ru/$1 [L,R=301]
 
  RewriteCond %{HTTP_HOST} ^maindomain\.com [NC]
  RewriteRule ^(.*)$ http://www.example.ru/$1 [L,R=301]
 
  RewriteCond %{HTTP_HOST} ^www.maindomain\.com [NC]
  RewriteRule ^(.*)$ http://www.example.ru/$1 [L,R=301]

robots.txt для drupal

Часто на drupal–сайтах (как и на всех других) складывается ситуация, когда роботам поисковых систем приходится индескировать массу несодержательных страниц. Несодержательными страницами могут быть например страницы отправки комментариев, входа в систему, регистрации и пр. Это увеличивает время индескации сайта (что может быть критично для больших сайтов), ведет к попаданию в индекс дуликатов страниц. Использовать robots.txt, включаемый в стандартный пакет drupal в первозданном виде не стоит, т.к. практика показывает что: