Zarówno Drupal 6 jak i 7 mają pewną specyfikę dotyczącą stron głównych i tego, co się na nich znajduje. Oba systemy świeżo po zainstalowaniu, a czasem nawet sporo dłużej raczą użytkowników pewnymi domyślnymi tekstami. Tak więc w przypadku wersji 6 widzimy I tak powstała nowa drupalowa witryna! a 7 Nie opublikowano jeszcze żadnej treści na stronie głównej. - któtszy i bardziej "zjadliwy".

Teskty te można zobaczyć do momentu, gdy nie zostanie umieszczona treść z opcją publikacji .... Z tego co jednak zauważyłam wiele osób nie używa tego typu opcji, przerzucając zarządzanie listingami node'ów np. na viewsy. Pewnie z tego powodu Drupal udostępnił ciekawą opcję pozwalającą na określenie adresu nowej strony głównej. W wersji 7 można znaleźć ją pod adresem /admin/config/system/site-information, w Drupalu 6 natomiast /admin/settings/site-information. Dzięki temu nawet bez promowanej treści użytkownik odwiedzający stronę główną zobaczy dokładnie to co ma zobaczyć.

Jest tylko jedno "ale". Pod adresem /node nadal znajduje się powitalny tekst wymieniony wcześniej. Będzie się on pokazywał tak długo, aż jakakolwiek treść nie zostanie opublikowana na głównej.

Powstaje więc konkretne pytanie jak można temu zaradzić.

Osobiście używam dwóch sposobów, zależnie od tego, co ma się znajdować na mojej stronie głównej. Pierwszym i bardziej wymagającym jest nadpisanie odpowiedniej ścieżki w Drupalu, za pomocą hooka hook_menu(), w swoim własnym module. Kod dla wersji 6 i 7 jest taki sam.

<?php
/**
 * Implements hook_menu().
 */
function mymodule_menu() {
  $items['node'] = array(
    'title' => 'Page not found',
    // drupal_not_found() zwraca oczywiście informacje
    // o błędzie 404
    'page callback' => 'drupal_not_found',
  );
  return $items;
}

Drugi ze sposobów wykorzystuję w momencie, gdy na stronie głównej mam wyświetlaną treść za pomocą viewsów, a typ wyświetania jest ustawiony na "strona". W takim przypadku nie trzeba nawet nic zmieniać w konfiguracji systemu. Drupal automatycznie nadpisze domyślną strukturę strony stworzonym przez nas viewsem.

Zapewne istenieją jeszcze inne metody na usunięcie domyślnych napisów z głównej strony serwisu i strony /node. W moim przypadku jednak jeszcze nigdy nie musiałam szukać alternatyw, ponieważ wymienione metody dają sporo możliwości.

Dodaj komentarz