我正在尝试构建一个将UI组件用于管理网格和表单的CRUD模块。
我之前已经做过并且工作过,但是这个有点不同,显然我搞砸了。
问题出在UI组件文件或UI组件文件确定的某些类中。如果我从布局文件中删除UI组件引用,则页面加载(显然没有网格)。
包括UI组件时,页面为空白,并且即使在开发人员模式下,也没有错误记录在任何地方。
如何/在何处开始调试UI组件的加载和呈现?
我正在尝试构建一个将UI组件用于管理网格和表单的CRUD模块。
我之前已经做过并且工作过,但是这个有点不同,显然我搞砸了。
问题出在UI组件文件或UI组件文件确定的某些类中。如果我从布局文件中删除UI组件引用,则页面加载(显然没有网格)。
包括UI组件时,页面为空白,并且即使在开发人员模式下,也没有错误记录在任何地方。
如何/在何处开始调试UI组件的加载和呈现?
Answers:
到目前为止,我发现在渲染布局时会遵循此堆栈。
\Magento\Framework\View\Layout::generateElements
\Magento\Framework\View\Layout\GeneratorPool::process
现在,根据布局的类型,将调用另一个布局生成器
foreach ($this->generators as $generator) {
$generator->process($readerContext, $generatorContext);
}
对于Ui组件...继续堆栈:
\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/
据我所知。
我知道这不是一个完整的解释,但是您可以在其中识别出ui组件是否存在问题。
您可以从使用CSS开始调试开始,您可以在app / design / frontend / Mgs / molly / web / css下使用theme.less文件,例如,更改基本颜色,即@ base-color:@ 7c7bad
更改任何代码后,您要删除var目录,然后在pub / static / frontend /
最后在cmd php bin / magento中命中命令setup:static-content:deploy