我已在drupal中成功创建了一个页面,该页面在同一页面上显示表单和结果。表单就像结果的过滤器。结果包括一堆html,其中包括通过Chart API模块(http://drupal.org/project/chart)的谷歌图表。结果通过标记表单元素包含在表单中(来自eaton的评论:Drupal: How to Render Results of Form on Same Page as Form)。
由于我无法访问表单API范围之外的表单结果(例如页面回调函数),我似乎无法真正主题化结果。有没有办法将复杂的结果放在与表单相同的页面上,并使结果成为主题?另外,是否有更好的drupal方式在同一页面上显示表单结果?
答案 0 :(得分:0)
drupal中的任何东西都是可以设置的 - 这是使drupal很棒的一件事。您可以使用hook_theme()并在此处设置要使用的主题模板以及要传递给主题文件的参数。你会写这样的主题
function MYMODULE_theme{
return array(
'theme_name'=>array(
'arguments'=>array('parameters'=>NULL)
'path'=>'path_to_theme_file',
'theme'=>'template_name'
),
);
}
然后,即使按照帖子中的建议,您也可以通过调用theme('theme_name', $parameters);
答案 1 :(得分:0)
我对你的解决方案感兴趣。我们使用视图和外露滤波器做了非常相似的声音。将视图和表单的结果都表达为drupal中非常直接/标准的事情类型。示例:views-exposed-form-form_name.tpl.php和views-view-view_name.tpl.php。表单也可以更改为hook_form_alter。