Personalizzare il Modulo Contact

48 contenuti / 0 new
Ultimo contenuto
Personalizzare il Modulo Contact

Ciao a tutti!

Ho l'esigenza di mettere del testo aggiuntivo nel Modulo Contact (sopra o sotto il pulsante di invio del Form)...

Qualcuno mi saprebbe aiutare?

Grazie

Ciao
Kipper

La soluzione più rapida sarebbe di sostituirlo con un webform

Più imparo, più dubito.

mi sembra che l'intestazione si possa aggiungere (tipo sul tab impostazioni...). O intendi altri campi da inserire?
@John: non conoscevo webform, mooolto interessante... lo metto sulla sabbiera e vedo com'è!

Passione per Drupal
http://retialternative.it

Ciao John

OK, lo testerò in questi giorni...

Sarei orientato anche su > Contact Forms > http://drupal.org/project/contact_forms
Qui una demo:
http://www.myacpl.org/contact/us

Mica male è?

L'ho testato oggi ma non ho ancora capito come si vanno a posizionare gli elementi - credo che il nocciolo della questione stia qui:

The path 'contact/{category}' generates a contact form for that category with a title of 'contact {category}'.
The path 'contact/{category}/Subject goes here' defines the Subject as well.
The path 'contact/list' no longer generates a page with a list of links to each category's contact form. However a php snippet will produce this on a page that you can define as the fall back page.

Come si farà ad usare 'contact/{category}' etc etc...

Grazie come sempre...

Ciao
Kipper

@enrik4drupal

Grazie per le info...

Ciao
Kipper

per ogni categoria c'è un path associato.
ad es. il modulo di contatto per la categoria "frutta" sarà al path /contact/frutta

nota: se la categoria è "frutta e verdura" il path è contact/frutta e verdura, con gli spazi

Contact Forms mi sembra una soluzione perfetto. Webforms è ovviamente molto più generico (e molto più grande). Va bene dove intendi mettere altri form, ma un pò costoso per modificare un singolo form di contatto.

Più imparo, più dubito.

contact forms ha anche un bonus importante:
il path contact/[category]/qulsiasi testo
porta alla form di contatto per la [category] con subject = "qulsiasi testo"

Vediamo se ho capito:
contact forms permette di strutturare l'indirizzo del form di contatto in base alla categoria, in modo che in quel specifico indirizzo non appaia il menù per la scelta della categoria. Corretto?
Mi sembrava però che la richiesta fosse diversa

Quote:
Ho l'esigenza di mettere del testo aggiuntivo nel Modulo Contact (sopra o sotto il pulsante di invio del Form)...

Mi sembra che il webform risponda al meglio, se si vogliono aggiungere dei campi al modulo di contatto. Tra l'altro lo sto provando, ha veramente delle potenzialità significative!

Passione per Drupal
http://retialternative.it

OK, io avrei risolto così:

1. Creo un node-contatti.tpl.php
2. All'interno (riga 16 tema garland) sostituisco:

<div class="content clear-block">
    <?php print $content ?>
  </div>

con:
<div class="content clear-block">
Mio HTML/PHP con DIV etc...  con ogni CONTACT FORM linkato al form corrispondente...
Il link (non ho installato "clean URL"): <a href="?q=contact/Nome Cognome 01">CONTACT FORM</a>
</div>

Il risultato (la parte destra è un copia/incolla con Photoshop per fare in fretta...):

Questo è il form di invio mail (CHE SI APRE...) corrispondente al contatto - una volta clikkato su CONTACT FORM:

Grazie a tutti per i preziosi interventi - farò sapere varie ed eventuali...

Ciao
Kipper

bella soluzione, inoltre grazie perchè mi hai dato un gran bello spunto per la modifica dei file node.tpl.php...

Comunque, da neofita, avrei anche pensato ad una cosa così:
- creazione tipo contenuto "contatti", con vari campi e uno in particolare il link al contact form (contact/nomecategoria, da creare in precedenza con suddetto modulo)
- vista di contenuti tipo "contatti" (magari fluid grid, e giù di css)

potrebbe comunque avvicinarsi?
Ciao!

Passione per Drupal
http://retialternative.it

Scusate, al post #10 (Dom, 12/09/2010 - 03:28), i punti 1 e 2 non si vedevano perchè avevo inserito il delimitatore PHP erroneamente... adesso si vedono! ...il post è completo...

Ciao
Kipper

...

Quote:

enrik4drupal wrote:
Comunque, da neofita, avrei anche pensato ad una cosa così:
- creazione tipo contenuto "contatti", con vari campi e uno in particolare il link al contact form (contact/nomecategoria, da creare in precedenza con suddetto modulo)
- vista di contenuti tipo "contatti" (magari fluid grid, e giù di css)

potrebbe comunque avvicinarsi?

Il mio approccio è diverso:

1. Creo un CType contatti
2. Creo un node-contatti.tpl.php
3. Modifico (come già detto nel post #10 sopra - Dom, 12/09/2010 - 03:36) da così:

<div class="content clear-block">
    <?php print $content ?>
  </div>

a così (più precisamente...):
  <div class="content clear-block">
<div id="container">
<div id="contatto_01">
Nome Cognome
[email protected]
02.1234567
etc...
<a href="contact/Nome Cognome 01">CONTACT FORM 01</a>
</div>
<div id="contatto_02">
Nome Cognome
[email protected]
02.1234567
etc...
<a href="contact/Nome Cognome 02">CONTACT FORM 02</a>
</div>
<div id="contatto_03">
Nome Cognome
[email protected]
02.1234567
etc...
<a href="contact/Nome Cognome 01">CONTACT FORM 03</a>
</div>
<div id="contatto_04">
Nome Cognome
[email protected]
02.1234567
etc...
<a href="contact/Nome Cognome 01">CONTACT FORM 04</a>
</div>
</div>
  </div>

4. Nel CType contatti disabilito il "Body" in modo che di obbligatorio ci sia solo da inserire il TITOLO DEL NODO, inserisco come titolo "Contatti" e dò Invio... (non c'è bisogno di aggiungere Campi CCK...)
5. Appare il nodo con il template bello e pronto in base alle impostazioni DIV/CSS assegnate

P.S. Ai DIV > "contatto_03" e "contatto_04" gli do un: float:left (in modo da posizionarli a sinistra a fianco ai DIV "contatto_01" e "contatto_02" ) e "margin-left:100px" per distanziarli di 100px (o la distanza che vuoi tu) - o ancora, "margin-top:50px" per abbassarli/alzarli

BONUS - Puoi anche assegnare un pulsante (IMG o SWF) per inviare il form es:

<div id="contatto_01">
Nome Cognome
[email protected]
02.1234567
etc...
<a href="contact/Nome Cognome 01"><img src="/themes/mie_immagini/pulsante_form.jpg"></a>
</div>
oppure con Flash:
<div id="contatto_01">
Nome Cognome
[email protected]
02.1234567
etc...
pulasante_form.swf (con all'interno il link: contact/Nome Cognome 01)
</div>

Ciao
Kipper

Ma non ti conveniva semplicemente incollare l'html nel body di un nodo page?

al cambio Tema credo però che bisognerà rifare node-contatti.tpl.php per il nuovo tema ?
O copiarlo e inserirlo nel nuovo tema ?

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

Quote:

krima wrote:
Ma non ti conveniva semplicemente incollare l'html nel body di un nodo page?

Si, hai ragione, si può fare anche così - ho messo quell'esempio perchè sono abituato a lavorare in questo modo per posizionare i campi CCK in modo molto personalizzato...
es:
  <div class="content clear-block">
<?php
$field_cck_01
$node->field_cck_01[0]['view'];
?>

<div id="container">
<div id="01">
<?php print($field_cck_01 ? $field_cck_01 : ' '); ?>
</div>
</div>
  </div>

insomma, una cosa del genere...

Quote:

Lorenzo wrote:
al cambio Tema credo però che bisognerà rifare node-contatti.tpl.php per il nuovo tema ?
O copiarlo e inserirlo nel nuovo tema ?

Non mi è mai capitato di fare un'operazione di questo tipo ma, così al volo, non penso ci siano problemi... eventualmente rinomini in FTP: node-contatti.tpl.php in node-contatti.tpl.php_ - inserisci il file, e se da problemi lo cancelli e togli l'unescore finale a node-contatti.tpl.php_ (_) per riportarlo allo stato originale...

Ciao
kipper

Mi è sfuggito un particolare fondamentale:

Quote:

Lorenzo wrote:
al cambio Tema credo però che bisognerà rifare node-contatti.tpl.php per il nuovo tema ?
O copiarlo e inserirlo nel nuovo tema ?

Cambiando tema devi andare a sostituire il nome "miotema" (nella funzione qua sotto) con il nome del nuovo tema.

Questa funzione/snippet (che va inserita in template.tpl.php nella cartella del tuo tema...), abilita il funzionamento di Template and Suggestions.

More info:
http://www.drupalitalia.org/node/8718#comment-26731

<?php
 
function miotema_preprocess_page(&$vars) {
    if (
$vars['node']->type != "" && arg(2)!='edit' && arg(1) !='add') {
   
$vars['template_files'][] = "page-node-" . $vars['node']->type;
  }
}
?>

P.S. Va inserita senza i tag PHP (vanno rimossi...)

Credo di non dimenticare nulla...

Ciao
Kipper

ah ecco cè dell'altro (mi pareva ..)

ho provato a fare come diceva krima copia e incolla html : ma con Garland mi è venuta una lista di 4 righe (schifio).

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

Lorenzo wrote:
ah ecco cè dell'altro (mi pareva ..)

ho provato a fare come diceva krima copia e incolla html : ma con Garland mi è venuta una lista di 4 righe (schifio).


Non è difficile con l'html è più rapido e non teme... temi... :-) potrei farti vedere un esempio che ho fato ma sarebbe promo ad una ditta.

Perchè non fai vedere l'esempio... quanti ne ho fatti vedere io (che sono a disposizione di tutti...)!? ...è sufficente che metti una bella striscia colorata (photoshop...) su nomi, loghi etc... nei punti strategici, mascheri un pò, e il problema "promo" è superato ampiamente... così magari, vedendo il tuo HTML/Tema/Template... potrei spiegare meglio perchè io uso certi approcci...

Ciao
kipper

Va bene hai vinto :-) http://img96.imageshack.us/i/catturaih.png/

Per farlo ho usato del semplice html incollato in un contenuto e lavorato un po di css, cliccando sul bottone email si va al modulo di contatto.

ma noo, devi aprire Photoshop cliccare Stamp (sulla tasiera...) (command+shift+3 su MAC...)> ritorni in Photoshop e fai: CTRL + n e CTRL + v > ti incolla la schermata > la lavori e la salvi in jpg-png o gif...

Così si vede tutto e si naviga nel sito!!!!!!!!!!!!!!!!!!!!

TOGLI SUBITO QUEL LINK!

Il risultato deve essere questo:

Ciao
Kipper

devi salvare l'immagine, metterla es. tuosito.com/img_drupalitalia e mettere nel post (per farla apparire...)

<img src="http://www.miosito.com/img_drupalitalia/mia_immagine.jpg">
[/codefilter_...

Fai attenzione a tenere una larghezza di 450px (forse 500px) senò vai a "sballare" il layout del sito drupalitalia.org

Comunque bel lavoro, complimenti!

Ciao
kipper

acc. ci sono cascato... credevo di vedere il codice html già belle che pronto di aggiunte css da metter sul blogghino :(
..(avaracci).

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

eh... Lorenzo non posso essere il responsabile della messa a disposizione di tutti del sito di krima!

Ciao
Giuliano

ma no scherzavo (se c'era il codice l'era mei)

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

ma lo soooooo!!!!!!!!!

:DDDDD

Non è mia intenzione nascondere il codice, comunque quel sito non è mio è di un'azienda a cui ho rifatto il sito.

In genere inserisco un po di div completi di id o classe e personalizzo dal css quindi

<div class="contatti">dati contatti</div>
<div class="contatti">dati contatti</div>
<div class="contatti clear">dati contatti</div>
<div class="contatti">dati contatti</div>

Poi nel css basta un:

.contatti{float: left; width:49% oppure 250px; ecc..}

Il clear si trova nel CSS della maggior parte dei temi come .clear{clear:both;}.

Nell'esempio che ho fatto vedere l'ultima riga mi creava dei problemi di allineamento, quindi visto che non è una pagina importante a livello SEO non ci ho perso molto tempo ed ho inserito i dati in una tabella.

Grazie credo di aver capito (.?.)
-----------------------
Pagina Contatti

<div class="contatti">Nome + EMAIL con Tastino_link  </div>

-------------------------

Style.css (Tema Sea Breeze)

.contatti
{
float: left;
width: 250px;
height: 250px;
text-decoration: yes;
margin-right: 100px;
margin-left: 100px;
clear: both;
}

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

Il clear: both; non va messo dentro .contatti altrimenti ti vanno tutti a capo. Se noti nel terzo div ho messo due classi una in fila all'altra.

La classe clear obbliga quel div ad andare a capo, ovvero non prende in considerazione il float:left del div precedente. Normalmente non serve ma a volte ci sono dei problemi di visualizzazione con qualche browser ad es. IE6 e 7... ed aggiungere un clear preventivo non costa nulla.

Scusa Lorenzo,
ieri ero talmente indaffarato che non mi è nemmeno venuto in mente di postarti 2 righe di codice.... credimi... ma se guardi bene sopra qualcosa avevo già messo ...ma tu facevi riferimento al HTML e non al CSS che non lo avevi specificato... l'importante che l'ha postato Krima... tutto risolto!

Ciao
Kipper

Lorenzo wrote:

-----------------------
Pagina Contatti

<div class="contatti">Nome + EMAIL con Tastino_link  </div>

-------------------------

Una cosa, personalmente preferisco non inserire l'indirizzo mail ma mettere solo un link al modulo di contatto. Questo aiuta ad evitare che la mail finisca in qualche lista di spam.

ho fatto una prova ma non mi è riuscita.
in IE 6 : appaiono al centro pagina uno sopra all'altro
---
per lo spam : non possiamo fare altrimenti (abbiamo le email in tutte le pagine sul fronte www.ultrasuoni.mi.it , e ci troviamo i clienti che chiedono > mi dà l'email che non la trovo??). Trovano il telefono (almeno quello lo leggono !).
-----------
clear: both; = appena metto un bottone JPG mi sparisce una divisione e ne restano solo 3
------------------
Uso Ckeditor = editor default , con use Theme CKstyle js
(e forse anche qui bisognerebbe impostarlo diverso: intendo il predefinited style e il stile path )

ma fare cosi (che non è una garanzia):
Copy "sites/all/modules/ckeditor/ckeditor/ckeditor.styles.js" inside your theme directory ("sites/all/themes/sea_breeze/ckeditor.styles.js") and adjust it to your needs

significherebbe che non puoi dare all'utente la visualizzazione alternativa con un altro tema a disposizione, o forse sballare le pagine se non si modificano i temi alternativi.
------------------
KIPPER : ho letto e ho pensato "iniziamo dal semplice" che per il resto cè tempo... ... disdetta, manco quello !!

si può risolvere anche cosi

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

Quote:

Lorenzo wrote:
si può risolvere anche cosi

Si, è una soluzione originale ma secondo mè è meglio evitare i "popup" - poi dipende anche dalla tipologia del sito... comunque è una bella soluzione...

Ciao
Kipper

Ho visto che hai usato delle tabelle, se ti ci trovi meglio va benissimo.

Io cerco dove possibile di non usarle perché rendono la pagina meno digeribile ai motori di ricerca. Ma in questo caso non è fondamentale visto che i navigatori, prima di scrivere, arriverebbero e leggerebbero comunque altre pagine del sito.

L'uso dei soli div è possibile ma richiede più dimestichezza con i CSS, altrimenti succede qualcosa che non capisci e perdi ore per capire dov'è l'inghippo.

Per quanto riguarda CKeditor non centra è solo una questione di CSS.

Il clear: both; non va messo, la maggior parte dei temi all'interno ha una classe chiamata clear codice: .clear{clear: both;} o una con un altro nome simile che ha lo stesso scopo.

Quando lavori sul tema può capitare che ad esempio la barra dei blocchi di sinistra salga e finisca nell'header la soluzione è aggiungere un class="clear" al div che gestisce la regione dei blocchi es.

<div id="sidebar_left" class="clear">codice per la stampa della regione</div>

Stessa cosa puoi fare con una classe di un div, in questo caso aggiungi il nome della classe in più come nell'esempio sopra o quello sotto.

L'errore in IE potrebbe essere dato dai margini che hai messo 100px sono eccessivi, se sommi i margini di due soli "blocchi" div hai una larghezza di 400px, quindi dove lo metti il testo?

Un idea che potrebbe funzionare è:

<div class="contatti1">
<p>Pinco Pallino </p>
<p>Email: bla bla</p>
ecc..
</div>
<div class="contatti">dati contatti</div>
<div class="contatti1 clear">dati contatti</div>
<div class="contatti">dati contatti</div>

Volendo al nome per dargli una rilevanza maggiore si potrebbe racchiudere in un h3. Poi nel css:

.contatti1{margin-right:20px;}
.contatti, .contatti1{float: left; width: 250px; height: 250px; display:block;}
.clear{clear:both;} <---- questo se non c'è già nel tema

krima wrote:

Il clear: both; non va messo, la maggior parte dei temi all'interno ha una classe chiamata clear codice: .clear{clear: both;} o una con un altro nome simile che ha lo stesso scopo.

Quando lavori sul tema può capitare che ad esempio la barra dei blocchi di sinistra salga e finisca nell'header la soluzione è aggiungere un class="clear" al div che gestisce la regione dei blocchi es.


Non c'è bisogno. Drupal 6 utilizza una classe apposita per il clear both: si chiama clear-block

@KIPPER
:D , originale ?...uh uh, mi sono accorto ora che i popup erano schifianti di traverso.

@KRIMA
hai perfettamente ragione, qui siamo in 2 a capire 1/2 di quello che scrivete.. cmq ti ringrazio faccio una 2a prova con questi ultimi codici(se riesco in serata).

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

Quote:

Lorenzo wrote:
@KIPPER
:D , originale ?...uh uh, mi sono accorto ora che i popup erano schifianti di traverso.

Ma si... è ovvio che ho capito che c'era da aggiustare qualcosa... intendevo l'originalità del popup! ...poi i dettagli si sistemano...

Quote:

Peppigno wrote:
Non c'è bisogno. Drupal 6 utilizza una classe apposita per il clear both: si chiama clear-block

Ma allora! ...questo clear: both; si può mettere nei CSS dei template personalizzati oppure no? ...ci tengo a precisare che io lo assegno soltanto agli "ID" e mai alle classi comunque, in ogni caso, non ho mai riscontrato problemi... eventualmente illuminami su potenziali pericoli...

Ciao
Kipper

Peppigno wrote:
Non c'è bisogno. Drupal 6 utilizza una classe apposita per il clear both: si chiama clear-block

Sicuro?

Io la ho trovata solo nel default.css messo così:

/*
** Markup free clearing
** Details: http://www.positioniseverything.net/easyclearing.html
*/
.clear-block:after
{
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clear-block {
  display: inline-block;
}
/* Hides from IE-mac \*/
* html .clear-block {
  height: 1%;
}
.clear-block {
  display: block;
}
/* End hide from IE-mac */

La classe clear-block lo trovate nel codice html dei file php, non nei file css.
Basta che assegni ad un qualunque tag la class="clear-block" e automaticamente ti si genera il clear: both per quell'elemento.

eh mi sà che peppigno cià ragione: sparivano troppo bene le righe..
devo riprovare come dice krima ma senza i clear.

kipper : ho fatto il blank perchè i popup sennò dovevo farli da 900 per usarli (sarebbe bello fare il Pop_up senza la testa e la barra laterale della pagina, quasi fosse un page-form, magari colorato, a sè stante)
---------------prova2-----------
con IE 6 fà la lista
con firefox si vede
Problema : con CK visuale si rischia di sovrascrivere e spostare i div : i contenuti vanno messi a mano in html ...., perchè quelli che compilo con l'editor in visuale fanno lo stesso scherzo = lista verticale
questo con/senza clear both
il tema ha anche gli stili per IE6 e per IE7 : bisogna toccarli ?

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

Peppigno wrote:
La classe clear-block lo trovate nel codice html dei file php, non nei file css.
Basta che assegni ad un qualunque tag la class="clear-block" e automaticamente ti si genera il clear: both per quell'elemento.

La cosa è interessante e risparmierebbe qualche riga di CSS, però prima di postare avevo provato a levare i clear in un tema che sto preparando e sostituirli con clear-block ma non funzionavano.
Ora per scrupolo ho rifatto di nuovo una prova con lo stesso risultato.

Da questa pagina http://drupal.org/node/135098 mi par di capire che per funzionare c'è bisogno di un blocco vuoto con la classe clear-block

Quote:

Sometimes, you need to insert an emPty block of this class after some relative positioned content.

Ho capito male qualcosa?

SI riesce : bisogna non fare copia/incolla coi testi e fare modifiche una per una : ok con CK EDITOR in visuale.

codici tuoi ok :

<div class="contatti1">
<p>Pinco Pallino </p>
<p>Email: bla bla</p>
ecc..
</div>
<div class="contatti">dati contatti</div>
<div class="contatti1 clear">dati contatti</div>
<div class="contatti">dati contatti</div>
Volendo al nome per dargli una rilevanza maggiore si potrebbe racchiudere in un h3. Poi nel css:
.contatti1{margin-right:20px;}
.contatti, .contatti1{float: left; width: 250px; height: 250px; display:block;}
.clear{clear:both;} <---- questo se non c'è già nel tema

però in IE6 restano una lista Verticale...

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

Il problema potrebbe essere dato dalla larghezza complessiva data i blocchi 250+250+20=520px se lo spazio per il contenuto centrale è largo 519px IE6 di solito fa due cose, una è "allargare" la pagina l'altra è mandare tutto a capo.

anche questo è vero, quindi provo 220 x 220 .
bip.

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

Ok, sono pronto ad essere spernacchiato, ma sento di aver la forza per sopportarlo :D

La questione è questa: come faccio a modificare l'html di una pagina dupal, se NON HO NESSUNA pagina in html nel mio sito !?!?

Riavvolgo il nastro: anche io volevo inserire un po' di informazioni ("potete scrivermi quando volete e questo è il mio numero di telefono ...." ) nella pagina http://www.webatu.com/?q=contact

Mi è sembrata una soluzione semplice quella di aggiungere un po' di html alla pagina,ma...
dato che drupal ricrea l'html partendo dai dati delle tabelle nel database, come faccio?
Dovrebbe centrare una tabella che contiene i nodi?
Magari anche il file node-contatti.tpl.php ?

Grazie.

Andrea

Ripropongo la domanda...

Andrea