Gỡ lỗi các thành phần ui


16

Tôi đang cố gắng xây dựng một mô-đun CRUD sử dụng các thành phần UI cho lưới và biểu mẫu quản trị.
Tôi đã làm điều này trước đây và làm việc, nhưng điều này là một chút khác biệt và rõ ràng tôi đã làm hỏng một cái gì đó.
Vấn đề là trong tệp thành phần UI hoặc một số lớp được tham chiếu bởi tệp thành phần UI chắc chắn. Nếu tôi xóa tham chiếu thành phần UI khỏi tệp bố cục, trang sẽ tải (không có lưới rõ ràng).
Khi bao gồm thành phần UI, trang trống và không có lỗi được ghi ở bất cứ đâu, ngay cả khi ở chế độ nhà phát triển.

Làm thế nào / ở đâu tôi có thể bắt đầu gỡ lỗi tải và kết xuất các thành phần UI?


Tôi đã có cùng một vấn đề trước vài ngày trước. Đó là do cấu trúc thư mục sai của thư mục ui_component. Sau đó có vấn đề trong di.xml
Bhupendra Jadeja

Hiện tại tôi không quan tâm đến lỗi của mình. Tôi quan tâm làm thế nào tôi có thể gỡ lỗi này vì nó có thể xảy ra trong tương lai.
Marius

việc gỡ lỗi XML là một nhiệm vụ rất tẻ nhạt. Mỗi lần tôi gặp lỗi trong báo cáo và system.xml. Hy vọng chúng tôi nhận được câu trả lời từ đội ngũ cốt lõi.
Bhupendra Jadeja

bạn có cách nào để gỡ lỗi XML không?
Bhupendra Jadeja

1
Tôi đã tìm thấy một điểm trong ứng dụng nơi tôi có thể bắt đầu, nhưng tôi không chắc đó không phải là điểm tốt nhất để làm điều đó. Tôi sẽ đăng một câu trả lời hôm nay hoặc ngày mai nếu tôi tìm thấy một cái gì đó vững chắc.
Marius

Câu trả lời:


12

Những gì tôi tìm thấy cho đến nay là khi kết xuất bố cục ngăn xếp này được theo sau.

  • \Magento\Framework\View\Layout::generateElements
  • \Magento\Framework\View\Layout\GeneratorPool::process

Bây giờ, tùy thuộc vào loại bố cục, một trình tạo bố cục khác được gọi trong

foreach ($this->generators as $generator) {
    $generator->process($readerContext, $generatorContext);
}

Đối với các thành phần Ui ... tiếp tục ngăn xếp:

  • \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.

Ở đây một lần nữa, nó phụ thuộc vào loại đối số cần được giải thích.
Bạn có thể tìm thấy một số thông dịch viên ở đâylib/internal/Magento/Framework/Data/Argument/Interpreter/

Điều này là như tôi đã nhận được.
Tôi biết đó không phải là một lời giải thích đầy đủ, nhưng đây là một số điểm mà bạn có thể xác định nếu có gì đó không đúng với thành phần ui của bạn.


1

Thử:

Source/vendor/magento/module-ui/Component/Wrapper/UiComponent.php

phương pháp: protected function _toHtml()

bắt đầu từ dòng 57

Gỡ lỗi $resultvà nó sẽ chứa tất cả các thành phần được tải.


0

Cách duy nhất tôi có thể gỡ lỗi các thành phần ui là chỉ xóa mọi thứ khỏi thành phần xml và thêm vào từng mục một để đảm bảo rằng các thuộc tính được hỗ trợ trong xsd.


1
tệp hợp lệ đối với tệp xsd. Và tôi chắc chắn có một cách khác ngoài việc loại bỏ các bit của tệp. Phải có một nơi mà tập tin được tải và xử lý.
Marius

0

Bạn có thể bắt đầu với việc sử dụng css để bắt đầu gỡ lỗi, bạn có thể sử dụng tệp theme.less trong ứng dụng / thiết kế / frontend / Mss / molly / web / css, ví dụ: thay đổi màu cơ bản là @ base-color: @ 7c7bad

Sau khi thay đổi bất kỳ mã nào bạn đã xóa thư mục var, bạn có nội dung rõ ràng trong thư mục frontend của pub / static / frontend /

Tại lệnh nhấn cuối cùng trong cmd php bin / magento setup: static-content: triển khai


Css có liên quan gì đến việc gỡ lỗi các thành phần ui?
Marius

Bạn có thể thay đổi bố cục hoặc màu sắc của nó. @Marius
vnnogile_user

Điều này không có gì để làm với câu hỏi. Tôi đã không hỏi về việc thay đổi màu sắc.
Marius

0

Tôi sẽ bắt đầu với:

Magento\Ui\TemplateEngine\Xhtml\Result->__toString( )

Đây là nơi Ui XML được kéo lại với nhau. Vì vậy, đây phải là điểm khởi đầu cho gỡ lỗi Ui XML.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.