我有一个独特的问题。在我的 drupal 站点中,我在预告片中显示了很多节点,对于每个节点,我使用的是带有寻呼机的表。问题是,在页面初始加载时,表格排序不起作用。但是,如果我使用寻呼机并移动到不同的页面然后返回,那么排序工作。
我调查了这个问题,发现在初始加载时,标题链接的 url 使用主链接,即:mysite.com/node?sort=asc&order=Name。单击寻呼机后,标题链接的 url 更改为:mysite.com/mycallbackfunction?_=1348208999187&page=1&nid=13&pager_id=1&sort=desc&order=Name
如果您注意到,url 显然是不同的,这没关系,但主要的是,在初始加载中缺少 nid。我希望表头使用寻呼机 url 或我指定的一些 url,因此在这两种情况下都会出现 nid,因为如果没有 nid,函数不会返回任何内容。
这是显示表格的 mycallbackfunction 中的相关代码:
//Attach a theme table
$html = theme('table', array(
'header' => $header,
'rows' => $rows,
'attributes' => array(
"class" => array(
"my_table_box"
),
"cellspacing" => '0',
"cellpadding" => '0'
)));
//Pager theme
$html .= theme('pager', array(
'element' => $pager_id,
'parameters' => array(
'nid' => $nid,
'pager_id' => $pager_id),
'quantity' => ceil($count/5)
));
希望有人可能对这个奇怪的问题有所了解。