[TYPO3-UG Italy] R: R: R: R: I: Quesito typoscript stdWrap

ORTOLANI SAMUELE S.ORTOLANI at comune.pesaro.pu.it
Sat Oct 23 12:22:45 CEST 2010


Ciao a tutti,
ricapitolando il problema proposto da Valeria era:
Se il campo ###WFQBE_FIELD_3### (che proviene da un db) è valorizzato (nel caso specifico con un 1) e ritorna quindi un evento true voglio visualizzare l'immagine di spunta_arancio 
mentre se si verifica anche la stessa condizione sul campo ###WFQBE_FIELD_5### (che proviene sempre da un db)
vorrei sostituire l'immagine di spunta_arancio con una di spunta_verde. I campi indicati, presenti in un db, possono assumere solo valore 1 o valore 0.

una possibile soluzione potrebbe essere la seguente:

3 = IMAGE
3.file= fileadmin/user_upload/ALLEGATI_OPERE_PUBBLICHE_GESTIONE/IMMAGINI/spunta_arancio.gif
3.titleText = fase in corso
3.altTex = fase in corso
3.if.isTrue = ###WFQBE_FIELD_3###

3.stdWrap.override.if.isTrue = ###WFQBE_FIELD_5###
3.stdWrap.override = <img title="fase completata" src="fileadmin/user_upload/ALLEGATI_OPERE_PUBBLICHE_GESTIONE/IMMAGINI/spunta_verde.gif">
	

In questo modo 
se la condizione su ###WFQBE_FIELD_3### è falsa(il campo è uguale a 0) e anche ###WFQBE_FIELD_5###  è falsa (il campo è uguale a 0) allora non viene visualizzata nessuna immagine,
se la condizione su ###WFQBE_FIELD_3### è vera (il campo è uguale a 1) e ###WFQBE_FIELD_5###  è falsa (il campo è uguale a 0) allora viene visualizzata l'immagine "spunta_arancio.gif",
se la condizione su ###WFQBE_FIELD_3### è vera (il campo è uguale a 1) e anche ###WFQBE_FIELD_5###  è vera  (il campo è uguale a 1) allora viene visualizzata solo l'immagine "spunta_verde.gif"
perchè utilizzando la funzione stdWrap (che rientra tra le proprietà del cObject di tipo IMAGE) effettuiamo l'override dell'immagine "spunta_arancio.gif" con l'immagine "spunta_verde.gif".

Probabilmente ci saranno altre soluzioni, questa sembra funzionare... che ne pensate?

Buon fine settimana 


---
Samuele Ortolani
U.O. Sistemi Informativi
Comune di Pesaro
tel. 0721 387588

________________________________________
Inizio: typo3-ug-italy-bounces at lists.typo3.org [typo3-ug-italy-bounces at lists.typo3.org] per conto di Roberto Torresani [erreti at siel.it]
Inviato: venerdì 22 ottobre 2010 17.40
Fine: TYPO3 Usergroup Italy
Oggetto: Re: [TYPO3-UG Italy] R: R: R: I: Quesito typoscript stdWrap

Ciao!
spero di riuscire a chiarire alcuni dubbi che hai presentato.

Il giorno 21 ottobre 2010 21:36, mario <m at mariochiari.net> ha scritto:

> in effetti questo override è meno chiaro di quel che sembra
> Ho provato con questo semplice TS
>
> page = PAGE
> page.typeNum = 0
> page.10 = HTML
> page.10.value = Hello World
> page.10.value.override = Bye Bye  <<< Ok
> page.10.override = Bye Bye        <<< Non funziona (confronta sotto)
>

Il non funziona confronta sotto immagino sia riferito al blocco TEXT.
La differenza tra TEXT e HTML è il punto su cui è possibile intervenire con
lo stdWrap (
http://typo3.org/documentation/document-library/references/doc_core_tsref/4.3.2/view/1/7/#id2518708).
TEXT si comporta in modo non standard, immagino io per mantenere la
compatibilità con le prime versioni di typoscript.
Questo significa che con gli oggetti HTML lo stdWrap va applicato sul campo
value, mentre con gli oggetti TEXT va applicato direttamente sul blocco
TEXT.


> page.10.wrap = | <br>
> page.100 = IMAGE
> page.100.file = image_1.jpg
> page.100.stdWrap.override =  image_2.jpg
> <<< da sola questa riga  mi outputs solo la stringa >image_2.jpg<.
>

Facendo un stdWrap all'elemento IMAGE vai a lavorare su tutto il blocco.

Nota che qui abbiamo sdtWrap, senza non mi funziona.
>

Senza non funziona perchè le azione di stdWrap sull'oggetto IMAGE non sono
previste in modo diretto (TEXT è un anomalia) ma solo indicando l'elemento
stdWrap.


> page.100.stdWrap.override.wrap =  <img src=fileadmin/user_upload/|  >
> <<< con questa seconoda riga Ok, ma non è esattamente quel che vogliamo,
>

Prima hai sostituito il contenuto IMAGE con la stringa image_2.jpg
(override), con questa ultima riga hai indicato di fare un wrap sulla
precedente stringa, inserendola nel contesto al posto della pipe.


> Non ho trovato altro modo. Quale è il  TS giusto?<<<<


Dipende cosa volevi fare :)


> page.101 = TEXT
> page.101.value = Hello world
> page.101.override = Hello heaven  <<<< Ok, ma nota che qui è senza value
> page.101.value.override = Bye Bye <<<< non funziona
>

Spiegato sopra.

Ciao
Roberto

--
27 novembre 2010, Bologna, T3Camp Italia: Typoscript, questo
sconosciuto<http://www.t3campitalia.it/programma-talk-conferenza-typo3/typoscript-questo-sconosiuto.html>
_______________________________________________
TYPO3-UG-Italy mailing list
TYPO3-UG-Italy at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-italy


More information about the TYPO3-UG-Italy mailing list