aggiunta di markup ad un form

5 contenuti / 0 new
Ultimo contenuto
aggiunta di markup ad un form

Ciao a tutti, vi espongo il mio problema. Ho installato il modulo simplenews e nella sezione relativa alla creazione di una newsletter mi trovo una pagina con un form. Questo form è composto da diversi elemnti:

<form id="simplenews-admin-types-form" method="post" accept-charset="UTF-8" action="/admin/content/simplenews/types/add">
  <div>
    <div id="edit-name-wrapper" class="form-item">...</div>
    <div id="edit-description-wrapper" class="form-item">...</div>
    <div class="textarea-identifier description">...</div>
    <div id="edit-weight-wrapper" class="form-item">...</div>
    <fieldset>...</fieldset>
    <fieldset>...</fieldset>
   <fieldset>...</fieldset>
   <input id="edit-vid" type="hidden" value="1" name="vid">
   <input id="form-ee1c68dbb83be7012ab85ce953f2e5b6" type="hidden" value="form-ee1c68dbb83be7012ab85ce953f2e5b6" name="form_build_id">
   <input id="edit-simplenews-admin-types-form-form-token" type="hidden" value="363902efd8767197826087986e7a1030" name="form_token">
   <input id="edit-simplenews-admin-types-form" type="hidden" value="simplenews_admin_types_form" name="form_id">
   <input id="edit-submit" class="form-submit" type="submit" value="Salva" name="op">
  </div>
</form>

Quello che vorrei è aggiungere del codice css in linea o una classe o un id al tag a seconda che l'utente abbia un ruolo piuttosto che un altro.
Nel modulo simplenews/includes/ si trova questo file "simplenews.admin.inc" e alla riga 186 vi è il codice:
$form['subscription'] = array(
    '#type' => 'fieldset',
    '#title' => t('Subscription settings'),
    '#collapsible' => false,

che genera un aparte del contenuto del primo e in cui io vorrei inserrie il mio codice per il css. Come posso fare ciò?
Grazie a tutti.

Drupal Version:

Ciò che posso dirti è che non cambierei assolutamente il codice di un modulo.
Una idea protrebbe essere di lavorare creando un nuovo css ed agganciarlo con if al template.php con un hook preprocessor_page.
Devi studiare come si fa.
Giovanni

Ciao giovanni, ho visto che la funzione che genera l'output dei fieldset nei form è la segunte:

function theme_fieldset($element) {
  if (!empty($element['#collapsible'])) {
drupal_add_js('misc/collapse.js');
if (!isset($element['#attributes']['class'])) {
  $element['#attributes']['class'] = '';
}
$element['#attributes']['class'] .= ' collapsible';
if (!empty($element['#collapsed'])) {
  $element['#attributes']['class'] .= ' collapsed';
}
  }
  if (($_SERVER["REQUEST_URI"] == '/admin/content/simplenews/types/add')) {
return '<fieldset'. drupal_attributes($element['#attributes']) . '>'. ($element['#title'] ? '<legend>'. $element['#title'] .'</legend>' : '') . (isset($element['#description']) && $element['#description'] ? '<div class="description">'. $element['#description'] .'</div>' : '') . (!empty($element['#children']) ? $element['#children'] : '') . (isset($element['#value']) ? $element['#value'] : '') ."</fieldset>\n";
}
}

ora la copio nel mio themplate.php e e cambio theme_fieldset con miotema_fieldset così da poter fare l'override. Ora però come posso creare dei "if" in modo da gestire solo il $form['subscription'] (di simplenews) in base al ruolo dell'utente?

Mentra la tua soluzione come agirebbe, dove potrei documentarmi?

Il duro lavoro fatto con passione, ripaga sempre!!!!

Ho iniziato da quì http://bit.ly/S1bH2s ma poi non è che sono andato tanto avanti.
Ciao.

Giovanni ho risolto grazie mille del tuo preziosissimo aiuto!!!!! :-)

Il duro lavoro fatto con passione, ripaga sempre!!!!