Ciao a tutti. Volevo chiedervi un parere riguardo CCK e le tipologie di campo. Sto realizando un tipo di nodo per delle attività. Per ogni attività devo inserirne i contatti di Instant Messaging (Skype, WLM, Jabber, etc etc). Secondo voi quale sarebbe il miglior modo per definire tali campi? Che tipologia dovrei utilizzare? Il tipo "Testo" secondo voi sarebbe ok?
Mi viene in mente il modulo Link per CCK. Permette di definire come tipologia di campo un collegamento cliccabile. Per ricreare la stesssa cosa per l'instant messaging? Ovvero utilizzando link cliccabili con differenti schemi URI a seconda del protocollo utilizzato. Es.
aim:nickname (per AIM)
msnim:[email protected] (per Windows Live Messenger)
skype:nickname (per Skype)
etc etc
un po' come per il tipo campo "e-mail" che utilizza lo schema URI mailto:
Come sarebbe possibile realizzare ciò secondo voi?
nessuno che ha info a riguardo? :(
l'unico suggerimento che ti posso dare è che link non ti permette altri protocolli all'infuori di http, mailto e forse pochi altri. inoltre i filtri anti XSS di drupal bloccano gran parte dei protocolli "strani" che citi.
Se dovessi, proverei ad utilizzare http://drupal.org/project/filter_protocols che permette di bypassare i filtri XSS e uno dei tanti moduli per manipolare l'input/output dei campi come
http://drupal.org/project/custom_formatters
http://drupal.org/project/covert_fields
http://drupal.org/project/conditional_fields
http://drupal.org/project/computed_field
(...)
l'obiettivo sarebbe: utente inserisce l'indirizzo e tu lo manipoli in modo da ottenere nel display un link formattato come si deve per ciascun protocollo.
tutto in teoria, s'intende
Certified to Rock
proverò con il filter_protocols e custom_formatters... se riesco a concludere qualcosa posto i risultati qui allora. grazie mille per la dritta! :)
Perfetto! Sono riuscito ad ottenere il risultato voluto con la soluzione Filter Protocols+Custom Formatters! Funziona perfettamente... unica "pecca" è che non riesco a trovare un'opzione per dire a Drupal di nascondere i campi vuoti. Ad esempio, ci sono alcuni nodi che hanno il campo "Skype" vuoto, nella visualizzazione del nodo compare un "Skype:" ovviamente seguito da nulla visto che il campo è vuoto.
hai provato ad escluderli nelle impostazioni di visibilità dei campi?
è abbastanza semplice nascondere un campo a livello del tema. cerca "hide" e "field" su d.o (o qui in ita) o usa parole chiave simili.
se dettagli meglio le condizioni è più facile capire (tipo di campo, eccetera)
Certified to Rock
no non ho provato. non sapevo esistessero opzioni di visibilità dei campi... dove le trovo?
le condizioni dovrebbero essere che se un campo è vuoto non dovrebbe esserne visualizzata l'etichetta. ad esempio:
ho il nodetype "bar" con i campi "indirizzo e-mail", "contatto skype", "cellulare", "contatto msn". immaginiamo di voler creare un "bar" che abbia solo email e cellulare, visualizzando tale nodo avrò
E-mail: [email protected]
Skype:
Cellulare: 123456789
MSN:
io vorrei che in caso di campi vuoti le etichette non venissero affatto visualizzate. ovvero così
E-mail: [email protected]
Cellulare: 123456789
sarebbe possibile?
tuosito/admin/content/node-type/[nome macchina content type]/display
questo dovrebbe essere il comportamento nativo di CCK.
Almeno a me funziona così...
Certified to Rock
Non so perché ma nella mia installazione non lo è... non riesco a controllare questo comportamento... Le opzioni di visibilità non mi consentono però di impostare "condizioni" di visibilità, trovo solo opzioni per decidere a priori se rendere visibile o meno il campo indipendentemente dal fatto che sia o meno nullo.