io non conosco il codice originario. Pero' quando dici "me la accetta solo nella parte piu' annidata del ciclo" mi vien da pensare.
A ripetersi sono i tag <li> quindi grosso modo ci sono 2 casi: 1) il tal repeat e' direttamente nel tag <li>: <li tal:repeat="item items"> <a tal:content="item/proprieta... /></li> 2) il tal repeat e' esterno <tal:block repeat="item items"> <li...><a.../></li> </tal:block> il motivo per cui non ti "accetta" la codition probabilmente e' che il ciclo e' implementato come nel primo caso e, vedi zopebook reference ZPT, c'e' un ordine preciso con cui vengono eseguite le istruzioni tal: 1. define 2. condition 3. repeat 4. content or replace 5. attributes 6. omit-tag se scrivi <li tal:repeat="item items" tal:condition="tuacondizione">... viene eseguita prima la condition e poi la repeat. Poiche' la tua condizione si basa sul contenuto del ciclo (la variabile item) non puoi porre la condizione nello stesso tag. Devi riscrivere il codice come nell'esempio 2 facendo salire di un livello il ciclo con un qualsiasi tag trasparente (<tal:ciclo repeat....> ad esempio) e poi disponendo la condizione sulla variabile ciclanda (nel mio caso item) nei tag annidati (primo <li>) Credo che cosi' risolvi. alessandro. Il giorno 24 agosto 2009 19.23, Fabrizio Rota<[email protected]> ha scritto: > Non sto modificando la navigazione principale ma una navigazione orizzontale > secondaria. > La navigazione secondaria che uso (subnavbar di neteasy) fa spuntare > indiscriminatamente ogni cosa ci sia al secondo livello mettendo sulla tab > di sottonavigazione il nome dell'oggetto (che può essere molto lungo). > Per evitare di popolare con troppi elementi bisogna nascondere l'elemento > alla navigazione, ma questo non mi piace, perchè poi l'oggetto non sbuca nei > portlet di navigazione laterali, nella mappa del sito ecc. > La condizione > tal:condition="exists:navbarobject/secnav" > doveva serviva proprio a far sbucare nella barra secondaria solo gli > oggetti per i quali avevo aggiunto la proprietà "secnav" da ZMI, ignorando > gli altri. > La cosa, in parte, funziona, solo che me la accetta solo se posta nella > parte più annidata del ciclo, quella che definisce le ancore, per cui le > ancore non vengono davvero generate ma i punti elenco si. > Nell'esempio che segue il "filtro" su secnav ha permesso la creazione del > primo punto elenco con ancora, ma non ha potuto evitare la creazione dei due > punti elenco successivi, seppur "vuoti". > <ul> > <li> <a href....... elemento con secnav impostato> elemento 1</a> </li> > <li> </ll> > <li></li> > </ul> > > > Per la questione dei nomi lunghi, ho fatto in modo che nella barra di > navigazione secondaria venga mostrato il contenuto del parametro "secnav" al > posto del solito "title or id", come si evince dal codice > > <a href="#" tal:attributes="href navbarobject/absolute_url; > title navbarobject/secnav;" > tal:content="navbarobject/secnav">Navbar</a> > > Rileggendomi, mi rendo conto che la mia spiegazione non è un esempio > luminoso di chiarezza....... > Se servono delucidazioni...... > faber > Il giorno 24 agosto 2009 18.52, SauZheR <[email protected]> ha scritto: >> >> Il navigation e' costruito in maniera tale da filtrare i contenuti >> gia' per stato di workflow e/o portal_type. >> >> Sicuro che non puoi rivedere le tue esigenze? Eviteresti di mettere >> mano al codice del navigation che e' tutt'altro che semplice. >> >> bye >> >> Il giorno 24 agosto 2009 15.56, Fabrizio Rota<[email protected]> >> ha scritto: >> > Vorrei che il "mio" codice di sottonavigazione mostrasse solo gli >> > elementi >> > che hanno la proprietà secnav (la setto da ZMI). >> > Mi sembra che la condizione così espressa >> > tal:condition="exists:navbarobject/secnav" >> > possa andare bene. >> > Eppure funziona solo se si inserisce nel tag <a>, verso la fine del >> > codice. >> > Così facendo, però, vengono creati i pallini dell'elenco puntato anche >> > per >> > gli elementi senza la proprietà secnav (ovviamente senza essere >> > affiancati >> > dall'ancora e da link) >> > Ove potrei piazzare la condizione affinchè non vengano creati i tag <li> >> > per >> > gli elementi senza la proprietà secnav? >> > PS: ho provato a mettere la condizione in un tal:block sopra il tag <li> >> > ma >> > non funge. E non funge nemmeno metterà nel tag <li>, forse il posto più >> > avvio. >> > Ecco il codice del sottomenu. >> > >> > <p class="hiddenStructure">Sottomenu principale</p> <ul >> > id="portal-subnavbar" tal:define="navbardata view/contentlist; >> > navbarobjects >> > python: navbardata['contents']; navbarselected python: >> > navbardata['selected'];" tal:condition="python: navbardata['contents'] >> > != >> > []"> <li tal:repeat="navbarobject navbarobjects" tal:attributes="class >> > python: navbarobject == navbarselected and 'selected' or 'plain';"> <a >> > href="#" tal:attributes="href navbarobject/absolute_url; title >> > navbarobject/secnav|navbarobject/title_or_id;" >> > tal:content="navbarobject/secnav|navbarobject/title_or_id">Navbar</a> >> > </li> >> > </ul> >> > >> > >> > >> > >> > >> > -- >> > Faber >> > -------------------- >> > "Life is what happens to you while you're busy making other plans" - J. >> > Lennon >> > >> > _______________________________________________ >> > Plone-IT mailing list >> > [email protected] >> > http://lists.plone.org/mailman/listinfo/plone-it >> > http://www.nabble.com/Plone---Italy-f21728.html >> > >> >> >> >> -- >> bye >> SauZheR >> ************************************ >> l'iterazione è umana... >> la ricorsione, Divina! >> ************************************ >> reply to: sauzher AT gmail DOT com >> >> _______________________________________________ >> Plone-IT mailing list >> [email protected] >> http://lists.plone.org/mailman/listinfo/plone-it >> http://www.nabble.com/Plone---Italy-f21728.html > > > > -- > Fabrizio > -------------------- > "Life is what happens to you while you're busy making other plans" - J. > Lennon > > _______________________________________________ > Plone-IT mailing list > [email protected] > http://lists.plone.org/mailman/listinfo/plone-it > http://www.nabble.com/Plone---Italy-f21728.html > -- bye SauZheR ************************************ l'iterazione è umana... la ricorsione, Divina! ************************************ reply to: sauzher AT gmail DOT com _______________________________________________ Plone-IT mailing list [email protected] http://lists.plone.org/mailman/listinfo/plone-it http://www.nabble.com/Plone---Italy-f21728.html
