2011-01-31 64 views
0

我需要定义$链接输出 的顺序,现在我有2个模块上显示的内容: 意见和前页 我在哪里可以定义的顺序和修改它是节点设置... 甚至可以自定义一点点显示?

回答

0

编辑:链接的权重可以用http://drupal.org/project/linkweights

我不知道有什么样的UI为重新排序/定制节点的链接进行更改。 但是,您可以通过几种方法实现此目的:

创建一个自定义模块,该模块实现hook_link_alter()并执行自定义。

/** 
* hook_link_alter() implementation 
* for more details see 
* http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_link/6 
* http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_link_alter/6 
*/ 
function mymodule_link_alter(&$links, $node) { 
    foreach ($links as $link => $values) { 
    // do something with $link 

    } 
return $links; 
} 

你可以更进一步,并创建一个管理页面,将让所有的链接,他们的可分类表输出(LA /管理/构建/块),并保存在一个变量的顺序。啊,你的模块需要具有最高的权重才能捕获所有其他链接。

- 或 -

修改你的主题的template.php文件,并添加mytheme_preprocess_node()函数,或者如果它存在

function phptemplate_preprocess_node(&$vars) { 
    $links= $vars['node']->links; 
    // uncomment the next line to see the current links 
    //var_dump($links); 

    // add a new link 
    $link_all = array(
    'title' => 'See all nodes', 
    'href' => PATH, 
    //'attributes' => array('class' => 'link_class', 'id' => 'link_id', 'title' => 'link title'), 
); 
    $links['link_all'] = $link_all; 

    //Modify an existing link. in this case the above added one 
    $links['link_all']['title'] = t('This is my custom text'); 

    $vars['links'] = theme_links($links); 
} 

要重新排序看到编辑或phptemplate_preprocess_node()http://drupal.org/node/44435#comment-861385