Блог пользователя - haver

Как передать аргумент из formBuilder()->getForm в getFormId() ?

8 февраля в 23:05

Пытаюсь передать аргумент при вызове формы в своем модуле:

Как поставить datepicker на элемент datetime кастомной формы

10 января в 15:59

Как поставить jQuery timepicker на элемент кастомной формы.
В описании form api есть упоминание:

#date_time_callbacks: An array of optional callbacks for the time element. Can be used to add a jQuery timepicker or an 'All day' checkbox.

Но рабочего примера использования для восьмерки девятки не нашел
https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Datetime%...

Как Views подгружает поля сущности из БД.

5 сентября 2022 в 13:07

Смотрю как Views строит SQL запрос при выводе сущности, например ноды. Он запрашивает из базы только id сущности. Вопрос как он достает остальные поля? После получения массива с id сущностей делает повторные запросы через Field Query API?
Например запрос выглядит так:

Group by фильтр в Twig

28 октября 2021 в 19:45

Кто нибудь знает как сделать группировку при выводе массива в twig по определенному значению поля. Раньше видимо были доступны в twig фильтры |group_by |group которые сейчас убрали.

Мне нужно разобрать массив многозначного поля entity reference и по значению одного из полей сущности на которое оно ссылается сгруппировать вывод.
Поле field_stage в целевой сущности то по которому нужно отсортировать.

hook_user_load на друпал 9

28 сентября 2021 в 15:07

Как вызывается/называется hook_user_load на восьмерке?
hook_ENTITY_TYPE_load ?
https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21...
Не нашел в сети примеров кода из жизни. Хочу объявить в своем модуле кастомные переменные пользователя, которые будут доступны в twig шаблоне профиля пользователя user.html.twig
Для текущего пользователя currentUser()

d7, Вынести служебные функции Rules экшена из mymodule.rules.inc

5 июня 2021 в 0:13

Rules Action содержит длинную простыню кода в процедурном стиле с большим количеством ветвления условий if else в функции mymodule_rules_action_process()
Хочу разбить простыню на функции.
Как бы это красиво вынести в отдельный класс содержащий несколько функций?
modulename_helper.inc

Автоматическое переименование изображений (медиа) по заголовку ноды к которой они прикреплены.

18 апреля 2021 в 16:55

Хочу сделать простую вещь, которая на семерке решалась элементарно и просто - автоматическое переименование изображений (и путей к ним) прикрепляемых к ноде по полям ноды (хотя бы по заголовоку).
На семерке ставился Token и File (Field) Paths и проблема решена.
Было в ноде поле типа изображение и для переименования и именования путей были доступны через токены все поля ноды.
Сейчас изображение это инстанс отдельной сущности медиа и через File (Field) Paths в медиа недоступны никакие токены из ссылающейся ноды.

Не работает переопределение темы

12 декабря 2012 в 16:24

Не удается перекрыть дефолтную тему. Нужно для реализации мобильной версии сайта.
Создал алиас и в settings.php меняю

Друпал 7 защита от sql инъекций?

17 сентября 2012 в 14:38

Здравствуйте!
Я в этом вопросе менее чем новичок.И мало чего понимаю.
Просто хотелось понять чтобы спать спокойно.
Если кто то может объяснить как в d7 database api реализована защита от
sql инъекций?
Например имею запрос сохраняющий текстовые данные поля из формы:

<?phpdb_insert('mytable')
  ->fields(array(
    'myfield' => $form_state['values']['myfield'],
 ))
  ->execute(); ?>

вставляю в поле "te'st" и вижу в базе в точности то же самое "te'st".

Должно ли оно делать что нибудь с этим типа "te'/st"? Или что то другое?
И все ли нормально? Я в этом слабо разбираюсь, может быть оно экранирует , но я этого просто не понимаю?
Может быть ошибки в моем коде?
В 6 использовалась параметризация в запрос вместо значения подставлялись подставлялись:

Вместо ошибки 404 страница не найдена сообщение об ошибке common.inc(1696) : eval()'d code on line 5

20 сентября 2011 в 17:15

На сайте образовался скачок в нумерации в 600 нод - провал: node/1097 - node/1693.
Почему она образовалась непонятно, такого количества нод не удаляли.
При заходе в эти ноды, вместо сообщения об ошибке 404 Страница не найдена
выдает системную ошибку на красном фоне

  * warning: Invalid argument supplied for foreach() in /home/r/mysite/public_html/includes/common.inc(1696) : eval()'d code on line 5.
    * warning: Invalid argument supplied for foreach() in /home/r/mysite/public_html/includes/common.inc(1696) : eval()'
d code on line 5.
    * warning: Invalid argument supplied for foreach() in /home/r/mysite/public_html/includes/common.inc(1696) : eval()'d code on line 5.
    * warning: Invalid argument supplied for foreach() in /home/r/mysite/public_html/includes/common.inc(1696) : eval()'
d code on line 5.
    * warning: Invalid argument supplied for foreach() in /home/r/mysite/public_html/includes/common.inc(1696) : eval()'d code on line 5.

Что самое интересное при обращении к нодам которых еще не существуют node/100000 итп выдает ту же ошибку

а во всех других вариантах например так node100000 выдает нормальное 404 страница не найдена.

В чем может быть дело? Могут ли быть проблемы в базе, есть вероятность что что то посыпалось? В каких таблицах искать, проверять?
Может быть шалит Global Redirect или Pathauto или еще какой модуль, что нибудь с правами или еще какое нибудь простое решение.
Проблемы с БД не хотелось бы.

Описание (поле description) термина таксономии дублируется на всех страницах пейджера.

26 июля 2011 в 12:14

Есть стандартное поле для добавления описания термина таксономии. Описание добавляется вверху страницы термина taxonomy/term/1
Но... Если термин разбит на несколько страниц с пейджером, то описание отображается на всех страницах вида taxonomy/term/1?page=1 итд.
Идет жестокое дублирование контента.

Можно ли как то сделать, чтобы описание отображалось только на первой странице списка таксономии?

Или уже не знаю готов идти на крайние меры и закрывать ?page= в robots.txt теряя часть контена от индексации.

Произвольная ссылка "еще" представления views.

15 июля 2011 в 11:42

Можно ли сделать ссылку "еще" в блочном представлении произвольной по своему желанию?
По умолчанию она ссылается на страничный view представление.
Делаю на views блок новостей определенной категории, который выводит заголовки новостей, а "еще" должен ссылаться на страницу термина содержащего все новости.
Выводить страничное представление через views не хочу, хочу использовать простую таксономию,
views использовать только в блоке.

Ошибка недостаточно памяти во время дампа базы ( mysqldump: Error 5: Out of memory)

21 ноября 2010 в 12:12

Делается дамп базы хроном через mysqldump. Раньше все было нормально.
Сейчас посыпались ошибки от хрона:

mysqldump: Error 5: Out of memory (Needed 133520 bytes) when dumping table `cache` at row: 0
mysqldump: Error 5: Out of memory (Needed 223640 bytes) when dumping table `cache_filter` at row: 313

таких штук по десять

и еще такие:
mysqldump: Error 1030: Got error 12 from storage engine when dumping table `cache_filter` at row: 313
Что так же предположительно связано с памятью, искал описание ошибки:
System error: 12 = Cannot allocate memory
Все только на таблицах chache_
С чем это может быть связано? То ли база разрослась? Почистил кеш, стало меньше ошибок, но все равно периодически возобновляются. База 30 MБ, когда начались траблы разрослась до 50, после очистки кеша опять уменьшилась.
Почему именно на таблицах chache? ни на каких других? Сейчас таблицы кеш пустые , но ошибки продолжаются.
Хостер (РБК hc) пока молчит, вообще читал про жалобы с ограничениями памяти у них но то для скриптов php,
а здесь что? скрипт на bash? или утилита mysqldump или сама mysql? На что ограничения непонятно?
Добавил в скрипт параметр --opt чтобы не выгружал весь дамп сразу в память, день работалло, на следующий опять ошибки полезли.
И самое главное - если у меня такие ошибки дамп битый выходит или им можно будет пользоваться?

Markdown, filter относительные пути не работают.

26 июля 2009 в 22:50

Перенес сайт на localhost, в поддиректорию /drupal на сервере работал в корне htdocs
прописал mod rewrite в .htaccess http://localhost/drupal/index.php?q=$1
перенаправление работает на всех ссылках которые создает сам друпал пункты меню и др.
На всех ссылках которые создавались вручную в содержимом перенаправление не работает.
Ссылки вида