Riordina i tipi di contenuto in ("/ node / add")


12

C'è un modo per riordinare i tipi di contenuto mostrati sul nodo / aggiungi?

Risposte:


18

Sì! Modifica semplicemente il menu "Navigazione" (in / admin / struttura / menu / gestisci / navigazione) e riordina le voci del menu in "Aggiungi contenuto". Ora quando vai su / nodo / aggiungi appariranno nell'ordine in cui li hai impostati nel menu "Navigazione". Esempio di schermata qui sotto. In / nodo / aggiungi appariranno come Pagina di base, quindi Articolo.

inserisci qui la descrizione dell'immagine


oh caro come potrei perdere questo. Sentirsi stupidi ...
whitefleaCH

no, l'unica ragione per cui ho capito che potevi farlo era rispondendo a una domanda diversa qualche giorno fa ... se l'avessi chiesto questa settimana scorsa non ne avrei avuto idea :)
Chaulky

Solo una domanda complementare qui: il menu Aggiungi contenuto è ben riordinato nel menu Nav, ma nel menu di amministrazione superiore, l'ordine è ancora alfabetico. Qualche suggerimento per riordinare le voci Aggiungi contenuto nel menu amministratore? Grazie.
Toki,

2

Dovresti ricorrere a un modulo personalizzato per questo poiché l'ordinamento alfabetico è hard coded nella funzione di callback della pagina node_overview_types()(in realtà è costruito nel _node_types_build()quale viene chiamato da quella funzione).

Senza sapere su cosa vuoi ordinare è abbastanza difficile dare una risposta completa ma inserirò il codice scheletro in:

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;
}

Assicurati di mantenere la tua funzione di richiamata nel file del modulo principale, altrimenti dovrai preoccuparti di ignorare il filetasto per la voce di menu originale che non è mai divertente.

Dovresti implementare la tua pagina di amministrazione se vuoi essere in grado di cambiare l'ordine attraverso l'interfaccia utente.


Grazie Clive. Ho solo pensato che potrebbe esserci un modo diverso.
fndtn357,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.