Formular Drupal

Module, teme

Moderator: Moderatori

arva2006
Junior Member
Mesaje: 41
Membru din: Lun Iun 27, 2011 1:06 am

Formular Drupal

Mesajde arva2006 » Dum Ian 05, 2014 11:23 pm

Salutate, am si eu ceva probleme la creearea unui modul cu un formular in drupal 7.

De ex. daca am un fisier style.css si unul cu un formular in care este un input text:

Cod: Selectaţi tot

<div class="label">Titlu</div>
<input type="text" class="textinput">


Pot sa folosesc cumva formularul aranjat in genul codului de mai sus sau nu?

Daca nu se poate, intr-o functie asemanatoare cu urmatoarea:

Cod: Selectaţi tot

$form['nume'] = array(
        '#type'     => 'textfield',
        '#title' => t('Nume'),
);


Orice informatie, exemple, link-uri sunt bine venite. Multumesc.

cum formatez fiecare linie separat cu clase dintr-un fisier css? (type si title).



Avatar utilizator
socu
Senior Member
Mesaje: 470
Membru din: Mie Apr 22, 2009 11:05 pm
Localitate: Marghita

Re: Formular Drupal

Mesajde socu » Lun Ian 06, 2014 1:20 pm

Cand ai pus title la un element din form se adauga un label deasupra:

Cod: Selectaţi tot

<label for="field-name">Nume</label>
<input id="field-name" ... />


Cel mai simplu e sa inlocuiesti title cu prefix:

Cod: Selectaţi tot

$form['nume'] = array(
        '#type'     => 'textfield',
        '#prefix' => '<div class="label">' . t('Name') . '</div>',
);


Obs.: in loc de t('Nume') trebuie sa fie t('Name'), pentru a traduce din engleza in romana (nu din romana in romana).

cum formatez fiecare linie separat cu clase dintr-un fisier css? (type si title).

Nu inteleg exact ce zici aici, vrei sa adaugi clasa pentru fiecare item din form? Asta se poate cu attributes.

Cod: Selectaţi tot

$form['nume'] = array(
        '#type'     => 'textfield',
        '#prefix' => '<div class="label">' . t('Name') . '</div>',
       '#attributes' => array(
           'class' => array('clasa-mea', 'clasa-mea2'),
      ),
);


Daca vrei sa produci un output mai special s-ar putea sa ai nevoie de o functie de theme (apoi poti sa folosesti pentru item #theme).

Gasesti mai multe informatii aici https://api.drupal.org/api/drupal/devel ... nce.html/7

arva2006
Junior Member
Mesaje: 41
Membru din: Lun Iun 27, 2011 1:06 am

Re: Formular Drupal

Mesajde arva2006 » Lun Ian 06, 2014 2:40 pm

Multumesc pentru raspuns. Dar cum fac legatura intre fisierul css si fisierul unde este form-ul?

Am adaugat in nume.module functia de mai jos dar nu merge.

Cod: Selectaţi tot

function nume_init() {
    drupal_add_css(drupal_get_path('module', 'nume').'/css/style.css');
    }


nici cu:

Cod: Selectaţi tot

$form['#attached']['css'] = array(
    drupal_get_path('module', 'nume') . '/css/style.css',
  );


Daca te rog explia-mi cum pot sa fac urmatorul lucru:

Deci am codul

Cod: Selectaţi tot

<div class="label">Titlu</div>
<input type="text" class="textinput">
,unde clasele sunt salvate in /css/style.css. Prima clasa "label" imi aliniaza textul, iar cea de-a 2-a "textinput" imi stilizeaza chenarul unde introduc textul (inputul de tip text).

Cum fac asta in drupal 7, cum scriu form-ul care sa aiba cele 2 clase si sa fie vizibile, adica sa se faca modificarile?


Înapoi la “Drupal”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 9 vizitatori