Kullanıcı arabirimi bileşenlerinde hata ayıklama


16

Yönetici ızgarası ve formu için UI bileşenleri kullanan bir CRUD modülü oluşturmaya çalışıyorum.
Bunu daha önce yaptım ve çalıştım, ama bu biraz farklı ve görünüşe göre bir şey berbat ettim.
Sorun, UI bileşen dosyasında veya UI bileşen dosyası tarafından başvurulan bazı sınıflarda. Kullanıcı arabirimi bileşen başvurusunu mizanpaj dosyasından kaldırırsam, sayfa yüklenir (ızgara olmadan açık bir şekilde).
Kullanıcı arabirimi bileşenini eklediğinizde sayfa boştur ve geliştirici modundayken bile hiçbir yerde günlüğe kaydedilen bir hata yoktur.

Kullanıcı arabirimi bileşenlerinin yüklenmesinde ve oluşturulmasında hata ayıklamaya nasıl / nerede başlayabilirim?


Birkaç gün önce de aynı problemi yaşadım. Ui_component klasörünün yanlış klasör yapısından kaynaklanıyordu. Sonra di.xml'de sorun vardı
Bhupendra Jadeja

Şu an benim hatamı umursamıyorum. Gelecekte olabileceğinden bunu nasıl hata ayıklayabileceğim umurumda.
Marius

XML'de hata ayıklamak çok sıkıcı bir iştir. Everytime i rapor ve system.xml hata var. Çekirdek takımdan cevap alacağımızı umuyoruz.
Bhupendra Jadeja

XML hatalarını ayıklamanın herhangi bir yolunu buldunuz mu?
Bhupendra Jadeja

1
Uygulamada başlayabileceğim bir nokta buldum, ancak henüz bunun için en iyi nokta olmadığından emin değilim. Sağlam bir şey bulursam bugün veya yarın bir cevap göndereceğim.
Marius

Yanıtlar:


12

Şimdiye kadar bulduğum şey, düzeni oluştururken bu yığının takip edilmesidir.

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

Şimdi, düzenin türüne bağlı olarak farklı bir düzen üreteci çağrılır

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

Ui bileşenleri için ... yığına devam etmek:

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

Burada yine yorumlanması gereken argüman türüne bağlıdır.
Burada bazı tercümanlar bulabilirsinizlib/internal/Magento/Framework/Data/Argument/Interpreter/

Bu benim sahip olduğum kadarıyla.
Bunun tam bir açıklama olmadığını biliyorum, ancak bunlar ui bileşeninizle ilgili bir sorun olup olmadığını tespit edebileceğiniz bazı noktalar.


1

Deneyin:

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

yöntem: protected function _toHtml()

yaklaşık 57. satırdan başlıyor

Hata ayıklama $resultve yüklenen tüm bileşenleri içermelidir.


0

Ben ui bileşenleri hata ayıklamak mümkün olan tek yolu sadece bileşen xml her şeyi kaldırmak ve öznitelikleri xsd desteklendiğinden emin olmak birer birer öğeleri eklemek.


1
dosya xsd dosyası için geçerlidir. Ve eminim ki dosyanın bitlerini kaldırmaktan başka bir yol var. Dosyanın yüklendiği ve işlendiği bir yer olmalıdır.
Marius

0

Hata ayıklamaya başlamak için css kullanmaya başlayabilirsiniz. App / design / frontend / Mgs / molly / web / css altında theme.less dosyasını kullanabilirsiniz, örneğin @ base-color: @ 7c7bad

var dizinini sildiğiniz herhangi bir kodu değiştirdikten sonra pub / static / frontend /

Cmd php bin / magento kurulumunda son vuruş komutu : static-content: deploy


CSS hata ayıklama ui bileşenleri ile ne ilgisi var?
Marius

Düzeni veya rengini değiştirebilirsiniz. @Marius
vnnogile_user

Bunun soru ile ilgisi yok. Renkleri değiştirmeyi sormadım.
Marius

0

Şununla başlıyorum:

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

Burası Ui XML'nin bir araya getirildiği yerdir. Bu yüzden bu, Ui XML hata ayıklaması için bir başlangıç ​​noktası olmalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.