Я пишу с Magento 2 в gvim, и я новичок в Magento 2.
Я много раз пытался отладить ошибки, связанные с XML, ну, каждый раз, только с удачей. Но подобные ситуации меня очень расстраивают: вы не знаете, где находится файл, вызывающий эту ошибку, а отладчик не сообщает ни того, ни другого.
Возьмите следующее, я получаю это: XML-файл недействителен. на самом деле я создал модуль, в котором есть module.xml, rout.xml, config.xml, {layout} .xml, di.xml и т. д. или каталоги view / layout. Какая строка файла 12/89 / .. неверна? сгенерированный / объединенный? Я заблудился, потому что я ничего не нахожу в Var / Generated, и командная строка перестает работать. Какой способ отладки, чтобы найти, что это за ошибка?
Любая помощь приветствуется.
Неустранимая ошибка: Uncaught Magento \ Framework \ Exception \ LocalizedException: недопустимый элемент документа 'item': определение типа является абстрактным. Строка: 12 Элемент 'item', атрибут 'name': XPath '@name' поля ключевого ограничения идентичности 'itemName' оценивает набор узлов с более чем одним членом. Строка: 89 Элемент 'item': не все поля ключевого идентификатора-ограничения 'itemName' оцениваются как узел. Строка: 89 Элемент 'item', атрибут 'name': XPath '@name' поля ключевого ограничения идентичности 'itemName' оценивает набор узлов с более чем одним членом. Строка: 90 Элемент 'item': не все поля ключевого идентификатора-ограничения 'itemName' оцениваются для узла. Строка: 90 в /var/www/html/lib/internal/Magento/Framework/Config/Reader/Filesystem.php:
Ответы:
Выданное исключение говорит вам, что вы используете элемент,
<item />
где вам не разрешено его использовать. Так что да, ваша проблема, вероятно, связана с XML.Первое, что я делаю, чтобы убедиться, что я пишу корректный XML, это настроить мою IDE, чтобы она могла правильно отображать XSD-схемы. В PhpStorm вы можете сделать это, используя вспомогательную вещь, оставленную для
xsi
-namespace:Когда все настроено правильно, ваша IDE установит для вас завершение кода и предупредит вас, если вы делаете что-то, что запрещено:
Я надеюсь, что это поможет вам.
источник
bin/magento dev:urn:generate .idea/misc.xml
для генерации сопоставления xsd для PHPStorm. Он сможет разрешить все пути urn из xmls.