我想知道是否有人可以帮我解决这个问题。 我在drupal中有一个foreach循环,它迭代了一些JQuery滑块的选项。 这很好用。 但是我想在循环中添加一个标记字段,这样我就可以在wach滑块上面有一个标题div。它不是循环遍历每一个,而是一次显示所有4个标题,然后是所有4个滑块?这是正确的行为吗?请参阅下文。
foreach ($categories as $key => $title) {
$form['sliderHead'][$key] = array(
'#type' => 'markup',
'#value' => "<div id='sliderHeaders'>Header Text</div>"
);
$form['vote'][$key] = array(
'#type' => 'slider',
'#title' => $title,
'#name' => $key, // TODO: define it with the $key variable.
'#options' => $options,
);
}
非常感谢, 罗斯
答案 0 :(得分:1)
因为Drupal按照数组深度的顺序呈现,除非您为所有内容指定#weight
,否则它将按重量排序。
因此,如果你不想使用权重,你可以这样做,尽管上面使用#prefix
的建议对你的情况更好:
foreach ($categories as $key => $title) {
$form['slider']['head'][$key] = array(
'#type' => 'markup',
'#value' => "<div id='sliderHeaders'>Header Text</div>"
);
$form['slider']['vote'][$key] = array(
'#type' => 'slider',
'#title' => $title,
'#name' => $key, // TODO: define it with the $key variable.
'#options' => $options,
);
}
答案 1 :(得分:0)
滑块不是有效类型。您是否使用其他模块来提供该类型?
如果是这样的话:
foreach ($categories as $key => $title) {
$form['vote'][$key] = array(
'#type' => 'slider',
'#title' => $title,
'#prefix' => t("<div id='sliderHeaders'>Header Text</div>"),
'#name' => $key, // TODO: define it with the $key variable.
'#options' => $options,
);
}
使用#prefix
表单属性。