2015-03-31 148 views
0

我正在爲drupal 7中的站點地圖編寫自定義模塊。我所做的是以下。站點自定義模塊

function escorts_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 escorts_sitemap_content() 
    { 
    $output = "<h1>Escorts Sitemap</h1>"; 
    $output .= "<ul class=\"site_map_list\">"; 
    $output .= sitemap_render_menu(menu_tree_all_data("main-menu")); 
    return $output; 
    } 
function escorts_sitemap_menu() 
    { 
    $items = array(); 
    $items["sitemap"] = array (
    "title" => "Escorts Sitemap", 
    "page callback" => "escorts_sitemap_content", 
    "access arguments" => array("access content"), 
    "type" => MENU_CALLBACK); 
    return $items; 
    } 

然後在我的template.php實施hook_theme過,下面是代碼:

function escorts_theme() { 
return array(
'escorts_sitemap_content' => array(
    'render element' => 'content', 
    'template' => 'page--sitemap', 
    'path' => drupal_get_path('theme', 'escorts') . '/templates' 
), 
); 
} 

但它沒有出現,因爲我有我的自定義模板文件page--sitemap.tpl.php,任何一個可以請指導我。但是現在我應該怎麼寫page--sitemap.tpl.php爲了使我的網站地圖

回答

0

也許你應該下一個嘗試:

function escorts_theme() { 
    return array(
     'escorts_sitemap_content' => array(
     'variables' => array('content' => NULL) 
     /** 
      * I would not call template like this, cause it looks like 
      * pattern page--[node-type] 
      */ 
     'template' => 'page--sitemap', 
    ) 
    ); 
    } 

和菜單回調函數

function escorts_sitemap_content() { 
    $output = "<h1>Escorts Sitemap</h1>"; 
    $output .= "<ul class=\"site_map_list\">"; 
    $output .= sitemap_render_menu(menu_tree_all_data("main-menu")); 
    return theme('escorts_sitemap_content', $output); 
} 

裏面這是一種方式。另外看看預處理函數和Drupal主題層。也許就緒模塊XML站點地圖將是有用的。另外要小心,如果文件真的在那裏。

而且在模板文件只貼上

<?php print $content; ?> 

問候