Estoy tratando de construir un módulo CRUD que use componentes de IU para la cuadrícula y el formulario de administración.
Hice esto antes y trabajé, pero este es un poco diferente y aparentemente arruiné algo.
El problema está en el archivo del componente UI o en alguna clase a la que hace referencia el archivo del componente UI con seguridad. Si elimino la referencia del componente UI del archivo de diseño, la página se carga (sin la cuadrícula, obviamente).
Al incluir el componente de la interfaz de usuario, la página está en blanco y no se registra ningún error en ninguna parte, incluso en modo desarrollador.
¿Cómo / dónde puedo comenzar a depurar la carga y la representación de los componentes de la interfaz de usuario?
magento2
debugging
uicomponent
Marius
fuente
fuente
Respuestas:
Lo que encontré hasta ahora es que al renderizar el diseño se sigue esta pila.
\Magento\Framework\View\Layout::generateElements
\Magento\Framework\View\Layout\GeneratorPool::process
Ahora, dependiendo del tipo de diseño, se llama a un generador de diseño diferente
Para los componentes Ui ... continuando la pila:
\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
.Aquí nuevamente depende del tipo de argumento que necesita ser interpretado.
Puedes encontrar algunos intérpretes aquí.
lib/internal/Magento/Framework/Data/Argument/Interpreter/
Esto es lo más lejos que llegué.
Sé que no es una explicación completa, pero estos son algunos puntos en los que puede identificar si algo está mal con su componente ui.
fuente
Tratar:
método:
protected function _toHtml()
aproximadamente comenzando en la línea 57
Depure
$result
y debe contener todos los componentes que se cargan.fuente
La única forma en que he podido depurar componentes de la interfaz de usuario es simplemente eliminar todo del componente xml y agregar elementos uno por uno, asegurándome de que los atributos sean compatibles con el xsd.
fuente
Puede comenzar a usar css para iniciar la depuración, puede usar el archivo theme.less en app / design / frontend / Mgs / molly / web / css, por ejemplo, cambiar el color base que es @ base-color: @ 7c7bad
después de cambiar cualquier código que haya eliminado el directorio var, tiene contenido claro en el directorio frontend de pub / static / frontend /
En el último comando de golpe en cmd php bin / magento setup: static-content: deploy
fuente
Yo comenzaría con:
Este es el lugar donde se une Ui XML. Por lo tanto, este debería ser un punto de partida para la depuración de Ui XML.
fuente