На сайте немного об особенностях работы с платформой Друпал.
Today's Document
trying on a metaphor

titsay
d e v o n

Love Begins
taylor price
RMH

⁂
Keni

❣ Chile in a Photography ❣
Claire Keane

blake kathryn

izzy's playlists!
Cosmic Funnies
EXPECTATIONS
"I'm Dorothy Gale from Kansas"

tannertan36

Origami Around

No title available
Aqua Utopia|海の底で記憶を紡ぐ

seen from Brazil
seen from United Kingdom
seen from United States
seen from Georgia
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United Kingdom
seen from Germany

seen from Canada
seen from United States
seen from United States
@ru-redsprit
На сайте немного об особенностях работы с платформой Друпал.
Zip-файл модуля для Drupal 7.
Создание нового типа ноды "News" и отображение задаваемого промо-кода для нод "News".
Промо-код можно ввести по ссылке 'admin/config/content/promocode'
Установить кодировку UTF-8 по умолчанию для MySQL в Ubuntu
При попытке создать пустую базу MySQL и импортировать данные (в utf8_general_ci) устанавливается кодировка latin1_swedish_ci.
Чтобы установить utf8_general_ci для новой базы необходимо внести изменения в конфигурационный файл MySQL ' /etc/mysql/my.cnf ', но не непосредственно в него, а через дополнительный файл. Дополнительный файл нужен для того, чтобы сохранить новые настройки при обновлении основного файла ' my.cnf '.
Дополнительный файл будет располагаться в папке ' /etc/mysql/conf.d/ '. Так как все содержимое в этой папке прикрепляется к основному конфигурационному файлу ' my.cnf ', в котором есть команда:
!includedir /etc/mysql/conf.d/
Создаем дополнительный файл:
touch /etc/mysql/conf.d/utf8_charset.cnf
И вносим в него изменения:
[mysqld] default-character-set=utf8 [client] default-character-set=utf8
Перезагружаем MySQL:
sudo service mysql restart
И создаем пустую базу для последующего импорта данных. Теперь после импорта данных устанавливается необходимая кодировка utf8_general_ci
Массовый вывод нод для рендера с помощью функции node_view_multiple()
При необходимости вывести более одной ноды для последующего рендера используется функция node_view_multiple($nodes, $view_mode = 'teaser', $weight = 0, $langcode = NULL).
В качестве обязательного параметра используется массив нод - $nodes, полученный при помощи функции node_load_multiple(). Для $view_mode указывается режим просмотра ноды 'teaser' (предварительный), 'full' (полностью) и др.
$nids = array(0 => 35, 1 => 40, 2 => 56); $nodes = node_load_multiple($nids); $views = node_view_multiple($nodes, 'full');
Массовая загрузка нод с помощью функции node_load_multiple()
При необходимости загрузить более одной ноды используется функция node_load_multiple($nids, $reset = FALSE). Ноды после своей загрузки сохраняются в памяти, и при повторном запросе страницы уже не требуется обращение к базе данных.
В качестве обязательного параметра используется массив идентификационных номеров нод - $nids. Если нужно очистить кэш загруженных нод - $reset = TRUE.
$nids = array(0 => 35, 1 => 40, 2 => 56); $nodes = node_load_multiple($nids);
EntityFieldQuery вместо Views
В Друпал 7 для получения сущностей (нод, пользователей, комментариев и т.д.) программным способом используется класс EntityFieldQuery.
$query = new EntityFieldQuery(); $query ->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'photo') ->propertyCondition('uid', $account->uid) ->propertyCondition('status', 1) ->fieldCondition('field_city', 'value', 'Moscow', '=') ->fieldCondition('field_date', 'value', array('2010-01-01', '2011-02-31'), 'BETWEEN') ->fieldOrderBy('field_date', 'value', 'ASC') ->pager(30) ->execute(); if (!empty($query['node'])) { $entities = entity_load('node', array_keys($query['node'])); $views = node_view_multiple($entities, 'full'); $build['#nodes'] = $views['nodes']; $build['#theme'] = 'theming'; return $build; }
В entityCondition('entity_type', $value, $operator = NULL) указываем сущность ($value):
entityCondition(‘entity_type’, ‘node’) entityCondition(‘entity_type’, ‘taxonomy_term’) entityCondition(‘entity_type’, ‘user’) entityCondition(‘entity_type’, ‘comment’)
В entityCondition('bundle', $value, $operator = NULL) указываем тип сущности ($value). Для терминов таксономии и комментариев нельзя выбрать):
entityCondition(‘bundle’, ‘photo’) entityCondition(‘bundle’, ‘product’)
В propertyCondition($column, $value, $operator = NULL) указываем название столбца ($column) и его значение ($value). Для ноды названия столбцов можно просмотреть в таблице node. Например, название столбца uid (номер автора ноды) равно $account->uid, status равен 1 (нода опубликована):
propertyCondition('uid', $account->uid) propertyCondition('status', 1)
В fieldCondition($field, $column, $value, $operator = NULL, $delta_group = NULL, $language_group = NULL) указываем название поля ноды field_city ($field), 'value' - из таблицы field_data_field_city последнее слово в названии столбца field_data_field_city_value ($column), само значение ($value), '=', 'BETWEEN' - оператор сравнения ($operator):
fieldCondition('field_city', 'value', 'Moscow', '=') fieldCondition('field_date', 'value', array('2010-01-01', '2011-02-31'), 'BETWEEN')