J'essaie de créer un formulaire de nœud pour un type personnalisé. J'ai des groupes organiques et une taxonomie activés, mais je veux que leurs éléments sortent dans un ordre non standard. J'ai donc mis en œuvre (j'ai deux vocellement, il est donc déjà rendu en tant que champique) mais cela n'a pas fonctionné non plus. P> Je fixe le poids de mon Module très élevé et confirmé dans la table du système qu'il s'agit bien du module le plus élevé sur le site, alors je suis tout à fait des idées. Toute suggestion? P> Bien que je ne sais pas exactement comment, j'ai réussi à faire connaître la taxonomie de sombrer en dessous de tout le reste, mais Maintenant, j'ai un problème connexe qui, espérons-le, plus gérable pour comprendre. Dans le cadre de la taxonomie, j'ai deux éléments (une balises et une sélection multiple), et je voulais ajouter des instructions dans Hook_Form_alter comme suit: p> Vous le devinez, Cela apparaît après em> les termes insérés par le module de taxonomie. Toutefois, si je changez ceci sur un fichier de champs: p> alors il flotte par magie au sommet comme étant voulu. J'ai aussi essayé Texarea (cela a également travaillé) et dis explicitement le marquage (cela n'a pas non plus). P> Donc, de modifier le type de "marquage" (la valeur IIRC par défaut) sur "champiquet" a l'effet de non tout ignorer son poids. P> p> Hook_form_alter Code> et définissez la propriété
# poids code> de la sous-réseau
og_nodeapi code> sur -1000, mais cela passe toujours après la taxonomie et le menu. J'ai même essayé de changer la banane vers un fielf (pour le forcer à être rendu), mais pas de dés. J'ai aussi essayé de définir
6 Réponses :
Je ne comprends pas tout à fait ce que vous voulez réaliser. Pourriez-vous peut-être clarifier? Voulez-vous modifier la position de la liste déroulante de la taxonomie sur la page?
Dans la période moyenne, vous pouvez installer le Drupal Module Devel (si vous ne l'avez pas encore fait). Ensuite activez "Touches d'élément de formulaire d'affichage et poids" à partir d'admin> Paramètres de développement. P>
Cela devrait vous aider à déboguer votre problème. P>
Modifier après la rétroaction: strong> P> Je l'ai regardé d'autres. Le poids de la taxonomie est défini dans la taxonomie.Module sur la ligne 556 (Drupal 6.12): P> function mymodule_form_alter(&$form, $form_state, $form_id) {
...
$form['taxonomy']['#weight'] = -9;
...
}
Bonjour Heinrich, oui, j'essaie de changer la position de la baisse de la taxonomie. Je n'ai pas de devel mais je vais l'installer ce soir et faire rapport. Merci!
Bonjour Heinrich, j'ai installé Devel et j'ai vérifié les poids. Tout semble être tel que je voulais, mais les champs ne sont pas arrangés par ordre croissant du poids. Le premier champ de bord est la taxonomie, qui a un poids de 1000. Le deuxième est le menu (-2), puis le contour du livre (10). Il y en a un couple de plus, puis des pièces jointes (30), des informations de création (20) et des informations de publication (25). Donc, ce n'est pas seulement les champs que j'ai ajoutés qui sont hors de l'ordre, mais aussi les principaux. Hook_form_alter est-il trop tard pour changer l'ordre des champs existants?
Merci pour la clarification de Devel. Je suis tout à fait sûr que Hook_form_alter s'appelle après Taxonomy_form_alter, car je peux voir tous les éléments de taxonomie ajoutés de mon crochet.
Cela semble assez étrange car la manipulation des éléments de formulaire ' Pour clarifier, si vous avez une hiérarchie, P> # poids code> fonctionne toujours de manière fiable pour moi comme annoncé. Une chose à noter, cependant, est que les poids n'affectent que l'ordre par rapport aux éléments des éléments em>, donc si l'élément que vous souhaitez déplacer est sur un niveau inférieur à celui des autres éléments, vous " D devoir changer le poids de l'élément parent qui se trouve au même niveau que ceux que vous souhaitez déplacer contre.
$form['taxonomy']['instructions'] = array(
'#value' => "<p>These are the instructions</p>",
'#weight' => -1,
);
Hmmm ... j'ai eu CCK activé à la fois, mais je l'ai désactivé. Peut-être que c'est pourquoi mon usecase d'origine travaille maintenant? Mais comme je l'ai dit dans la description mise à jour, j'ai maintenant un autre problème similaire mais plus facile à reproduire.
Cette entreprise avec #Markup Inside Tableaux est une vraie wtf ... merci de le mentionner ici; Cela m'a sauvé un peu de déchirure de déchirure!
J'ai également eu ce problème en raison de l'ordre des frères et sœurs des éléments. Eu une idée de votre réponse qui a sauvé mon temps. Merci
Avez-vous spécifié le poids d'un autre champ et maintenant votre formulaire de noeud n'est pas organisé correctement? La forme API est un peu délicate et la modification de la forme peut entraîner des choses se mêler. Il faut parfois réaffecter un poids à mes boutons Soumettre / Aperçu pour les récupérer au bas du formulaire où ils appartiennent. P>
Juste pour couvrir toutes les bases, assurez-vous que vous nettoyez votre cache si nécessaire. Les magasins Drupal se forment dans son cache par défaut, si vous avez le module de mise en cache activé. P>
Merci - j'avais handicapé la mise en cache. Heinrich semble avoir cloué le cloué.
Parfois (ou toujours, lors de la pondération des éléments CCK), la ligne qui fonctionne dans votre rack_form_alter ou $ formulaire ['# après_build'] est celui-ci:
$form['#content_extra_fields']['taxonomy']['weight'] = 5;
Ceci est la réponse vraie i> à cette question
voulait insérer un
$form['you_as_reviewer']['ui_container'] = array(
'#type' => 'markup',
'#prefix' => '<div>',
'#value' => '<div id="le_reviewer_tags_ui"/>',
'#suffix' => '</div>',
'#weight' => 5,
);
Essayez-vous de modifier la commande sur le formulaire ou sur la page rendue. Je ne pense pas que la forme de crochet, Alter changera pour les deux.
Mise à jour de ma réponse ci-dessous, en ajoutant une autre raison possible lors de la course avec le module CCK installé.
Bonjour Adrian, j'ai mis à jour ma réponse à nouveau pour répondre à votre dernière modification.