Я просто потратил много времени на поиск элемента в массиве рендеринга. Я обычно использую dpm()
для печати массива, а затем расширяю опции, пока не найду то, что ищу.
На больших массивах это громоздко. Когда я использую print_r()
, я могу сделать текстовый поиск, но тогда трудно увидеть структуру массива и найти путь к элементу.
Какие еще методы вы можете предложить?
dpm()
, я думаю, он ищет функцию для поиска подэлемента в массиве рендеринга по заданному имени / ключу$elements = find_elements_by_key($render_array, 'element_name');
возврата массива всех элементов массива рендеринга с соответствующим ключом?Ответы:
Есть модуль расширения для Devel : Search Krumo . Он использует Javascript для поиска текста в сообщениях Krumo / dpm и открытия массива в этих местах.
Выглядит так:
Обновить
После 22 апреля 2012 вы должны использовать
sdpm()
функцию, чтобы увидеть окно поиска.источник
Одна из больших проблем с массивами рендеринга состоит в том, что часто есть куча копий информации, которая только для чтения, которую вы ищете. Если вы действительно хотите изменить вывод рендера, вы должны найти правильный. Я обычно использую dpm (), а затем просматриваю исходный код страницы и выполняю поиск по выходным данным, переключаясь между двумя экранами, пока не найду то, что мне нужно.
Если вы хотите вывести содержимое массива рендеринга для заданного пути к терминалу (например, чтобы передать его через grep), вы можете сделать что-то вроде этого:
Вы также можете просто «просмотреть исходный код страницы» в своем браузере и использовать буфер обмена, конечно, но приведенное выше может быть началом команды Drush для просмотра массивов рендеринга.
Обновление: я нашел действительно хорошую статью на эту тему: Scary Render Array - вероятно, лучшая обработка массивов рендеринга, которую я когда-либо видел. Я должен был также упомянуть модуль devel_themer заранее; он хорошо справляется с «увеличением» интересующего вас раздела рендеринга.
источник