Existe-t-il un moyen de réorganiser les types de contenu affichés sur le nœud / ajouter?
Existe-t-il un moyen de réorganiser les types de contenu affichés sur le nœud / ajouter?
Réponses:
Ouaip! Modifiez simplement votre menu "Navigation" (dans / admin / structure / menu / gérer / navigation) et réorganisez les entrées de menu sous "Ajouter du contenu". Maintenant, lorsque vous allez dans / node / add, ils apparaîtront dans l'ordre que vous aurez défini dans votre menu "Navigation". Exemple de capture d'écran ci-dessous. Sur / node / add, ils apparaîtront comme Page de base, puis Article.
Vous devez recourir à un module personnalisé pour cela car l'ordre alphabétique est codé en dur dans la fonction de rappel de page node_overview_types()
(il est en fait construit dans _node_types_build()
lequel est appelé à partir de cette fonction).
Sans savoir sur quoi vous voulez trier, il est assez difficile de donner une réponse complète, mais je vais mettre le code squelette dans:
function MYMODULE_menu_alter(&$items) {
// Override the default page callback for the content types page
$items['admin/structure/types']['page callback'] = 'MYMODULE_node_admin_overview';
}
function MYMODULE_node_admin_overview() {
// Get the normal page build
$default_build = node_overview_types();
// Extract the table rows from the build
$table_rows = $default_build['#rows'];
// Perform an operation on these rows to re-order them for your needs
_some_call_by_reference_sort_function($table_rows);
// Assign the newly ordered rows back to the page build
$default_build['#rows'] = $table_rows;
return $default_build;
}
Assurez-vous de conserver votre fonction de rappel dans le fichier du module principal, sinon vous devrez vous soucier de remplacer la file
clé de l'élément de menu d'origine, ce qui n'est jamais amusant.
Vous devez implémenter votre propre page d'administration si vous souhaitez pouvoir modifier la commande via l'interface utilisateur.