Я пытаюсь построить модуль CRUD, который использует компоненты пользовательского интерфейса для сетки администратора и формы.
Я делал это раньше и работал, но этот немного другой, и, видимо, я что-то напортачил.
Проблема в файле компонента пользовательского интерфейса или некотором классе, на который ссылается файл компонента пользовательского интерфейса. Если я удаляю ссылку на компонент пользовательского интерфейса из файла макета, страница загружается (очевидно, без сетки).
При включении компонента пользовательского интерфейса страница пуста, и нигде не регистрируется никаких ошибок, даже в режиме разработчика.
Как / где я могу начать отладку загрузки и рендеринга компонентов пользовательского интерфейса?
magento2
debugging
uicomponent
Мариус
источник
источник
Ответы:
До сих пор я обнаружил, что при рендеринге макета используется этот стек.
\Magento\Framework\View\Layout::generateElements
\Magento\Framework\View\Layout\GeneratorPool::process
Теперь, в зависимости от типа макета, вызывается другой генератор макета в
Для компонентов пользовательского интерфейса ... продолжение стека:
\Magento\Framework\View\Layout\Generator\UiComponent::process()
\Magento\Framework\View\Layout\Generator\UiComponent::generateComponent()
\Magento\Framework\View\Element\UiComponentFactory::create()
\Magento\Ui\Model\Manager::prepareData()
\Magento\Ui\Model\Manager::evaluateComponents()
Magento\Framework\Data\Argument\InterpreterInterface::evaluate
,Здесь снова это зависит от типа аргумента, который должен быть интерпретирован.
Вы можете найти некоторых переводчиков здесь
lib/internal/Magento/Framework/Data/Argument/Interpreter/
Это насколько я понял.
Я знаю, что это не полное объяснение, но вот некоторые моменты, в которых вы можете определить, если что-то не так с вашим компонентом пользовательского интерфейса.
источник
Пытаться:
метод:
protected function _toHtml()
примерно начиная с линии 57
Отладка,
$result
и она должна содержать все загруженные компоненты.источник
Единственный способ отладить компоненты пользовательского интерфейса - это просто удалить все из компонента xml и добавлять элементы по одному, проверяя, что атрибуты поддерживаются в xsd.
источник
Вы можете начать с использования css для начала отладки. Вы можете использовать файл theme.less в app / design / frontend / Mgs / molly / web / css, например, изменить базовый цвет, который равен @ base-color: @ 7c7bad.
после изменения любого кода, который вы удаляете, вы можете удалить содержимое каталога в веб-каталоге pub / static / frontend /
Команда последнего нажатия в настройке cmd php bin / magento: static-content: deploy
источник
Я бы начал с:
Это место, где Ui XML собирается вместе. Так что это должно стать отправной точкой для отладки пользовательского интерфейса XML.
источник