Drupal out of the box viene fornito con una pagina (che è la homepage predefinita) che viene assegnata al percorso del nodo .
Come posso evitare che gli utenti lo raggiungano e li reindirizzino alla pagina iniziale effettiva del sito?
Drupal out of the box viene fornito con una pagina (che è la homepage predefinita) che viene assegnata al percorso del nodo .
Come posso evitare che gli utenti lo raggiungano e li reindirizzino alla pagina iniziale effettiva del sito?
Risposte:
Non esiste un modo semplice per nascondere quella pagina. Se non lo si utilizza, è possibile implementare hook_menu_alter () e rimuoverlo completamente oppure impostare il callback di accesso su FALSE
.
Creare un alias percorso che reindirizzi da / node alla pagina che si desidera utilizzare come prima pagina.
Preferisco modificare il callback della pagina di / node in modo che mostri un errore 404 Page.
Questo mostra sempre la tua pagina 404 personalizzata quando accedi / nodo.
function yourmodule_menu_alter(&$items) {
$items['node']['page callback'] = 'drupal_not_found';
}
Simile alla risposta berdirs, ho il seguente codice incluso in un modulo che fa parte di una distribuzione personalizzata da cui costruiamo:
function HOOK_menu_alter(&$items) {
$items['node']['page callback'] = '_HOOK_empty_home';
}
function _HOOK_empty_home() {
drupal_set_title('');
return '';
}
In questo modo posso mantenere il percorso 'nodo' come prima pagina e usare il contesto per posizionare i blocchi per costruire la prima pagina richiesta.
La soluzione semplice per me era creare una pagina che volevo essere la home page e impostare l'URL su / nodo. Quindi in / admin / config / system / site-information imposta la prima pagina predefinita su / node. Non vedi mai "/ node" nell'URL a meno che qualcuno non lo scriva realmente. È veloce, facile e pulito, a condizione che tu voglia impostare l'URL della tua homepage su / node.
Ho provato più cose. Quindi per Drupal 7 e 8, ho scoperto che questo è molto semplice, senza scrivere alcun codice:
scarica e abilita i moduli node_page_disable, globalredirect e reindirizzamento.
(Nota: il modulo node_page_disable reindirizza / nodo alla pagina di errore 404 non trovata.)
quindi aggiungere un reindirizzamento per / nodo -> pagina iniziale
Notare che il reindirizzamento reindirizza entrambi / node e / node / alla prima pagina.
e un articolo utile da leggere: https://www.drupalaid.com/blog/3-things-you-should-hide
drush @example.com views-disable frontpage
la disattiverà. Otterrà comunque un 404 fino a quando le altre cose non saranno completate.
Crea un nodo, quindi vai alla configurazione del sito -> informazioni sul sito e imposta la home page sul percorso del nodo. Quindi se è il tuo primo nodo, sarebbe node / 1.
Modifica: per impostazione predefinita, semplicemente creando un nodo tale pagina scompare se si seleziona "promuovi in prima pagina". Il passaggio delle informazioni sul sito renderà quel nodo la tua prima pagina effettiva.
/node
è ancora raggiungibile, non sarà visibile per impostazione predefinita
Puoi utilizzare il modulo Regole per controllare l'URL prima di visualizzare una pagina e reindirizzare gli utenti a un'altra pagina, se lo desideri.
Domanda popolare di alcuni anni fa, con già alcune risposte interessanti. Tuttavia, indovina un po ': "In questi giorni c'è un modulo per questo ... in realtà anche due!" (non menzionato in nessuna delle risposte precedenti).
Continua a leggere per maggiori dettagli ... (le citazioni sono dalle pagine dei loro progetti) ...
Amministratore pagina nodo (D6 o D7):
Questo modulo aggiunge un pannello delle impostazioni di amministrazione per gestire / nodo l' accesso alla pagina. Una volta attivato, ci sono tre configurazioni possibili:
- Core - Drupal core gestirà l'accesso alla pagina del nodo come al solito: tutti gli utenti con permesso di "accesso al contenuto"
- Disabilitato: nessuno sarà in grado di accedere / nodo. Restituirà 'Pagina non trovata' (404).
- Per autorizzazione: l'accesso verrà gestito da una nuova autorizzazione: "pagina nodo di accesso"
Pagina nodo disabilitata (D6 o D7, anche se solo versioni rc2):
Consente un facile accesso all'interfaccia utente e la disabilitazione del percorso / nodo quando non utilizzato. Ciò è stato ispirato da una considerazione di sicurezza nel modulo di controllo della produzione .
il modo migliore è nascondere i nodi dalla funzione template_preprocess_page
function template_preprocess_page(&$variables) {
if ($variables['is_front'] == 1) {
if (isset($variables['page']['content']['system_main'])) {
unset($variables['page']['content']['system_main']);
}
}
}