J'essaie de construire un module CRUD qui utilise des composants d'interface utilisateur pour la grille et le formulaire d'administration.
Je l'ai déjà fait et travaillé, mais celui-ci est un peu différent et apparemment j'ai foiré quelque chose.
Le problème est dans le fichier de composant d'interface utilisateur ou dans une classe référencée par le fichier de composant d'interface utilisateur à coup sûr. Si je supprime la référence du composant UI du fichier de mise en page, la page se charge (sans la grille évidemment).
Lors de l'inclusion du composant d'interface utilisateur, la page est vierge et aucune erreur n'est enregistrée nulle part, même en mode développeur.
Comment / où puis-je commencer à déboguer le chargement et le rendu des composants de l'interface utilisateur?
la source
Réponses:
Ce que j'ai trouvé jusqu'à présent, c'est que lors du rendu de la mise en page, cette pile est suivie.
\Magento\Framework\View\Layout::generateElements
\Magento\Framework\View\Layout\GeneratorPool::process
Maintenant, selon le type de mise en page, un générateur de mise en page différent est appelé dans
Pour les composants Ui ... continuer la pile:
\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
.Là encore, cela dépend du type d'argument à interpréter.
Vous pouvez trouver des interprètes ici
lib/internal/Magento/Framework/Data/Argument/Interpreter/
C'est aussi loin que je suis arrivé.
Je sais que ce n'est pas une explication complète, mais ce sont des points où vous pouvez identifier si quelque chose ne va pas avec votre composant d'interface utilisateur.
la source
Essayer:
méthode:
protected function _toHtml()
commençant approximativement à la ligne 57
Déboguez
$result
et il devrait contenir tous les composants qui sont chargés.la source
La seule façon dont j'ai pu déboguer les composants de l'interface utilisateur est simplement de tout supprimer du composant xml et d'ajouter des éléments un par un en s'assurant que les attributs sont pris en charge dans le xsd.
la source
Vous pouvez commencer par utiliser css pour démarrer le débogage, vous pouvez utiliser le fichier theme.less sous app / design / frontend / Mgs / molly / web / css, par exemple changer la couleur de base qui est @ base-color: @ 7c7bad
après avoir changé le code, vous avez supprimé le répertoire var, vous avez un contenu clair sous le répertoire frontend de pub / static / frontend /
Enfin la commande hit dans la configuration de cmd php bin / magento: static-content: deploy
la source
Je commencerais par:
C'est l'endroit où Ui XML est rassemblé. Cela devrait donc être un point de départ pour le débogage XML Ui.
la source