Лента статей
6.x → 7.x - Меню: "page callbacks" меню и блоков должны возвращать HTML-массив и hook_page_alter()
"page callbacks" меню и блоков должны возвращать HTML-массив ("render array") вместо строки. Вы должно быть знакомы с HTML-массивами из Form API. Это массивы, которые умеет обрабатывать drupal_render().
6.x → 7.x - БД: Изменена обработка префиксов движков БД
Может потребоваться обновить движки баз данных, у которых своя обработка префиксов, из-за изменений введённых по запросу Заменить strtr() на str_replace() из-за префиксов БД.
-->6.x → 7.x - БД: Тип поля datetime удален в пользу типов специфичных для движков баз данных
Раньше модули могли определять схему баз дынных содержащих поля типа datetime. Поддержка типа datetime убрана из ядра, так как тип datetime не поддерживается всеми движками баз данных, сделав, тем самым, тип 'datetime' ядра искусственно портативным.
6.x → 7.x - БД: db_is_active() удалена
Уходми от db_is_active() для надлежащего перехвата исключения. В Drupal 6 и ранее, если код может работать в ситуации, когда база данных еще не доступа, можно было вызвать db_is_active(), чтобы узнать доступна ли БД. В Drupal 7 код должен просто выполнять запросы как обычно и включать в себя возможность уловить блок вокруг соответствующего раздела кода.
Drupal: Многоязычное меню без использования Menu translation (i18n)
Код ниже, пропускает все названия пунктов Main Menu через функцию t(), поэтому можно не мучатся с модулем Menu translation и переводить пункты с помощью стандартного интерфейса admin/config/regional/translate/translate:
Добавить в template.php, заменить THEMENAME на имя темы, сбросить кэш.
P.S: оригинальные названия всех пунктов должны быть на английском.
Похожие записи:
DrupalConf 2012 - дата проведения
Всем привет!
Мы собираемся провести следующий DrupalConf 25-26 мая 2012 в Москве.
Но вот вопрос:
Attached poll "какой формат будет для всех удобней ?".Register or login to poll
Results:
1 день - 2 потока - суббота (26 мая): 13 голосов
2 дня - 1 поток - пятница, суббота (25-26 мая): 18 голосов
6.x → 7.x - БД: Из node_schema() удалена колонка "на модерации"
Из node_schema() убрали колонку модерирования, так как модерации нет еще с Drupal 5. Контриб модули должны использовать функцию hook_schema_alter(), если им нужна эта колонка.
6.x → 7.x - БД: Таблицы модулей Node, filter и comment переименованы в единственное число
Некоторые таблицы БД переименованы в единственное число для логичности. В модуле node таблица {node_revisions} переименована в {node_revision}.
Drupal: Вышел Drupal 7.12
Закрыто несколько уязвимостей, в том числе возможность DoS атаки на модуль Search; исправлено множество мелких багов; произведена небольшая оптимизация токенов и бд; различные фиксы документации. Полный список изменений.
В этом релизе поломали совместимость с модулями i18n и menu_block, поэтому пользователям, использующим эти модуль, рекомендуется обновиться до 7.11 (security update) и ждать закрытия соответствующих issue:
#1351678: Follow menu_link_get_preferred active trail handling for custom menus
Похожие записи:
6.x → 7.x - БД: Префикс баз данных теперь указывается для каждого соединения
Префикс баз дынных больше не указывается глобально через строку/массив $db_prefix. Вместо этого, они определяются для каждого соединения посредством ключа массива 'prefix'. Тем не менее префикс все же может являться как строкой так и массивом, в зависимости от того, у какой таблицы есть префикс. Смотрите документацию в файле settings.php.
6.x → 7.x - БД: Новый шаблон для совместимости БД, производительности и сравнения без учета регистра.
Использование LOWER() при сравнении без учета регистра в MySQL, не допускает использование индексов. Использование LIKE более производительно, однако PostgreSQL применяет LIKE с учетом регистра.
6.x → 7.x - БД: Таблица "Блок" переименована
Таблица ядра 'block' переименована. Модули, которые выполняют операции непосредственно над таблицами, нужно обновить для замены названий таблиц на новые:
- 'blocks' переименован в 'block'
- 'blocks_roles' переименован в 'block_role'
- 'boxes' переименован в 'block_custom'
Вернуться в Оглавление Части 4
-->6.x → 7.x - БД: Параметр $ret удален из всех действий Схемы
Все функции изменения схемы более не принимают параметр $ret. Параметр $ret использовался исключительно в системе обновлений, которая более не нуждается в нем.
6.x → 7.x - БД: В схему базы данных ядра добавлены внешние ключи
В целях документирования, к описанию многих схем таблиц ядра Drupal добавлен раздел внешние ключи. Например, следующее добавлено к forum_schema() в forum.install, чтобы показать что поля nid и vid относятся к тем же полям в таблице node:
Drupal: Поле с автодополнением при помощи jQuery UI Autocomplete
Стандартный способ создания поля с автодополнением достаточно ограничен, например нет возможности вызвать свой код после выбора элемента, или вывести список в каком-нибудь изощренном виде. Но выход есть, это jQuery UI Autocomplete, который входит в ядро Drupal 7.
Ниже, пример создания поля с автодополнением по заголовкам нод при помощи jQuery UI Autocomplete:
Похожие записи:
6.x → 7.x - БД: Схема базы данных (де)инсталлируется автоматически
Модулям больше не нужно явно устанавливать или удалять свою схему базы данных через hook_install() или hook_uninstall().
Drupal: Как добавить настройки к блоку, созданному в стороннем модуле
Чтобы расширить блок настройками, нужно воспользоваться хуком hook_block_configure(), но это работает только для блоков, определённых в этом же модуле. Если же встаёт задача расширить настройками блок из стороннего модуля, то на помощь приходит hook_form_FORM_ID_alter().
Ниже, пример кода для добавления текстового поля к настройкам блока, созданному из Views:
Похожие записи:
6.x → 7.x - БД: Не используйте SELECT COUNT(*) для проверки существующих строк (rows) в таблице
В Drupal 7 по умолчанию создаются таблицы InnoDB, которые не очень хорошо выполняют запросы SELECT COUNT(*) FROM TABLE. Если вам нужно только проверить наличие строк в таблице, вы должны использовать:
6.x → 7.x - БД: db_rewrite_sql() заменен на hook_query_alter()
Удален парсинг строк через db_rewrite_sql() в пользу hook_query_alter(). Вместо передачи дословного запроса через db_rewrite_sql(), чтобы добавить ограничения доступа к материалу, в Drupal 7, например, используется динамический запрос, который помечается (tag) как "node_access".
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- следующая ›
- последняя »


