Перейти к основному содержанию

Установка xhprof

Отправлено said от ср, 07/17/2019 - 10:51

Устанавливаем xhprof

apt-get install xhprof

В конфиге php.ini должен быть прописан путь сохранения логов
xhprof.output_dir="/var/tmp/xhprof"
можно указать любую директорию доступную для записи

Проверим в phpinfo(), что библиотека подключена

Устанавливаем анализатор отчётов в поддиректорию в корне сайта, например xhprof

wget http://pecl.php.net/get/xhprof-0.9.4.tgz
gzip -d xhprof-0.9.4.tgz
tar -xvf xhprof-0.9.4.tar

В скрипте, который будем профилировать пишем

Теги

Добавление условия во views при помощи hook_views_query_alter()

Отправлено said от вс, 11/25/2018 - 23:24

Если для выбора сущностей во вьюс требуется какое-то хитрое условие, которое не возможно задать через админку, то можно в модуле использовать hook_views_query_alter , например так:

Теги

Программное перемещение блока и расположение его после определенного блока

Отправлено said от вт, 10/02/2018 - 15:37

Если нужно переместить блок и установить его за каким-то другим блоком, а сделать через админку это по какой-то причине нельзя, ну например на разных страницах должен быть разный порядок следования блоков, то в этом случае в препроцессе страницы можно пересортировать блоки. Например так:

Теги

Смена конфига подключения к серверу при переключении ветки git

Отправлено said от ср, 09/19/2018 - 16:34

При разработке на тестовом сервере и периодическом переносе изменений на боевой есть необходимость
Если есть необходимость при переключении ветки с репозитории менять конфиг подключения к серверу, то можно использовать git hooks
Создаём хук .git/hooks/post-checkout
Устанавливаем ему атрибут 775
chmod 0775 .git/hooks/post-checkout

Его содержимое

Теги

Памятка для начинающих по получению значений в drupal 8

Отправлено said от чт, 08/30/2018 - 23:20

1. Получение типа ноды в template_preprocess_node

$node_type = $node->bundle();

2. Получение типа ноды в template_preprocess_page

$node_type = $variables['node']->getType();

3. Получение вебформы

$webform = \Drupal::entityTypeManager()->getStorage('webform')->load('my_form');
$webform = $webform->getSubmissionForm();

4. Проверка получение текущего пользователя и проверка его прав

Теги

Запуск composer без ограничения на выделяемую память

Отправлено said от ср, 08/22/2018 - 23:20

При обновлении друпала через composer может появиться ошибка Fatal error: Allowed memory size of 1610612736 bytes exhausted...
Это значит, что для выполнения команды не хватает памяти.

Решение - запуск композера без ограничения на память, например:

php -d memory_limit=-1 /usr/local/bin/composer update drupal/core --with-dependencies

 

Теги

Именование шаблонов views в drupal 8

Отправлено said от вт, 07/10/2018 - 21:56

В друпале 8, в административном интерфейсе модуля views, выпилил функционал просмотра информации о шаблонах. Поэтому правила наименования придется теперь выучить наизусть:

[base template name]--[view machine name]--[view display id].html.twig
[base template name]--[view machine name]--[view display type].html.twig
[base template name]--[view display type].html.twig
[base template name]--[view machine name].html.twig
[base template name].html.twig

 

Теги