ฉันทำงานบางอย่างในMagento 2และได้เขียนทับโมดูลที่ฉันติดตั้งแล้ว (ที่ส่วนหน้า)
อย่างไรก็ตามวันนี้ฉันเพิ่งเจอสิ่งที่ฉันไม่เคยพบมาก่อน โมดูลที่ฉันใช้มีบล็อกอยู่ภายในซึ่งมีสิ่งต่อไปนี้:
<referenceBlock name="product.info.details">
<block class="Vender\Module\Block\Catalog\Related" name="posts.tab" as="blog.posts"
template="Vender_Module::catalog/posts.phtml" group="detailed_info">
</block>
</referenceBlock>
มันตั้งชื่อ:
posts.tab
แล้วใช้เป็นจะให้มันถูกเรียกว่าผ่าน:
เป็น = "blog.posts"
เมื่อฉันพยายามที่จะอ้างอิงบล็อกจะถูกลบออกใช้เป็นชื่อผมสังเกตเห็นว่ามันก็ไม่ได้ลบออกจากหน้า:
<referenceBlock name="product.info.details">
<referenceBlock as="blog.posts" remove="true"/>
</referenceBlock>
ดังนั้นฉันจึงไปดูสิ่งที่หน้าจริงเรียกว่าในส่วนหน้า (เพียงเพราะมันถูกเปลี่ยนชื่อที่อื่นหรือไม่ได้ใช้ชื่อ posts.tab) - ชื่อบล็อกจะถูกเรียกด้วยposts.tabซึ่งเป็นสิ่งที่ดี เนื่องจากฉันสามารถอ้างอิงบล็อกนั้นเพื่อลบออกได้ มันใช้งานได้ดี
แต่คำถามของฉันคือทำไมบล็อกไม่ถูกดึงผ่านการใช้เป็นและแทนที่จะถูกดึงผ่านการใช้ชื่อแทน
ประการที่สองสิ่งที่เป็นจุดในการเป็นเพราะเห็นได้ชัดว่าบล็อกไม่สามารถมีความขัดแย้งชื่ออยู่แล้วและต้องไม่ซ้ำกัน - แต่ผมอาจจะผิดโดยสิ้นเชิง