我在Drupal 6中没有一个网站,我正试图在我的.tpl(html)中使用不同的类进行一些打印。
在示例中,我有两个人列在他们自己的行中。它们都有两个具有不同值的数组,称为“位置”和“首选位置”。
我的问题是我做了一个foreach,它打印了跨度,但每次为ame行保持重复跨度(在这里只有两行)。我似乎无法在我的代码中找到错误。请看看,任何帮助,或指向正确方向的手指将不胜感激。
foreach ($vars['view']->result as $key => $row) {
// preferred positions on pitch
$outputspanpref = "";
foreach ($row->node_data_field_pref_position_field_pref_position_value as $key =>
$position) {
$keyclass = 'pref-position-' . $key;
$positionclass = strtolower(str_replace(" ","-",$position['value']));
$outputspanpref .= '<span class="' . $keyclass . ' ' . "pref-position" .
'' . $positionclass . '"></span>';
$vars['prefposition'] = $outputspanpref;
}
// secondary positions on pitch
$outputspan = "";
foreach ($row->node_data_field_position_field_position_value as $key =>
$position) {
$keyclass = 'position-' . $key;
$positionclass = strtolower(str_replace(" ","-",$position['value']));
$outputspan .= '<span class="' . $keyclass . ' ' . $positionclass.'
</span>';
$vars['position'] = $outputspan;
}
}
}
答案 0 :(得分:2)
看起来您在嵌套的$key
循环中重用了foreach
。尝试对每个后续循环使用$key1
,然后$key2
等。
foreach ($vars['view']->result as $key1 => $row) { // 1st forloop
foreach ($row->node_data_field_pref_position_field_pref_position_value as $key2 => $position) { // 2nd forloop
foreach ($row->node_data_field_position_field_position_value as $key3 => $position) { // 3rd forloop
答案 1 :(得分:0)
根据您的问题说明。您可能在循环中使用相同的引用并因此纠正它,您必须将每一行分配给它自己的唯一变量。