За месяц Январь, 2013

drupal поиск: search, partial substring, fuzzysearch, apache solr search, sphinxsearch

Поиск в Drupal 7 реализован с возможностью расширения. Возможно добавление сторонних движков (apache solr, sphinxsearch), реализация собственных поисковых индексов. При помощи модулей реализованы не только поиск по слову (из коробки поиск работает по количеству совпадений слов в индексе), но и поиск с учётом морфологии (porterstemmer http://www.phpguru.org/static/PorterStemmer.html , fuzzy search). Читать целиком »

Опубликовано Январь 31, 2013 | автор: levik  |  Комментарий (1) »

CKeditor режет тэги и атрибуты class, id у div - Drupal

При редактировании контента CKeditor режет пустые тэги и некоторые атрибуты (class id) у непустых тэгов.

В редактор CKeditor 4 версии добавлена опция конфига

config.allowedContent = true;

Также можно добавить свои правила обработки контента к правилам по умолчанию (default rules)
CKEDITOR.editorConfig = function( config ) {
config.extraAllowedContent = '*[id](*)'; // удаляем '[id]',
}

Более подробная документация по
http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules

CKeditor 3 версии
config.ignoreEmptyParagraph = false;

WEB WYSIWYG Редакторы

Настроить CKeditor в Drupal

Если используется drupal модуль ckeditor из официального репозитория, настройка значений config, передаваемых в редактор производится на странице admin/config/content/ckeditor после выбора нужного профиля (Advanced/Full) и действия изменить для него.

Далее в панели-спойлере “Дополнительные настройки” в блоке “Пользовательская конфигурация JavaScript” вводим нужные значения config.allowedContent = true; // разрешаем

При использовании других фильтров (на странице профиля CKeditor выбираем Панель “Безопасность” -> фильтры безопасности)

Устанавливаем и включаем модуль Wysiwyg Filter.
Выбираем чекбокс в разделе “Enabled filters” напротив W

В блоке HTML tags размещаем допустимые правила обработки тэгов

@[style|class],
a[!href|target<_blank|title|rel],
div[align

p[align img[src|width|height|alt|title|rel],
h1,h2,h3,h4,br,hr,span,em,strong,
cite,code,blockquote,pre,ul,ol,li,dl,dt,dd

При необходимости ставим галки напротив “color” и “background-color” (или других стилей)

Ниже можно прописать правила для class

rte*,
justify,
image-left,
image-right,
standalone-image

Опубликовано Январь 23, 2013 | автор: levik  |  Нет комментариев »

Drupal 7 Batch API - используем API

https://api.drupal.org/api/drupal/includes!form.inc/group/batch/7

Для групповых операций (которые могут занимать длительное время) рекомендуется разбивать процесс на “порции”. В Drupal имеется встроенный механизм “порционирования” пакетных операций - Batch API

Для примера - конвертацию поля в термин таксономии проведём с использованием DRUPAL Batch API
Читать целиком »

Опубликовано Январь 19, 2013 | автор: levik  |  Нет комментариев »

drupal как сконвертировать поле field в термин таксономии (taxonomy term)

При пакетном импорте в ноды была сохранена информация в текстовом виде, однако в дальнейшем было принято решение использовать её в связках taxonomy (к примеру, брэнды были сохранены как текст.. потребовалось сделать “Каталог брэндов”)

0. сохраняем резервную копию базы данных
Читать целиком »

Опубликовано Январь 15, 2013 | автор: levik  |  Нет комментариев »

Drupal 7 перенос поля field из одного типа в другой

В  Drupal 7 гибкое управление полями достигается за счёт продуманной структуры информации о полях (field) (отличается от структуры CCK в друпал 6, хотя принципы node и taxonomy сохранились). Сохранение полей происходит в базе (да-да) и под каждое поле создаётся как минимум 2 таблицы - об этом чуть ниже. Читать целиком »

Опубликовано Январь 8, 2013 | автор: levik  |  Нет комментариев »

md5, sha1, sha2 hash - как узнать значение хэш функции

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

MD5 и SHA1 в LINUX shell - как получить хэш из “командной строки”

echo -n "Password" | sha1sum
echo -n "Password" | md5sum
echo -n "Password" | sha256sum
echo -n "Password" | sha224sum

использование -n обязательно, т.к. по умолчанию Читать целиком »

Опубликовано Январь 3, 2013 | автор: levik  |  Нет комментариев »