drupal和分类法的寻呼机问题

时间:2010-04-09 09:31:45

标签: drupal module taxonomy pager

好的,所以这可能是一个愚蠢的问题,但我想我还是会把它放在那里:
我知道这是一个简单问题的奇怪解决方案,但我需要控制分类页面中的节点列表,我觉得我没有采用传统方式。所以我继续创建了一个基于分类法(taxonomy_select_nodes())获取节点的模块,我想要一个寻呼机。

这是代码:
function theModule_recipeList(){ $path = drupal_get_path_alias($_GET['q']); $args = explode("/",$path); $themePath = drupal_get_path("theme", "theTheme");

$term = taxonomy_get_term_by_name($args[1]);
$tid = $term[0]->tid;
$nodes = taxonomy_select_nodes(array($tid));

$output = "<div id='recipeListWrapper'>";
while($row = db_fetch_object($nodes)){
    $node = node_load($row->nid);

    if($node->uid != 1){
        $userClass="user";
    }
    else{
        $userClass="admin";
    }
    $output .= "
        <div class='receptThumbnailWrapper'>
            <div class='wrapper'>
                <img src='".base_path().$themePath."/graphics/recept-default-small.png' />
                <h3><a href='".base_path() . $node->path."'>".$node->title."</a></h3>
                <div class='recipeType $userClass'></div>
            </div>
        </div>
    ";
}
$output .= "</div>";

return $output;

$term = taxonomy_get_term_by_name($args[1]); $tid = $term[0]->tid; $nodes = taxonomy_select_nodes(array($tid)); $output = "<div id='recipeListWrapper'>"; while($row = db_fetch_object($nodes)){ $node = node_load($row->nid); if($node->uid != 1){ $userClass="user"; } else{ $userClass="admin"; } $output .= " <div class='receptThumbnailWrapper'> <div class='wrapper'> <img src='".base_path().$themePath."/graphics/recept-default-small.png' /> <h3><a href='".base_path() . $node->path."'>".$node->title."</a></h3> <div class='recipeType $userClass'></div> </div> </div> "; } $output .= "</div>"; return $output;

现在,该模块按照我的计划和所有工作(即使它是一种胶带式解决方案,我知道),并且寻呼机打印并工作。问题是寻呼机在其他任何东西之前打印。

我怀疑这是因为我在返回$ output之前调用taxonomy_select_nodes,但我需要它来获取我想要的节点。

请非常感谢任何建议。

/安德斯

2 个答案:

答案 0 :(得分:1)

正如Nikit建议的那样,我建议使用views模块来创建列表。您可以使用参数从路径中选择适当的分类术语。这样,您就可以获得所需的功能,而无需编写和维护代码。

答案 1 :(得分:0)

为了与胶带方法保持一致,您可以使用CSS将寻呼机移到您的内容之下。

#div-that-holds-pager-and-content {
position: relative;
padding-bottom: 50px;
}

#div-that-holds-pager {
position: absolute;
bottom: 10px;
}