คำถามติดแท็ก xml

แสดงคำถามเกี่ยวกับไฟล์ XML และการประมวลผล XML

6
การดีบักการโหลด XML โครงร่าง
TL: DR:มีวิธีที่ฉันสามารถดีบักการโหลดเค้าโครงหรือไม่ เพราะฉันเชื่อว่าเลย์เอาต์ของโมดูลหนึ่งขัดแย้งกับโมดูลอื่น ที่เกี่ยวข้องกับคำถามก่อนหน้านี้ที่ฉันทำ: วิธีการทำให้รูปแบบโมดูลที่จะแสดงในทุกรูปแบบ ฉันโหลดโมดูลของฉันสำเร็จแล้วในสภาพแวดล้อมการทดสอบในพื้นที่ (หรือที่เรียกว่า PC สำหรับการพัฒนาของฉัน) ทดสอบการสลับระหว่าง 3 ธีมที่แตกต่างกันและมันก็โอเค จากนั้นฉันอัปเดตโมดูลในการทดสอบหรือสภาพแวดล้อม "ก่อนการผลิต" ที่เรามีซึ่งมีโมดูลที่แตกต่างกันจำนวนมากบางส่วนเป็นกรรมสิทธิ์อื่น ๆ ที่ทำโดยเรา ในสภาพแวดล้อมนี้โมดูลจะไม่แสดงสิ่งที่จำเป็นในหน้าแรกของผลิตภัณฑ์ หลังจากการทดสอบบางอย่างในที่สุดฉันก็มาถึงข้อสรุปว่าปัญหาควรจะอยู่ในกระบวนการโหลดรูปแบบ ดังนั้นมีวิธีที่ฉันสามารถดีบักการโหลดโครงร่างโมดูลต่าง ๆ แทนที่หรือเพิ่มบล็อกของตัวเองได้อย่างไร ประเด็นของฉันคือฉันเชื่อว่ามีอย่างน้อยหนึ่งโมดูลที่ควรขัดแย้งกับของฉัน และในขณะที่เรามีโมดูลจำนวนมากฉันกำลังมองหาวิธีการที่แตกต่างกันในการปิดใช้งานโมดูลทีละคนและดูว่าเป็นปัญหาที่มีปัญหา ไฟล์ config.xml ของฉันคือ: <?xml version="1.0" encoding="UTF-8"?> <config> <modules> <Dts_Banners> <version>0.1.0</version> </Dts_Banners> </modules> <global> <blocks> <banners> <class>Dts_Banners_Block</class> </banners> </blocks> .... <events> <controller_action_layout_load_before> <observers> <attributesethandle> <class>Dts_Banners_Model_Observer</class> <method>addAttributeSetHandle</method> </attributesethandle> …

3
แสดง / ซ่อนบล็อคในเค้าโครง XML โดยมีเงื่อนไข
วิธีเพิ่มบล็อกแบบมีเงื่อนไข (ขึ้นอยู่กับการกำหนดค่าในแผงการดูแลระบบ) ใน XML เลย์เอาต์ของ Magento? เราสามารถตรวจสอบว่าการตั้งค่าเป็นจริงกับการกระทำ ในตัวอย่างด้านล่างหากการsample/config/show_toplinksกำหนดค่าจากแผงควบคุม (ในระบบ -> การกำหนดค่า) เป็นจริงไฟล์แม่แบบlinks.phtmlจะถูกใช้เพื่อแสดงผลลิงก์ยอดนิยม หากsample/config/show_toplinksเป็นเท็จจะมีการใช้แม่แบบเริ่มต้น <reference name="top.links"> <action method="setTemplate" ifconfig="sample/config/show_toplinks"> <template>page/template/links.phtml</template> </action> </reference> ฉันพบวิธีแก้ปัญหานี้ที่ใดที่หนึ่งในเว็บ เราสามารถตั้งค่าเทมเพลตเปล่าเป็นเทมเพลตเริ่มต้นสำหรับลิงค์ยอดนิยมเช่นนี้: <reference name="top.links"> <action method="setTemplate" ifconfig="sample/config/show_toplinks"> <template>page/template/links.phtml</template> </action> <!-- OR set completely empty template --> <action method="setTemplate"> <template>page/template/empty_template_for_links.phtml</template> </action> </reference> ในกรณีนี้ถ้าsample/config/show_toplinksเป็นจริงเทมเพลตlinks.phtmlจะถูกใช้และลิงก์ยอดนิยมจะปรากฏขึ้น แต่ถ้าsample/config/show_toplinksเป็นเท็จแล้วempty_template_for_links.phtmlแม่แบบจะถูกใช้และแม่แบบที่จะสมบูรณ์ว่างจึงไม่กลับมาใช้ HTML และลิงก์ยอดนิยมจะมองไม่เห็น มีวิธีอื่นที่จะแสดงหรือซ่อนบล็อคตามเงื่อนไขโดยขึ้นอยู่กับการกำหนดค่าในแผงควบคุมหรือไม่ วิธีแก้ปัญหานี้ปลอดภัยหรือไม่ สิ่งนี้สามารถทำให้เกิดข้อผิดพลาดที่ไม่คาดคิดได้หรือไม่? แก้ไข: …
32 template  layout  blocks  xml 

4
การตรวจสอบ Magento 2 xml
ในขณะที่ Magento 2 มีวิธีการตรวจสอบ (และเติมข้อความอัตโนมัติ) xml ใด ๆ โดยใช้ไฟล์ XSD ตัวอย่างmodule.xmlเช่นนี้: <?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> แต่ตอนนี้module.xmlดูเหมือนว่านี้: <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> .... </config> ดังนั้นแอตทริบิวต์มี xsi:noNamespaceSchemaLocationurn:magento:framework: ฉันรู้ว่าสิ่งนี้ไม่เกี่ยวข้องกับการตรวจสอบความถูกต้องฝั่งเซิร์ฟเวอร์ของ xmls อันนี้ยังใช้ได้อยู่ แต่ฉันจะทำอย่างไรเพื่อกลับไปตรวจสอบความถูกต้องของฉันใน IDE ของฉัน (PHPS รูปแบบในกรณีของฉัน แต่นั่นไม่ใช่สิ่งสำคัญ ฉันควรจะใช้เส้นทางสัมพัทธ์เก่าในขณะที่สร้างโมดูลหรือไม่? หรือมีวิธีที่ดีกว่าในการทำมัน?

4
ขยาย complexType ที่ชื่อว่า“ imageType” ด้วยประเภทรูปภาพที่กำหนดเอง
เป้าหมายของโมดูลที่ฉันกำลังพัฒนาอยู่ก็คือการเพิ่มประเภทภาพที่กำหนดเองที่เรียกว่า "opengraph_image" ฉันเพิ่มคุณลักษณะ EAV ใหม่แม้ว่าสคริปต์ InstallData.php ของฉันซึ่งใช้งานได้ดี เมื่อฉันเข้าสู่ระบบแบ็กเอนด์ Magento2 และแก้ไขผลิตภัณฑ์ฉันสามารถเลือกประเภทภาพ "opengraph_image" ในขณะที่อัพโหลดหรือแก้ไขภาพผลิตภัณฑ์ อย่างไรก็ตามในส่วนหน้าฉันต้องการแสดงภาพนี้ ดังนั้นฉันจึงสร้างไฟล์ etc / view.xml ในโมดูลของฉันด้วยเนื้อหาดังต่อไปนี้: <?xml version="1.0"?> <view xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Esites_SEO:etc/custom.xsd"> <media> <images module="Magento_Catalog"> <image id="opengraph_image" type="opengraph_image"> <width>265</width> <height>265</height> </image> </images> </media> </view> แต่ตอนนี้ฉันได้รับข้อผิดพลาดต่อไปนี้: Invalid XML in file /var/www/html/vhosts/magento2/app/code/Esites/SEO/etc/view.xml: Element 'image', attribute 'type': [facet 'enumeration'] The value 'opengraph_image' …
22 magento2  xml 

1
ฉันจะมีไฟล์ XML ที่กำหนดเองในโมดูลที่รวมเป็นหนึ่งใน Magento 2 ได้อย่างไร (MageStackDay คำถามลึกลับ 2)
MageStackDay โบนัสคำถามสำหรับ 500pts Bounty และความเป็นไปได้ในการชนะใบอนุญาต Z-Ray ฟรีเป็นเวลาหนึ่งปี สามารถอ่านข้อมูลเพิ่มเติม >> ที่นี่ << คำถามมีให้ / ได้รับแรงบันดาลใจจากนักพัฒนาหลัก Magento 2 Anton Kril คำถาม: ฉันกำลังสร้างส่วนขยายที่มีการกำหนดค่าแยกต่างหาก ซึ่งหมายความว่าฉันไม่สามารถใช้config.xmlหรือroutes.xmlหรือfieldset.xmlหรือไฟล์อื่น ๆ ที่ magento config มี ตัวอย่าง. สมมติว่าฉันกำลังกำหนดค่า 'ตาราง' ที่มีแถวคอลัมน์ ฉันสามารถใช้ xml ด้านล่างนี้ (เรียกมันว่าtable.xml) <table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="path/to/table.xsd"> <row id="row1"> <column id="col1" sort="10" attr1="val1"> <label>Col 1</label> </column> </row> <row id="row2"> <column …

2
อะไรคือค่า `xsi: type` ที่อนุญาตทั้งหมดใน xml's จาก Magento2
ใน Magento 2 (เกือบ) อาร์กิวเมนต์ทั้งหมดที่แสดงรายการในไฟล์ xml มีแอตทริบิวต์xsi:typeที่พิจารณาว่าค่าของอาร์กิวเมนต์นั้นถูกตีความ ตัวอย่างเช่นในdi.xmlไฟล์ของโมดูลเบื้องหลังมีสิ่งนี้: <argument name="scopeType" xsi:type="const">Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT</argument> นี่หมายความว่าค่าของการโต้แย้งscopeTypeคือมูลค่าของค่าคงที่Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT หรืออันนี้ <argument name="template" xsi:type="string">Magento_Theme::root.phtml</argument> ที่นี้หมายถึงว่าค่าของอาร์กิวเมนต์เป็นสตริง templateMagento_Theme::root.phtml ค่าที่เป็นไปได้ทั้งหมดของxsi:typeคุณลักษณะนี้คืออะไร?
20 magento2  xml  di 

6
ข้อผิดพลาดในการกำหนดค่าของผู้ดูแลระบบ: ดัชนีที่ไม่ได้กำหนด: id ใน Iterator.php ที่บรรทัด 59
ใครช่วยอธิบายข้อผิดพลาดนี้ให้ฉันได้บ้าง Exception #0 (Exception): Notice: Undefined index: id in /home/staging/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php on line 59 #0 /home/staging/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php(59): Magento\Framework\App\ErrorHandler->handler(8, 'Undefined index...', '/home/asconveyo...', 59, Array) #1 /home/staging/vendor/magento/module-config/Model/Config/Structure.php(92): Magento\Config\Model\Config\Structure\Element\Iterator->setElements(Array, 'default') #2 /home/staging/var/generation/Magento/Config/Model/Config/Structure/Interceptor.php(24): Magento\Config\Model\Config\Structure->getTabs() #3 /home/staging/vendor/magento/module-config/Model/Config/Structure.php(135): Magento\Config\Model\Config\Structure\Interceptor->getTabs() #4 /home/staging/var/generation/Magento/Config/Model/Config/Structure/Interceptor.php(63): Magento\Config\Model\Config\Structure->getFirstSection() #5 /home/staging/vendor/magento/module-config/Controller/Adminhtml/System/AbstractConfig.php(57): Magento\Config\Model\Config\Structure\Interceptor->getFirstSection() #6 /home/staging/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Config\Controller\Adminhtml\System\AbstractConfig->dispatch(Object(Magento\Framework\App\Request\Http)) #7 /home/staging/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->___callParent('dispatch', Array) #8 /home/staging/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Config\\...', 'dispatch', Object(Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor), Array, …
17 magento2  admin  xml 

1
Magento 2 - ifconfig ในรูปแบบ xml
ฉันทำงานกับวีโอไอพี 2 ฉันสามารถใช้คุณลักษณะ ifconfig ในรหัสบล็อกและใช้งานได้ดี <block class="Magento\Catalog\Block\Category\View" name="category_desc_main_column" template="category/desc_main_column.phtml" ifconfig="config_path/group/field" before="category.products"/> แต่ฉันพยายามใช้มันเพื่อการเคลื่อนไหว แต่ก็ไม่ได้ผล <move element="category.image" destination="content" ifconfig="config_path/group/field" before="-"/> ใครรู้วิธีใช้มันในการเคลื่อนย้าย?

2
การตั้งค่าเส้นทางผู้ดูแลระบบใน Magento 2
ดูรหัสหลักของ Magento 2 ดูเหมือนว่ามีสองวิธีในการตั้งค่าเส้นทางผู้ดูแลระบบ ครั้งแรก #File: vendor/magento/module-media-storage/etc/adminhtml/routes.xml <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd"> <router id="admin"> <route id="adminhtml"> <module name="Magento_MediaStorage" /> </route> </router> </config> คล้ายกับ Magento 1. คุณเพิ่มโมดูลของคุณไปยังรายการโมดูลในadminhtmlเส้นทางและ Magento ตรวจสอบให้คุณ ที่สอง #File: vendor/magento/module-cms/etc/adminhtml/routes.xml <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd"> <router id="admin"> <route id="cms" frontName="cms"> <module name="Magento_Cms" before="Magento_Backend" /> </route> </router> </config> คุณได้ตั้งค่าเส้นทางใหม่ (ID cmsด้านบน) แล้วเพิ่มโมดูลของคุณลงไป เป็นหนึ่งในวิธีที่ "ถูกต้อง …
15 magento2  php  xml  router 

2
วิธีรับข้อมูลจาก config.xml ของโมดูล
ในโมดูลฉันจำเป็นต้องได้รับข้อมูลบางส่วนจากไฟล์config.xmlของโมดูลBและC มีวิธีการหรือคลาสพิเศษสำหรับเรื่องนี้หรือไม่? โดยเฉพาะฉันต้องได้รับโครงสร้าง XML และค่าของโหนด<default>เพื่อให้ฉันสามารถคืนค่าเริ่มต้นของการกำหนดค่าระบบของโมดูล B และ C ด้านล่างเป็นตัวอย่างจาก config.xml ของโมดูล Wishlist: <config> <default> <wishlist> <general> <active>1</active> </general> <email> <email_identity>general</email_identity> <email_template>wishlist_email_email_template</email_template> </email> </wishlist> </default> </config> เท่าที่ฉันรู้ Magento โหลดไฟล์ config.xml ของโมดูลทั้งหมดดังนั้นฉันสงสัยว่าข้อมูลนี้อาจถูกแคชแล้วและสามารถดึงจากแคชได้หรือไม่ ถ้าไม่วิธีการเรียกโปรแกรมมัน?

1
การปรับปรุงข้อความแสดงข้อผิดพลาดสำหรับข้อผิดพลาดการรวบรวม XML
วีโอไอพีนั้นมีการป้องกันค่อนข้างดี (ตามที่ควรจะเป็น) เกี่ยวกับการแสดงข้อผิดพลาด เมื่อเปิดใช้งานโหมดผู้พัฒนา (ตามที่ควรจะเป็นในระหว่างการพัฒนา) แอปพลิเคชันจะอนุญาตให้เกิดข้อผิดพลาดรันไทม์เพื่อทำให้เกิดฟองขึ้นกับผู้ใช้ สำหรับข้อผิดพลาดในการรวบรวม XML แม้ว่าข้อเสนอแนะนี้จะค่อนข้างไร้ประโยชน์: ข้อผิดพลาดร้ายแรง: ข้อยกเว้นที่ไม่ได้รับการยกเว้น 'ข้อยกเว้น' พร้อมข้อความ 'คำเตือน: simplexml_load_string (): รายการ: บรรทัดที่ 4: ข้อผิดพลาดในการแยกวิเคราะห์: การประกาศ XML อนุญาตเฉพาะการเริ่มต้นเอกสารใน [... ] / lib / Varien / Simplexml / Config php ในบรรทัด 510 'ในแอป [... ] / รหัส / core / Mage / Core / Functions.php ที่บรรทัด …

3
Magento โมดูลบล็อกที่กำหนดเองใหม่
ฉันใช้ Magento รุ่น1.8.1.0 ฉันกำลังพยายามสร้างโมดูลบล็อกที่กำหนดเองใหม่ซึ่งฉันจะใช้สำหรับสร้างโฮมเพจใหม่ Namespace: Crusader โมดูล: CLHomePage ประเภท Block: บ้านครูเสด Class: Qwerty (ตอนนี้กำลังทดสอบอยู่) แพ็คเกจการออกแบบ: สงคราม ธีม: ค่าเริ่มต้น นี่คือสิ่งที่ฉันมี: \ แอป \ etc \ โมดูล \ Crusader_All.xml <?xml version="1.0"?> <config> <modules> <Crusader_CLHomePage> <active>true</active> <codePool>local</codePool> </Crusader_CLHomePage> </modules> </config> \ แอป \ รหัส \ ท้องถิ่น \ สงคราม \ CLHomePage \ etc \ …

1
คุณมีวิธีในการดีบักข้อยกเว้นเกี่ยวกับ xml อย่างไร
ฉันกำลังเขียนโค้ดกับ Magento 2 ใน gvim และฉันใหม่กับ Magento 2 มีหลายครั้งที่ฉันพยายามแก้ไขข้อผิดพลาดที่เกี่ยวข้องกับ xml ทุกครั้งที่มีโชคเท่านั้น แต่สถานการณ์เช่นนี้ทำให้ฉันรู้สึกไม่สบายใจจริงๆ: คุณไม่รู้ว่าไฟล์อยู่ที่ไหนที่ทำให้เกิดข้อผิดพลาดนี้และดีบักเกอร์จะไม่บอก รับต่อไปนี้ฉันจะได้รับ: ไฟล์ xml ไม่ถูกต้อง ที่จริงฉันได้สร้างโมดูลที่มี module.xml, route.xml, config.xml, {layout} .xml, di.xml ภายใต้มันเป็นต้นหรือดู / เค้าโครง dirs ไฟล์ 12/89 / .. ไฟล์ใดที่ไม่ถูกต้อง? ที่สร้าง / รวมหรือไม่ ฉันหลงทางเพราะฉันไม่พบสิ่งใดใน var / created และ commandline หยุดทำงาน อะไรคือวิธีการแก้จุดบกพร่องเพื่อค้นหาสิ่งที่เป็นข้อผิดพลาดนี้. ความช่วยเหลือใด ๆ ที่ชื่นชม ข้อผิดพลาดร้ายแรง: Uncaught Magento …
11 magento2  php  xml  debugging 

1
Magento 2: วิธีเพิ่มข้อความภายในคอนเทนเนอร์ผ่าน XML
ฉันพยายามแสดงข้อความบรรทัดเดียวก่อนรายการลิงก์ในส่วนท้าย การสร้างไฟล์เทมเพลตเพื่อทำสิ่งนี้ดูเหมือนจะเป็นการสิ้นเปลืองทรัพยากรสำหรับงานนี้ ตามที่ฉันเข้าใจฉันสามารถส่งออกข้อความด้วยMagento\Framework\View\Element\Textบล็อกในเค้าโครง XML <referenceContainer name="footer"> <container name="footer.column.about_us" htmlTag="div" htmlClass="column about-us" before="-"> <container name="column.about_us.label" htmlTag="div" htmlClass="label"> <block class="Magento\Framework\View\Element\Text" name="about_us.label"> <arguments> <argument name="data" xsi:type="array"> <item name="text" xsi:type="string">About Us</item> </argument> </arguments> </block> </container> <block class="Magento\Framework\View\Element\Html\Links" name="footer_links.about_us"> <arguments> <argument name="css_class" xsi:type="string">footer links</argument> </arguments> </block> </container> </referenceContainer> ก่อนหน้านี้จะไม่แสดงผลใด ๆ และฉันไม่แน่ใจว่าสิ่งนี้จะได้รับการสนับสนุนหรือไม่หากฉันเพิ่งทำผิดหรือมีวิธีการอื่นที่เหมาะสมกว่าในการทำสิ่งนี้ให้สำเร็จ เพื่อให้ชัดเจนสิ่งที่ฉันเห็นอยู่ในขณะนี้คือ: <div class="column about-us"> …

6
ค้นหา "ชื่อ" สำหรับการอ้างอิงบล็อกใน Magento 2
ฉันต้องการลบบล็อกบางส่วนออกจากหน้าของฉัน พูดเช่นฉันต้องการลบคอนเทนเนอร์สำหรับโลโก้ จากนั้นฉันสร้าง/app/design/frontend/MYVENDORNAME/MYTHEMENAME/Magento_Theme/layout/default.xmlด้วยรหัสต่อไปนี้: <page layout="3columns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <referenceBlock name="logo" remove="true"/> </page> ในกรณีนี้ฉันจัดการเพื่อหาชื่อ (name = "logo") ของบล็อกอ้างอิงนี้โดยการค้นหาไฟล์ใน Theme Base คำถามคือ: มีวิธีที่ดีกว่าในการหาชื่อของบล็อก ฉันคิดว่าต้องมีรายชื่อทั้งหมดที่ใช้ในไฟล์ XMl ใน Magento? หรือการอ้างอิงบางอย่าง? พูดเช่นว่าฉันต้องการลบเมนู ( <div class="sections nav-sections">...</div>) ฉันจะหาชื่อได้อย่างไร
11 magento2  layout  xml 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.