好的,所以这可能是一个愚蠢的问题,但我想我还是会把它放在那里:
我知道这是一个简单问题的奇怪解决方案,但我需要控制分类页面中的节点列表,我觉得我没有采用传统方式。所以我继续创建了一个基于分类法(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,但我需要它来获取我想要的节点。
请非常感谢任何建议。
/安德斯
答案 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;
}