[Plone-IT] html filtrato, in <Button> o <Input> non accetta evento onClick

Giacomo Spettoli giacomo.spettoli a gmail.com
Gio 29 Set 2011 12:52:10 UTC


Ciao Daniele,

On 29/09/2011 13:36, danielemod wrote:
> Caro Giacomo il mio salvatore,

esagerato :)

> sono alle primissime armi in Plone !
> Mi sto avvicinando da pochissimo nel mondo web.
> Mi presento informaticamente parlando:
> Ho qualche infarinatura su C, Visual Basic, e
> guai a chi me lo tocca Ubuntu, pubblicazioni di semplici blog di google
> e non credo che c sia più altro di significativo a riguardo.
> Dimenticavo... sono logorroicamente prolisso,
> meticoloso, pignolo, con infinita pazienza
> e quando mi ci metto
> duro di comprendonio
> Povero Giacomo

|se ti può consolare io ho la tendenza a complicarmi inutilmente la 
vita. Invece di fare tutto quel giro dell'oca del javascript si poteva 
semplicemente "barare" e utilizzare un link che "sembrasse" un bottone 
||(SauZher mi ha anticipato di pochi minuti mentre scrivevo questa 
mail...grande Alessandro!)||.

<a href="site.html#anchor1" class="myButtonLink">Anchor link</a>

e poi in un css definire la classe:

.myButtonLink{
background: transparent url(<img stile bottone>) no-repeat top left;
...
}



...ma tant'è! Ormai ho aperto il vaso di pandora :P|.Per completezza 
rispondo comunque sotto continuando per la strada iniziata.

>
> Giustamente,
> è il minimo che posso fare,
> per evitare di farti troppe domande, banali per te,
> *ho studiato faticosamente un pò* con ricerche su internet
> (a proposito se hai dei link per i principiantissimi su javascript e python
> su Plone, sono molto graditi)

Per il Python, un buon manuale è: 
http://www.amazon.com/Learning-Python-3rd-Mark-Lutz/dp/0596513984  (c'è 
anche in ita se lo cerchi)
Per il Javascripting in Plone: 
http://readthedocs.org/docs/collective-docs/en/latest/templates_css_and_javascripts/javascript.html

> su parola per parola, (sigle, acronimi, definizioni)  sulla preziosa
> procedura che mi hai mandato
> che numero per comodità di citazioni
> e per chiarezza agli eventuali lettori del forum interessati allo stesso
> problema.
>
>
>
>
> FINALMENTE SI PARTE !
>
> --------------------------------------------------------
> 1) Ti sconsiglio fortemente di consentire del javascript nel testo dei
> contenuti perchè così potrebbe essere inserito da tutti gli utenti, e
> sappiamo tutti che se ci sono almeno 2 tipi di utenti che non dovrebbero
> avere tale potere (imbranati e smanettoni).
> --------------------------------------------------------
> /Come si procede *passo per passo* nei menù di Plone
> e cosa si intende per
> "consentire del javascript nel testo dei contenuti" ?/

sai che non lo so?! E' una cosa talmente "torbida" che non l'ho mai 
approfondita...e dopo una veloce occhiata temo che non si possa nemmeno 
fare, quindi il problema di consentirlo o meno non si pone.

>
>
> --------------------------------------------------------
> Quindi per utilizzare un javascript custom potresti:
>
> 2) - assegnare una classe css ai bottoni del tipo:
>   <input type="button" class="mybuttonanchors location-text1"  ...
> --------------------------------------------------------
> Qui nel mio caso:
> (bottone che esegue semplicemente
> l'operazione di rimando ad un'altra parte del testo)
> <p><input type="Button" value="Torna a Indice" onClick="location.
> href='#heading1'"></p>
>
> diventa esattamente, come da tuo suggerimento, così ?
> <p><input type="Button" value="Torna a Indice" class="mybuttonanchors
> location-text1"></p>

riformulo, forse è più comodo così:

<input id="mybuttonanchors-location_text1" type="Button" value="Torna a Indice" class="mybuttonanchors-location">



>
> -----------------------------------------------------------
> 3) - vai nella zmi ->  in portal_skins  ->  cartella custom e aggiungi dalla
> tendina in alto a dx un nuovo "File"
> --------------------------------------------------------
> Anche se ancora non l'ho eseguito in pratica,
> essendomi arenato subito al passo precedente,
> credo che questo l'ho capito !
> Solo dopo aver cercato il significato di "zmi" !
> che stava a significare in ita
> *Interfaccia di gestione Zope*

hai ragione, l'utilizzo massivo delle sigle è una pessima abitudine 
mutuata dagli anglosassoni (in particolare dagli americani).
ZMI sta per "Zope Management Interface" ed è raggiungibile aggiungendo 
alla fine dell'url di qualsiasi "posizione" (o meglio contesto) in plone 
la stringa "/manage". Es: http://<ip-del-tuo-host>:8080/manage c'è la 
ZMI della cartella radice della tua applicazione Zope. Se invece vai 
qui: http://<ip-del-tuo-host>:8080/<nome-del-tuo-plone>/manage trovi la 
ZMI della tua istanza Plone.

>
>
> -----------------------------------------------------------
> 4) - gli assegni un id del tipo "myfantasticjavascript.js" e lo editi come
> preferisci. Nel codice js farai una cosa simile:
>
> jq(document).ready(function(){
>       jq('input.mybuttonanchors').click(function(){
>           ...
> <previeni qualsiasi comportamento di default>
> <prendi la classe location-text1>
> <la spezzi e prendi la parte utile>
> <redirect>
>      });
> });
> --------------------------------------------------------
> E qui casca l'ASINO, che sarei io, in Java
> il mio sesto senso
> mi dice che devo sostituire qualcosa a :
>
> <previeni qualsiasi comportamento di default>
> <prendi la classe location-text1>
> <la spezzi e prendi la parte utile>
> <redirect>
>
> ma cosa non ne ho la + pallida idea
> tranne aver capito che nella 2° citazione<>
> viene richiamato il nome della calasse "location-text1"
> Chiedo venia
> anzi chiedo pregando....
> anche solo un esempio di codice di classe
> completo e funzionante

dato che prendiamo la strada difficile almeno facciamo le cose fighe con 
un pò di "effetti speciali" ;)...prova così (non l'ho testato ma 
dovrebbe andare):

jq(document).ready(function(){
      jq('input.mybuttonanchors-location').click(function(event){
          event.preventDefault(); // previeni le eventuali azioni scatenate di default dall'evento
	 var id = jq(this).attr('id'); // nella riformulazione sopra ho spostato il riferimento nell id per comodità
	 var new_loc = id.split('_')[1]; // divido sul undescore e prendo la seconda parte della stringa
          |$('html, body').animate({
              scrollTop: $("#"+ new_loc).offset().top  // questo "animate" scrolla giù la pagina fino all'elemento con l'o
          }, 2000);|
       });
});



>
>
> --------------------------------------------------------
> 5) - poi vai in ZMI ->  portal_javascript
> - in fondo aggiungi una nuova registrazione e nel campo "ID/URL" metti
> l'id che hai scelto per il tuo file js (es. myfantasticjavascript.js)
> --------------------------------------------------------
> Dulcisinfundo in un finale travolgente
> qui non dovrebbero esserci problemi di sorta....
>
>
>
>
>
> ...almeno spero....
>
>
>
>
>
> Sono stato prolisso ?
>
> Saluti
> Daniele
>
> Ps
> Editore di testo html da consigliare
> in sostituzione di quello scarno di Plone ?

hai Kupu? nel caso metti TinyMCE...se hai già TinyMCE e ti sembra scarno 
vai in Pannello di controllo -> Editor TinyMCE e aggiungi tutti i tasti 
che preferisci.

>
>
> --
> View this message in context: http://plone-regional-forums.221720.n2.nabble.com/html-filtrato-in-Button-o-Input-non-accetta-evento-onClick-tp6819851p6843563.html
> Sent from the Plone - Italy mailing list archive at Nabble.com.
> _______________________________________________
> Plone-IT mailing list
> Plone-IT a lists.plone.org
> https://lists.plone.org/mailman/listinfo/plone-plone-it
> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html

ciao,
Giacomo

-- 
Giacomo Spettoli

T: http://twitter.com/giacomospettoli
S: http://careers.stackoverflow.com/giacomospettoli
L: http://linkedin.com/in/giacomospettoli
Company: http://redomino.com
Blog: http://spettoli.com

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20110929/91d5dd53/attachment-0001.html>


Maggiori informazioni sulla lista Plone-IT