这是我的代码:
function theme_freeway_dashboard_details($form) {
$pidobtained = $_GET['project_id'] ;
$rows = array();
foreach (element_children($form) as $key) {
$row = array();
$row[] = array('data' => drupal_render($form[$key]['FileID']));
$row[] = array('data' => drupal_render($form[$key]['Filename']));
$row[] = array('data' => drupal_render($form[$key]['SourceLanguageID']));
$row[] = array('data' => drupal_render($form[$key]['TargetLanguageID']));
$row[] = array('data' => l(drupal_render($form[$key]['StatusID']),'user/1/freewayRetrieve',array('query' => array('fileId'=> $row[0],'projectID'=> $pidobtained))));
$row[] = array('data' => drupal_render($form[$key]['StatusDescription']));
$rows[] = $row;
}
$header = array();
$header[] = t('File ID');
$header[] = t('File Name');
$header[] = t('Source Language');
$header[] = t('Target Language');
$header[] = t('Status ID');
$header[] = t('Status Description');
//$output = theme('table', $header, $rows,array('size'=>10, 'class' => 'table_class'));
$output = theme('table', $header, $rows);
$output .= drupal_render($form);
return $output;
}
我试图通过点击链接传递参数,参数是FileID。由于上述代码而生成的URL是
'http://localhost/drupalTheme/user/1/freewayRetrieve?fileId[data]=157960&projectID=437286' .
现在,当我尝试使用
从subsequesnt函数获取此URL的值时 <?php
$fileIdbtained = $_GET['fileId[data]'] ;
$pidobtained = $_GET['projectID'] ;
?>
我获取了projectID的值,但没有获取fileID的值。这是访问参数的正确方法吗? 想得到你的意见。
由于 甲
答案 0 :(得分:0)
您可以安装模块“devel”。它会显示您所在页面上的可用数组和值。使用此模块,您可以单击数组,就像使用Firebug单击CSS / HTML结构一样。您至少可以检查您要查找的值是否在现有数组中的某个位置。
同样在加载页面时,尝试使用
输出数组echo '<pre>';
var_dump($content);
查看该值是否在该数组中的某个位置
答案 1 :(得分:0)
要明确:在您的foreach循环中,$form[$key]['FileID']
是FAPI element。
换句话说:在循环的每次迭代中,变量$form[$key]['FileID']
(以及$form[$key]['Filename']
和其他变量)都是具有特定结构的PHP array。
这个“特定结构”是drupal_render()所期望的结构,因此它知道如何“渲染”元素(即生成一串HTML)。
现在,对于你想要获得$form[$key]['FileID']
没有HTML,第一的实际语义值(即157960)的情况,你显然必须停止传递它{{3 }}
然后,由于$form[$key]['FileID']
是一个数组(恰好包含FAPI元素的结构,如前所述),您需要访问其元素中的任何一个保存实际数据你在追求。根据您的最新更新,该元素将是具有'#value'键的元素。
所以,你想要使用的是$form[$key]['FileID']['#value']
。也就是说,准备该行的代码行应该是:
$row[] = array('data' => l(drupal_render($form[$key]['StatusID']),'user/1/freewayRetrieve',array('query' => array('fileId'=> $form[$key]['FileID']['#value'],'projectID'=> $pidobtained))));