it-swarm.it

Come nascondo la pagina / nodo predefiniti?

Drupal out of the box viene fornito con una pagina (che è la home page predefinita) assegnata al percorso nodo.

Come posso evitare che gli utenti lo raggiungano e li reindirizzino alla pagina iniziale effettiva del sito?

22
wiifm

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.

17
Berdir

Creare un alias di percorso che reindirizza da/nodo alla pagina che si desidera utilizzare come prima pagina.

8
kiamlaluno

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';      
}
6
Marc Bachmann
<?php
function MY_MODULE_menu_alter(&$callbacks) {
unset($callbacks['node']);
}
?>

o aggiungilo a settings.php (URL inbound stuff)

<?php
function custom_url_rewrite_inbound(&$result, $path, $path_language) {
  if ($path == 'node') {
    $result = ''; 
  }
}
?>
4
AyeshK

Ho usato il modulo Redirect : ho appena aggiunto un nuovo reindirizzamento 301 da node a <front>.

2
ACD

È possibile creare una pagina mappata su/nodo che non è pubblicata. Pertanto, gli utenti che chiameranno questo percorso avranno accesso a una pagina vietata

1
pitop

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 del 'nodo' come prima pagina e usare il contesto per posizionare i blocchi per costruire la prima pagina richiesta.

1
Decipher

Puoi creare una nuova pagina con l'URL del nodo e le persone possono vedere un messaggio che li reindirizza per visitare la prima pagina o scegliere una categoria di qualcosa.

1
Mario

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.

1
Jack McKenzie

Ho provato più cose. Quindi per Drupal 7 e 8, l'ho trovato 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

1

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) ...

Amministrazione pagina nodo (D6 o D7):

Questo modulo aggiunge un pannello delle impostazioni di amministrazione per gestire /node accesso alla pagina. Una volta attivato, ci sono tre configurazioni possibili:

  • Core - Drupal core gestirà l'accesso alla pagina del nodo come di consueto: tutti gli utenti con autorizzazione 'access content'
  • 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"

Disabilita pagina nodo (D6 o D7, sebbene solo versioni rc2):

Consente un facile accesso all'interfaccia utente e la disabilitazione del percorso /node quando non utilizzato. Ciò è stato ispirato da una considerazione di sicurezza nel Production Check Module .

0
Pierre.Vriens

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.

0
Mike L.

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.

  • Aggiungi regola con evento: Il contenuto verrà visualizzato
  • Aggiungi condizione: Esegui custom PHP e controlla il percorso
  • Aggiungi azione: Reindirizzamento pagina e scegli il percorso a cui desideri reindirizzare
0
Laxman13