Правим ошибки при установке Drupal 8 или Drupal 9
Если при установке Drupal 8 или Drupal 9 на OpenServer движок пишет что-то типа
Error: Call to a member function setRecipients() on null in standard_form_install_configure_submit() (line 25 of core\profiles\standard\standard.profile).
или периодически вываливается вот такое:
значит пора использовать руки, которые нам даны не для скуки
trusted_host_patterns
Шаблон для доверенных доменов
$settings['trusted_host_patterns'] = array(
'^site\.ru$',
'^.+\.site\.ru$'
);
чистим кэш, пускаем крон
Ошибка Warning: file_put_contents
От редактора новостей одного сайта поступила жалоба: пропал визуальный редактор.
Как это обычно бывает в Друпал, проблема конечно была глубже. В админке на 10 минуте проверки всех функций всплыла такая ошибка
Понятно что место выделенное под файлы хостером закончилось. Слава богам, удалось его временно отчистить за счет удаления старых бэкапов, которые создаются с помощью Backup and Migrate. Не забывайте сделать автоматическое удаление старых бэкапов. Я вот забыл (=
Вывод нод дочерних терминов в родительском
Признаюсь, на решение этой тривиальной задачи я потратил около суток. Гугл на различные околотематические запросы участливо делился со мной проблемами юных друпаллеров, но решать мою задачу отказывался категорически. Создалось впечатление, что кроме каталога товаров и прочих досок объявлений на Друпале не делают вообще ничего. А вот душка - Яндекс выдал таки результат шестой строчкой.
Итак, задача: на странице родительского термина вывести все материалы дочерних с учетом вложенности.

То есть, что бы нода, созданная в для термина --Подподтермин("Модули") отображалась также и при переходе в термин -Подтермин ("Drupal") и в Термин ("Web"). (конечно если мы используем эту иерархию в пути или крошках)
По умолчанию, "из коробки" Друпал 7 такое не умеет. Хотя в стандартный Views наша задача почти заложена. Нам понадобится немного отредактировать заложенное по дефолту представление "Taxonomy term". В контекстном фильтре нужно удалить фильтр "Содержимое: Имеет модификатор глубины терминов таксономии", а в Содержимое: Имеет идентификатор термина таксономии (с глубиной) изменить глубину на 2, поскольку она считается с нуля. Более ничего не меняем и сохраняем.
Что странно, создавая вьюху по образу и подобию дефолтной, мне не удалось добиться того же результата - либо не решалась задача, либо отваливались тэги материалов. На сколько данный способ адекватен судить не берусь. Уже счастлив, что работает так как хотелось.
За наводку благодарим http://webcoder.kz/
Выводим Description термина во Views
Если мы выводим термины с помощью Views, то новое представление "затирает" описания (как и всю страницу) терминов, которое мы так старательно придумывали и записывали в админке. На самом деле Вьюшка просто не знает, что это описание вообще существует, мало того, из коробки она даже не имеет шаблона терминов. Исправляем несправедливость.
Копируем из папки модуля Views файл views-view.tpl.php и переименовываем его в views-view--taxonomy-term--page.tpl.php Имя конечного файла зависит от имени подстановочного шаблона в самой вьюхе.
В нужном месте вставляем код:
<?php /** Добавляем Дескрипшн к термину*/?>
<?php if (!isset($_GET['page'])) {
$category = taxonomy_term_load(arg(2));
echo "{$category->description}";
} ?>
Сохраняем файл в теме нашего основного шаблона
В нужной нам вьюхе нажимаем "Пересканировать файлы шаблонов"
Токен иерархического пути для Pathauto
Токен создает путь типа термин\подтермин\подподтермин при условии, что в материале уже создано поле field_category привязанное к словарю с определенной вложенностью. Или иерархия значений выстроена внутри поля.
/[node:field-category:parents:join-path]/[node:field-category:name]/[node:title]
если поле имеет вид field_super_puper_category то токен будет иметь вид:
/[node:field-super-puper-category:parents:join-path]/[node:field-super-puper-category:name]/[node:title]
Если Pathauto ругается, токена такого нет, поставить Entity API
Удалить лишние классы у поля
/**
* Preprocess function for field.tpl.php
*/
function THEMENAME_preprocess_field(&$vars) {
// Remove classes
$remove_classes = array(
'field',
'field-name-' . $vars['field_name_css'],
'field-type-' . $vars['field_type_css'],
'field-label-hidden',
'field-label-above',
);
$vars['classes_array'] = array_diff($vars['classes_array'], $remove_classes);
// Add class
array_unshift($vars['classes_array'], $vars['field_name_css']);
}
Установка или обновление ядра
Новая версия ядра Друпала хранится здесь.
После установки:
Удалите и всегда удаляйте файлы из корня сайта: CHANGELOG.txt, COPYRIGHT.txt, INSTALL.txt, LICENSE.txt, MAINTAINERS.txt, README.txt — это самая первая дыра в безопасности сайта. На основе данных файлов можно определить версию системы, соответственно зная версию и её дыры, будет очень легко взломать сайт.
Обновление ядра:
Делаем полный backup. Если нет прямого доступа к базе, юзаем Backup and Migrate
Переводим сайт в режим обслуживания
Извлекаем из архива (новая версия скачанная с офф сайта) все кроме папки sites, а также файлов .htaccess и robots.txt
Заходим по адресу site/**update.php **и жмем continue на всех шагах.