Przez pewien czas Magento 2 miał sposób na sprawdzenie (i autouzupełnianie) dowolnego pliku XML za pomocą pliku XSD.
Na przykład module.xml
wyglądał tak:
<?xml version="1.0">
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
....
</config>
ale teraz module.xml
wygląda to tak:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
....
</config>
więc xsi:noNamespaceSchemaLocation
atrybut zawiera urn:magento:framework:
.
Wiem, że nie ma to nic wspólnego z weryfikacją xml po stronie serwera. Ten nadal działa.
Ale co mogę zrobić, aby odzyskać moją weryfikację w IDE (w moim przypadku PHPStorm, ale to nie jest ważne, może to być cokolwiek innego), aby rozpoznać ścieżkę do xsd?
Czy nadal powinienem używać starej ścieżki względnej podczas tworzenia modułów? Czy jest na to lepszy sposób?
magento2
xml
validation
Marius
źródło
źródło
Odpowiedzi:
Sprawdź aktualizacje GitHub dzisiaj, Magento 2 wprowadziło nowe polecenie do automatycznego generowania wszystkich rozdzielczości URN dla PhpStorm.
Aby go użyć:
bin/magento dev:urn-catalog:generate .idea/misc.xml
gdzie.idea/misc.xml
jest ścieżka do pliku misc.xml PhpStormWszystkie URN powinny teraz zostać magicznie rozwiązane!
Sprawdź je poniżej
PhpStorm->Preferences -> Languages&Frameworks -> Schemas and DTDs
PhpStorm 9.0 (Windows):
File -> Settings -> Languages&Frameworks -> Schemas and DTDs
źródło
Tak więc magento zmieniło identyfikator URI XSD, aby używało Urn - należy je skonfigurować w PHP Storm, aby sprawdzanie poprawności schematu działało ponownie.
Źródło: http://alankent.me/2015/10/07/xml-schema-resolution-in-php-storm-with-urns-quick-note/
Kod rozdzielczości URN jest wbudowany bezpośrednio w Magento. Na szczęście powiązanie URN z prawdziwymi plikami w lokalnej witrynie w PHP Strom jest dość łatwe.
Oto, co zobaczysz po załadowaniu nowej wersji magevero2 z urnami. Zauważ, że URN jest w kolorze czerwonym, ponieważ PHP Storm nie wie, jak go rozwiązać.
Umieść kursor w URN, a następnie kliknij czerwoną żarówkę po lewej stronie, która się pojawi, i wybierz z listy „Ręcznie skonfiguruj zasoby zewnętrzne”.
Przewiń w dół listę plików XSD automatycznie zlokalizowanych przez PHP Storm i wybierz odpowiedni plik. Czerwona nazwa URN będzie teraz wyświetlana na zielono, a sprawdzanie poprawności XML powróciło.
źródło
Generowanie URN jest obsługiwane przez wtyczkę Magento 2 dla PHP Storm i jest tylko jedną z wielu przydatnych funkcji, które zapewnia programistom Magento 2.
Gdy wtyczka jest zainstalowana w PHP Storm, przejdź do
Preferences / Other Settings / Magento2 plugin
i kliknijRegenerate URN map
.źródło
Użytkownicy Eclipse IDE:
(Zaktualizowano 11 lipca 2019 r. Dla Magento 2.3.1)
Plusy:
Cons:
Instrukcje:
~/workspace
..metadata/.plugins/org.eclipse.wst.xml.core/user_catalog.xml
(jeśli nie istnieje, utwórz go)Źródło:
Powyższa lista została wygenerowana przy użyciu polecenia CLI Magento:
Następnie przekonwertowany na format oczekiwany przez Eclipse.
źródło