Il 04/06/2013 12:03, Paolo Betti ha scritto:
Ciao,
Il 04/06/2013 10:52, Yuri ha scritto:
se ho questa browser view (collective.lineage ma non è importante):
class LineageUtils(BrowserView):
def getSwitcherDefault(self):
registry = getUtility(IRegistry)
settings = registry.forInterface(ILineageSettings)
if settings.menu_text:
return settings.menu_text
return "Jump to Child Site"
def isChildSite(self):
portal_state =
self.context.restrictedTraverse('plone_portal_state')
root_path = portal_state.navigation_root_path()
nav_root = self.context.restrictedTraverse(root_path)
return IChildSite.providedBy(nav_root)
definita poi tramite zcml con permesso zope.Public e con nome
lineageutils, io posso andare all'url:
miosito.com/@@lineageutils e mi ritorna la classe.
Però andando su miosito.com/@@lineageutils/isChildSite o
miosito.com/@@lineageutils/getSwitcherDefault non ottengo nulla
(torna la pagina 404)
ma posso fare in un template (di un'altra browserview, o view o credo
in un qualsiasi template, poiché qui è usato view per il contesto,
potevano usare anche view/context no?):
<tal:block define="
message view/@@lineageutils;">
<option value="" tal:content="message/getSwitcherDefault">Jump to
child site</option>
</span>
Qualìcuno sa spiegarmi questo comportamento? Grazie :)
Spiegare esattamente no ma a volte a me è capitato (con Plone 3 non ho
ancora provato con il 4) di dover definire tramite zcml una cosa del
genere:
<browser:page
name="nome_vista"
for="*"
class=".views.ArtUtilsView"
permission="zope2.View"
layer=".interfaces.IThemeSpecific"
allowed_attributes="metodo1 metodo2"
/>
e poi poter richiamare @@nome_vista/metodo1 o @@nome_vista/metodo2
tramite indirizzo diretto.
{è "allowed_attributes" che fa la differenza ;-)}
Molto interessante, grazie, assieme a quello che ha scritto Davide ora
ne so di più :)
_______________________________________________
Plone-IT mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html