2009-04-15 10 views
6

Szukam modułu, który może utworzyć mapę witryny w Drupal, ale nie może znaleźć żadnego. Wypróbowałem moduł Site Map, ale może on generować tylko stronę mapy witryny; nie może utworzyć bloku mapy witryny na końcu każdej strony. Próbowałem też site menu module, ale nie mogę też utworzyć bloku mapy witryny, jak pokazano powyżej.Moduł mapy witryny Drupal

Może to po prostu nie wiem, jak skonfigurować, ale czytam każdy plik readme i próbowałem przez kilka dni, nadal nie mogę go uruchomić.

Ktoś ma jakiś pomysł?

Odpowiedz

11

Miałem ten sam problem, po wypróbowaniu modułu (mapa-strony), ale brakujące opcje dostosowywania napisałem moduł niestandardowy. Zajęło mniej czasu niż brudząc z modułu Mapa witryny, dla właśnie dostaję mapę strony następujący kod jest wystarczająco (dostosować-menu):

function sitemap_render_menu ($menu) { 
    $output = "<ul>"; 
    foreach ($menu as $item) { 
    $link = $item["link"]; 
    if ($link["hidden"]) { 
     continue; 
    } 

    $output .= "<li><a href=\"" . check_url(url($link["href"], $link["options"])) . "\">" . $link["title"] . "</a></li>"; 

    if ($item["below"]) { 
     $output .= sitemap_render_menu($item["below"]); 
    } 
    } 

    $output .= "</ul>"; 
    return $output; 
} 

function sitemap_content() { 
    $output = "<h1>Sitemap</h1>"; 
    $output .= "<span id=\"sitemap\">"; 
    $output .= sitemap_render_menu(menu_tree_all_data("your-menu")); 
    $output .= "</span>"; 
    return $output; 
} 


function sitemap_menu() { 
    $items = array(); 

    $items["sitemap"] = array (
     "title" => "Sitemap", 
     "page callback" => "sitemap_content", 
     "access arguments" => array("access content"), 
     "type" => MENU_CALLBACK); 

    return $items; 
} 
0

Mój pomysł polega na użyciu modułu Views z niestandardowym typem bloku.

5

Jest to podstawowy Porównanie modułów sitemap w http://groups.drupal.org/node/15980

Użyłem sitemenu i wyszło na moje potrzeby, ale prawdziwa odpowiedź zależy od tego, w jaki sposób zorganizować swoją stronę z typami taksonomia, treści, itd.

1

Coś takiego jak Auto Menu może również Ci pomóc. Możesz po prostu dodać menu, które generuje do bloku stopki na twojej pierwszej stronie.

+0

Niestety menu Auto nie jest dostępne dla Drupala 6 :( – Graviton

1

Dzięki modułowi Mapa strony zainstalowanego ten kod php wydrukuje mapa strony.

<?php echo theme('site_map'); ?> 

Można utworzyć pusty blok widoków i określić powyższe dla pustego tekstu, wybierając format wejściowy kodu PHP.

Może istnieć lepszy sposób tworzenia niestandardowego bloku do wyświetlania kodu php, ale go nie znam.

0

Myślę, że możesz skorzystać z modułu Menu block. ponieważ możesz tworzyć bloki menu dla wszystkich menu, których potrzebujesz w stopce. Następnie możesz dodać je wszystkie w stopce lub w jednym bloku używając bloku minipaneli (z modułu panels).

0

To jest trochę mod najlepszą odpowiedź używa bieżącego tematu, aby pokazać hierarchię

function sitemap_render_menu ($menu) { 

    $output = "<ul class='menu'>"; 

    foreach ($menu as $item) { 
     $link = $item["link"]; 
     if ($link["hidden"]) { 
      continue; 
     } 

     $cc=($item["below"]) ? "class='collapsed'" : ''; 

     $output .= "<li $cc><a href=\"" . check_url(url($link["href"], $link["options"])) . "\">" . $link["title"] . "</a>"; 

     if ($item["below"]) { 
      $output .= sitemap_render_menu($item["below"]); 
     } 

     $output .= "</li>"; 

    } 

    $output .= "</ul>"; 
    return $output; 
} 

function sitemap_content ($title,$menu) { 
    $output = "<h1>$title</h1>"; 
    $output .= "<span id=\"sitemap\">"; 
    $output .= sitemap_render_menu(menu_tree_all_data($menu)); 
    $output .= "</span>"; 
    return $output; 
} 


function sitemap_menu() { 
    $items = array(); 

    $items["sitemap"] = array (
     "title" => "Sitemap", 
     "page callback" => "sitemap_content", 
     "access arguments" => array("access content"), 
     "type" => MENU_CALLBACK); 

    return $items; 
} 

print sitemap_content("Navigational menu","Navigation"); 
0

Proste rozwiązanie, które nie zależy od treści zostały ujęte jako element menu może być osiągnięte przez:

Tworzenie nowego widoku

wyjścia jako blok

używania pól:

Tytuł utworu (skonfigurowany "Link to pole do oryginalnego elementu zawartości"

Content Type (skonfigurowany do "Wykluczenie z wyświetlaczem")

formacie jak

lista Niesformatowany z ustawieniami - Pole grupujące Nr.1 ​​wybierz Treść: Wpisz;

Filtr Criterea: Treść: Opublikowany (Tak) Typ zawartości - Konfiguruj, aby wybrać typy treści, które chcesz uwzględnić;

Kryteria sortowania - konfiguracja zgodnie z preferencjami

Powiązane problemy