Gần đây tôi đã bắt đầu sử dụng local.xml
như sân chơi của mình để bố trí. Trước khi tôi nghi ngờ sử dụng nó vì ... lý do.
Tôi đã thấy lợi thế của nó, nhưng bây giờ tôi đã va phải một bức tường gạch.
Trong catalog.xml
tệp bố cục mặc định có một khối nhất định (tên không quan trọng). Sử dụng layout.xml
tôi đã thêm một khối con chung vào nó nơi tôi muốn đặt các khối khác.
<reference name="not.important">
<block type="core/text_list" name="extra.left.menu" as="extra" />
</reference>
Càng xa càng tốt.
Nhưng bây giờ, tôi có một tiện ích mở rộng nên thêm khối con vào một phần mở rộng ở trên.
Nếu tôi thêm khối mới này bằng cách sử dụng local.xml
nó hoạt động độc đáo.
<block type="core/text_list" name="extra.left.menu" as="extra">
<block type="myextension/some_block" template="some/template.phtml" as="some_name" name="some_name" />
</block>
Nhưng tôi không muốn thực hiện thông qua local.xml
vì tiện ích mở rộng mới này có thể bị vô hiệu hóa trong tương lai. Nếu tôi thực hiện thông qua local.xml
và vô hiệu hóa tiện ích mở rộng, nó sẽ tràn vào các tệp nhật ký của tôi vì khối này không còn tồn tại nữa.
Vì vậy, trong tập tin bố trí mở rộng của tôi, tôi thêm điều này:
<reference name="extra.left.menu">
<block type="myextension/some_block" template="some/template.phtml" as="some_name" name="some_name" />
</reference>
Nhưng cách này không hiệu quả. Tôi cảm thấy điều này xảy ra vì local.xml
tệp được tải sau cùng và tôi không thể thêm phụ thuộc mô-đun để tệp bố cục tiện ích mở rộng của tôi sẽ được tải sau layout.xml
.
Làm thế nào tôi nên giải quyết điều này? Tôi đã nhận được một cái gì đó sai?
Hoặc nếu tôi muốn nó như thế này, tôi phải sử dụng "cách cũ tốt" nhân bản catalog.xml
trong chủ đề của mình và thêm khối mới này vào catalog.xml
chủ đề của tôi?