[Risolto] Temizzare form inserimento nodo

7 contenuti / 0 new
Ultimo contenuto
[Risolto] Temizzare form inserimento nodo

Ho letto un po' qua e là ma sto ancora in alto mare
Esiste un modo "semplice" per temizzare controllando ogni singolo elemento il form di inserimento di un tipo di contenuto creato con CCK?
Con Webform, basandomi sull'ID del form creo il tpl e poi con <?php print drupal_render ( $form... gestisco ogni singolo elemento.
Uso Drupal 7. Grazie per le eventuali risposte :-)

Parzialmente risolto così:

<?php
/**
 * Implements hook_theme().
 */
function Asunis_theme($existing, $type, $theme, $path) {
 
$base = array(
   
'render element' => 'form',
   
'path' => drupal_get_path('theme', 'Asunis') . '/templates',
  );
  return array(
   
'article_node_form' => $base + array(
     
'template' => 'article--node--form',
    ),
  );
}
/**
 * Preprocessor for commerce_checkout_form_checkout theme.
 */
function Asunis_preprocess_article_node_form(&$variables) {
 
/* Add or modify your variables */
}
?>

in template php, e poi in article--node--form:

<?php
 
// Render or hide parts of $form: var_export($form);
  // Example given:
 
print render($form['title']); ?>

<?php
 
print render($form['field_tags']);
 
?>

<?php
 
// Render remaining form elements as usual.
 
print drupal_render_children($form);
?>

Ora non so come aggiungere un secondo TPL per un altro tipo di contenuto. Duplicando la function Asunis_theme e modificando gli altri parametri ottengo errore

Il mio primo sito con Drupal: www.paolosotgiu.org

No, la funzione _theme resta una sola. Al suo interno, devi aggiungere una entry all'array che ritorni

Thank. Non sono un programmatore, ho realizzato qualche applicazione in asp anni fa ma con php sto messo male :-(
Cos'è una entry in php ? Hai qualche rif. o link da passarmi?

Invece mi sfugge l'utilità di questa funzione:

function Asunis_preprocess_article_node_form(&$variables)

Il mio primo sito con Drupal: www.paolosotgiu.org

Ho trovato questo: http://drupal.org/node/1363644#comment-5397304

function mytheme_theme($existing, $type, $theme, $path){
$hooks['user_login']=array(
'render element'=>'form',
'template' =>'templates/user-login',
);
$hooks['user_register']=array(
'render element'=>'form',
'template' =>'templates/user-register',
);
$hooks['user_pass']=array(
'render element'=>'form',
'template' =>'templates/user-pass',
);
return $hooks;
}
function mytheme_preprocess_user_register(&$variables){
$variables['rendered'] = drupal_render_children($variables['form']);
print_r($variables);exit;
}

Molto interessante. Domanda (magari domani farò delle prove)...
Sembra funzionare richiamando il nome univoco del form, o sbaglio?

Il mio primo sito con Drupal: www.paolosotgiu.org

Testato, sembra funzionare perfettamente :-)

<?php
function asunis_theme($existing, $type, $theme, $path){
$hooks['page_node_form']=array(
'render element'=>'form',
'template'     =>'templates/page--node--form',
);
$hooks['article_node_form']=array(
'render element'=>'form',
'template'     =>'templates/article--node--form',
);
return
$hooks;
}
function
asunis_preprocess_user_register(&$variables){
$variables['rendered'] = drupal_render_children($variables['form']);
print_r($variables);exit;
}
?>

Unica nota (ma perché??) se l'ID del form è page-node-form occorre modificarlo così: page_node_form

Il mio primo sito con Drupal: www.paolosotgiu.org

L'ID page-node-form è quello del form nel documento HTML; l'ID page_node_form è quello del modulo al'interno della Forma API di Drupal.