Geçerli müşterinin bir grubun parçası olup olmadığına bağlı olarak magento düzenime koşullu olarak bir blok eklemenin bir yolu var mı?koşullu olarak magento düzeninde bloklar ekle
veya bu, kontrolörde daha iyi ele alınabilir mi?
Geçerli müşterinin bir grubun parçası olup olmadığına bağlı olarak magento düzenime koşullu olarak bir blok eklemenin bir yolu var mı?koşullu olarak magento düzeninde bloklar ekle
veya bu, kontrolörde daha iyi ele alınabilir mi?
Henüz ... yok customer_logged_in
ve customer_logged_out
ama ne yazık ki böyle bir şey kullanmak güzel olurdu.
Aynı tekniği kopyalayalım. config bu bir modül yapmak gerekir başlamak için: CUSTOM_MODULE_Model_Observer
sınıfta
<frontend>
<events>
<controller_action_layout_load_before>
<observers>
<customer_group_observer>
<class>CUSTOM_MODULE/observer</class>
<method>beforeLoadLayout</method>
</customer_group_observer>
</observers>
</controller_action_layout_load_before>
</events>
</frontend>
bu yöntemi ekleyin:
public function beforeLoadLayout($observer)
{
$groupId = Mage::getSingleton('customer/session')->getCustomerGroupId();
$group = Mage::getModel('customer/group')->load($groupId);
$observer->getEvent()->getLayout()->getUpdate()
->addHandle('customer_group_'.$group->getCode());
}
Şimdi düzen dosyalarında müşteri grupları kullanabilirsiniz. Ayrıca, bu yöntem sayfa başına blokları doğrudan belirlemenize izin vermez, ancak bu konuda çalışabilirsiniz. Burada yalnızca ürün sayfalarında yeni bir konum oluşturan bir örnek var, diğer tüm sayfalarda güncellemenin bir etkisi olmamalı ve hassas bir şekilde başarısız olmalıdır. detay sizin gerektiren işlevsellik sağlayacaktır
<layout>
<catalog_product_view>
<reference name="content">
<block type="core/text_list" name="group_container" />
</reference>
</catalog_product_view>
<customer_group_General>
<reference name="group_container">
<!-- Add some blocks -->
</reference>
</customer_group_General>
</layout>
aşağıdaki mesaj: elemanlarını eklemek veya kaldırmak için düzen dosyalarında http://www.magentocommerce.com/boards/viewthread/83244/#t219147
kullanın customer_logged_in veya bloklar customer_logged_out, bu bloklar son olarak adlandırılır.
ek uzantıları veya kod eklemek gerek yok, bu standart olarak Magento yerleşiktir.
Bu yardımcı olur bana yardımcı olur. Magento Versiyon: 1.6+
Harika cevap! yardım için teşekkürler! – veilig
Belirli bir sayfayı hedeflerken bu tutamaçları kullanabilir mi? Bir müşteri belirli bir grubun parçası olduğunda her sayfada kullanılır mı? – veilig
Sanırım bunun nasıl yapılacağına dair bir fikrim var, lütfen güncellenmiş cevabı gör. – clockworkgeek