Как напечатать объект узла в Drupal 8 - PullRequest
1 голос
/ 02 марта 2020

в drupal 7 мы могли бы использовать kpr() из модуля devel или php print_r() и var_dump() функции для печати объекта $ node в файле node.tpl или перехвата узла предварительной обработки с целью отладки и поиска поля или ..

но в drupal 8 мы не можем использовать функции php в ветке, и я попытался kint() и dump(), чтобы напечатать узел в ветке, но безуспешно. (Я уже установил debug: true в services.yml) (более подробно: kint(node) в файле ветки делает бесконечным l oop и приводит к исчерпанию объема памяти в браузере).

, поэтому вопрос как напечатать объект узла в drupal 8, используя узел предварительной обработки веток или крючков?

Q update v 1.0:

У меня есть пользовательский шаблон веток для article: node - article. html .twig и работает нормально:

<article>

<div>
    {{ content.body|render }} {# this works #}
</div>

<footer>
    {{ kint(node.field_custom.value) }} {# prints the custom field value without any problem #}
    {{ kint(node) }} {# this causes infinite loop and memory issue #}
    {{ content }} {# prints all content fields without any problem #}
    {{ kint(content) }} {# nothing happen or display with this! #}
    {{ kint(label) }} {# infinite like node #}
</footer>

1 Ответ

2 голосов
/ 03 марта 2020

Я знал, что функция kint() не проблема, потому что она отображает пользовательские массивы и объекты, которые я создал для теста. поэтому проблема была в самом объекте узла. он был очень большим, и при печати kint() возникли проблемы с ограничением памяти. когда я изменил ограничение памяти на -1 memory_limit= -1 в php.ini файле для тестирования, мне потребовалось все 16 ГБ оперативной памяти моей системы, и этого оказалось недостаточно!

, поэтому я уменьшил глубину функции kint() с 7 до 4 в modules/devel/kint/kint/config.default.php ($_kintSettings['maxLevels'] = 4;) и memory_limit=128M в php.ini.

теперь все работает, надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...