2013/6/4 Paolo Betti <[email protected]>: > 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 ;-)} >
allowed_interface è il modo più elegante (e leggibile) per avete le stesse feature di allowed_attributes: specifichi gli attributi accessibili dall'esterno come attributi di un'interfaccia e non come lista di attributi. -- Saluti/Regards Luca Fabbri - RedTurtle Technology E-mail: [email protected] Web Site: http://www.redturtle.it/ Phone: +39 0532 1915958 Fax: +39 0532 287070 _______________________________________________ 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
