2012-02-18 17 views
5

üzerinde geçersiz kılma Plone 4.1.2 kullanıyorum ve collective.contenleadimage tarafından sağlanan bir görünüm şablonunu geçersiz kılmaya çalışıyorum. Sağlanan şablonu portal_view_customization aracılığıyla düzenlemek kolaydır, ancak bunu dosya sistemindeki politika ürünümden yapmayı denemek istiyorum.Başka bir ürünün görünüm şablonunu Plone

c.contentleadimage klasör_leadimage_view'ini değiştirmek istiyorum.

Politika ürünümde yaptığım şey budur. interfaces.py

profillerindeki
from zope.interface import Interface 

class IExamplePolicy(Interface): 
    """Marker interface that defines a Zope 3 browser layer. 
    """ 

/default/browserlayer.xml içinde

tarayıcıda
<?xml version="1.0"?> 
<layers> 
    <layer name="example.policy" 
      interface="example.policy.interfaces.IExamplePolicy" /> 
</layers> 

/configure.zcml

<configure 
xmlns="http://namespaces.zope.org/zope" 
xmlns:browser="http://namespaces.zope.org/browser" 
xmlns:i18n="http://namespaces.zope.org/i18n" 
xmlns:zcml="http://namespaces.zope.org/zcml" 
i18n_domain="example.policy"> 


<browser:page 
    for="Products.Archetypes.interfaces.IBaseFolder" 
    name="folder_leadimage_view" 
    class="collective.contentleadimage.browser.folder_leadimage_view.FolderLeadImageView" 
    template="folder_leadimage_view.pt" 
    layer="..interfaces.IExamplePolicy" 
    permission="zope2.View" 
    allowed_attributes="tag" 
/> 

<browser:page 
    for="Products.CMFPlone.interfaces.IPloneSiteRoot" 
    name="folder_leadimage_view" 
    class="collective.contentleadimage.browser.folder_leadimage_view.FolderLeadImageView" 
    template="folder_leadimage_view.pt" 
    layer="..interfaces.IExamplePolicy" 
    permission="zope2.View" 
/> 

My politika ürünü ince yükler ve ben

Products.Archetypes.interfaces.base.IBaseFolder 
    folder_leadimage_view (example.policy.interfaces.IExamplePolicy) 
    folder_leadimage_view (collective.contentleadimage.interfaces.ILeadImageSpecific) 

Ancak, benim yeni şablon Plone tarafından işlenen biri değildir portal_view_customization görebilirsiniz.

Yardım için minnettar olurum.

from collective.contentleadimage.interfaces import ILeadImageSpecific 

class IExamplePolicy(ILeadImageSpecific): 
    """Marker interface that overrides collective.contentleadimage's 
    browser layer. 
    """ 

Tarayıcı katmanları istek uygulanan belirteçler şunlardır:

cevap

8
sizin interfaces.py değiştirin

. Hem sizin IExamplePolicy ve collective.contentleadimage en ILeadImageSpecific tarayıcı katmanları collective.contentleadimage kendi daha sizin geçersiz folder_leadimage_view görünüm daha belirgin hale getirin, ancak tarayıcınız katmanı için ILeadImageSpecific devralmasını tarafından uygulanır.

Zope Bileşen Mimarisi arabirim çözünürlüğü siparişi hakkında daha fazla bilgi için, the Dexterity manual adresindeki "Daha özel bağdaştırıcılarla özelleştirme" bölümüne bakın.

+0

Teşekkürler. Bu iyi çalıştı. Dexterity el kitabını kontrol edeceğim. – h2o

İlgili konular