2009-03-18 8 views
2

Dans mon fichier template.php j'ai ceci:une forme d'entrée de CCK dans Drupal 6

function myadmintheme_theme(&$existing, $type, $theme, $path) { 
    return array(
    'node_form' => array(
     'arguments' => array('form' => NULL), 
     'template' => 'ccktype', 
    ), 
); 
} 

Et j'ai un ccktype.tpl.php dans le même répertoire:

<b>works!</b> 

Mais ne fonctionne pas, si j'entre dans node/add/ccktype je n'obtiens pas le "works!" message .. J'ai tout essayé!

toute aide serait appréciée

Répondre

5

La fonction de thème que vous devez remplacer est ccktype_node_form, pas node_form. Toutes les formes de noeud gérées par le module de noeud sont mappées à la fonction node_form pour la construction, mais elles ont toujours des identifiants de forme uniques.

+0

J'ai essayé cela aussi, mais n'a pas fonctionné.J'ai oublié de dire que dans le "Thème de l'administration" y cochez "Utiliser le thème de l'administration pour l'édition de contenu" (c'est évident) – pera

+0

, Je n'ai pas remarqué cela, mais il y a un très petit changement dans le style quand j'utilise ccktype_node_form: D Il n'est pas impression "WORKS!", Mais est mieux que rien; D – pera

+0

hey, travaille maintenant! Je t'aime !!! xD – pera

0

Tout d'abord, voir que Drupal n'est pas la mise en cache de votre module. Allez dans Administrer> Configuration du site> Performances et effacez tous les caches.

Si cela ne fonctionne pas, essayez de renommer le fichier en node-add-ccktype.tpl.php.

+0

merci, mais fonctionne pas ... il est étrange, non? – pera

+0

Ouais, je ne sais vraiment pas ... J'ai aussi eu des problèmes avec ce thème. Désolé, je ne peux plus vous aider :( – Seb

1

C'est la solution:

function myadmintheme_theme($existing, $type, $theme, $path) { 
    return array(
    'ccktype_node_form' => array(
     'arguments' => array('form' => NULL), 
     'template' => 'ccktype', 
    ), 
); 
} 

merci beaucoup Eaton!

+0

Si Eaton vous a aidé, alors s'il vous plaît marquez sa réponse comme correcte, cela aidera les autres à trouver ce problème résolu et accordera des points de réputation Eaton pour avoir aidé :) – Seb

1

Il a commencé à travailler pour moi mais après une série d'essais. :) J'utilise Drupal 6 & J'ai fait l'erreur d'écrire du code pour Drupal 5. J'ai utilisé form_render (qui est destiné à D5) au lieu de drupal_render (pour D6), dans mon node-minister-edit.php.

Et le prochain changement de template.php était fonction

waffles_theme($existing, $type, $theme, $path){ 
    return array('minister_node_form' => array('arguments' => array('form' => NULL), 'template' => 'node-minister-edit')); 
} 

Voir l'argument de tableau template est changé minister-node-minister-edit qui est mon noeud fichier modèle spécifique. Ici, dans minister_node_form, le premier mot «ministre» est mon type de contenu.

Et en tant que Seb dit que j'ai effacé les caches avant de commencer à utiliser un tel changement. Hope this helps autres :)

Les éléments suivants me ont aidé:
1. http://drupal.org/node/601646
2. http://drupal.org/node/98253

Questions connexes