Упорядкувати типи вмісту в ("/ вузол / додати")


12

Чи є спосіб упорядкувати типи вмісту, показані у вузлі / додаванні?

Відповіді:


18

Так! Просто відредагуйте меню "Навігація" (за адресою / адміністратор / структура / меню / управління / навігація) та переупорядкуйте записи меню в розділі "Додати вміст". Тепер, коли ви перейдете до / node / add, вони з’являться в будь-якому порядку, який ви встановите в меню «Навігація». Приклад знімка екрана нижче. У / node / add вони з’являться як Основна сторінка, а потім Стаття.

введіть тут опис зображення


о, дорогий, як я міг це пропустити. Почуття дурного ...
whitefleaCH

ні, єдиною причиною я зрозумів, що ти можеш це зробити, - відповівши на інше питання кілька днів тому ... якби ти на цьому тижні запитав, я б і не мав уявлення :)
Chaulky

Тут лише додаткове запитання: меню Додати вміст добре перепорядковане в меню Nav, але у верхньому меню адміністратора порядок все ще є в алфавітному порядку. Будь-яка порада про упорядкування записів Додати вміст у меню адміністратора? Дякую.
Токі

2

Для цього вам доведеться вдатися до спеціального модуля, оскільки алфавітне впорядкування важко закодовано у функцію зворотного виклику сторінки 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ключа для оригінального пункту меню, що ніколи не викликає задоволення.

Вам потрібно буде реалізувати власну сторінку адміністрації, якщо ви хочете змінити замовлення через інтерфейс користувача.


Дякую Клайву. Я просто думав, що може бути інакше.
fndtn357
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.