Arasındaki fark nedir <action method=”unsetChild”>
ve <remove name=""/>
?
Her iki işlev de bloktan mizanpajı kaldırmak için kullanılır.
Birisi bir örnekle açıklayabilir mi?
Arasındaki fark nedir <action method=”unsetChild”>
ve <remove name=""/>
?
Her iki işlev de bloktan mizanpajı kaldırmak için kullanılır.
Birisi bir örnekle açıklayabilir mi?
Yanıtlar:
<remove name="" />
küresel blok kapsamında faaliyet göstermektedir Mage_Core_Model_Layout
. Bunlar toplanır Mage_Core_Model_Layout::generateXml()
ve belirtilen isimdeki bloğun başlatılmasını bile önlemek için kullanılır . Ayrıca, beyan herhangi bir alt bloklar <remove />
ed bloğu olacak da başlatılamaz .
<action method="" />
aka Mage_Core_Block_Abstract::unsetChild()
blok düzeyinde yöntemi olan de listeler (, ilgili alt blok takma tarafından değil, adı aksiyon çağrılan olduğu üst blok örneğinden). Bu, çoğu durumda, blok örneği hala oluşturulmuş olsa bile, oluşturulan çıktıdan "kaybolma" ile sonuçlanır. ::append()
Veya ::insert()
yöntemleriyle birlikte kullanıldığında, bir "hareket" gerçekleştirmek için kullanılır.
alias
bir çocuk için ayarlanır name
. Marks
<remove name="" />
, Tüm düzenler tamamlandığında, Magento, hangi düzen tutamağına eklendiğine bakılmaksızın, belirtilen ad = "" ile belirtilen bloğu tamamen siler. Bu yöntemi kullanarak bir bloğu bir konumdan çıkarmak ve başka bir yere eklemek imkansızdır.
<action method="unsetChild">
sadece kullanıldığı bağlamda çalışır. unsetChild, varolan blokları bir yerden bir yere taşımak için yaratılmıştır. Belirli bir düzeni belirli bir düzen tutamacından kaldırmak ve ardından başka bir konuma veya düzen tutamacına eklemek istiyorsanız bu yöntemi kullanmanız gerekir.