Чи є спосіб упорядкувати типи вмісту, показані у вузлі / додаванні?
Чи є спосіб упорядкувати типи вмісту, показані у вузлі / додаванні?
Відповіді:
Так! Просто відредагуйте меню "Навігація" (за адресою / адміністратор / структура / меню / управління / навігація) та переупорядкуйте записи меню в розділі "Додати вміст". Тепер, коли ви перейдете до / node / add, вони з’являться в будь-якому порядку, який ви встановите в меню «Навігація». Приклад знімка екрана нижче. У / node / add вони з’являться як Основна сторінка, а потім Стаття.
Для цього вам доведеться вдатися до спеціального модуля, оскільки алфавітне впорядкування важко закодовано у функцію зворотного виклику сторінки node_overview_types()
(вона фактично вбудована в те, _node_types_build()
що викликається з цієї функції).
Не знаючи, на що ви хочете сортувати, досить складно дати повну відповідь, але я поставлю код скелета:
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;
}
Переконайтеся, що ви зберігаєте функцію зворотного дзвінка у головному файлі модуля, інакше вам доведеться возитися з перекриттям file
ключа для оригінального пункту меню, що ніколи не викликає задоволення.
Вам потрібно буде реалізувати власну сторінку адміністрації, якщо ви хочете змінити замовлення через інтерфейс користувача.