2010-12-15 50 views
0

我已成功在drupal中创建了一个页面,该页面在同一页面上显示表单和结果。表单就像结果的过滤器一样。结果包括一堆html,其中包括通过Chart API模块的谷歌图表(http://drupal.org/project/chart)。结果通过标记表单元素包含在表单中(从Eaton的评论中获得:Drupal: How to Render Results of Form on Same Page as Form)。在同一页面上包含结果以及使用drupal表示结果

由于我无法访问表单API范围以外的表单结果(例如页面回调函数),因此我似乎无法真正为结果提供主题。有没有办法将复杂结果放在与表单相同的页面上,并使结果具有主题性?此外,是否有更好的Drupal方式在同一页面上显示表单结果?

回答

0

drupal中的任何内容都是可以主题化的 - 这是让drupal变得可怕的一件事。您可以通过使用hook_theme()并在此设置您想要使用的主题模板以及您希望传递给主题文件的参数来完成此操作。你会通过调用theme('theme_name', $parameters);

0

我很想在这个解决方案写像这样

function MYMODULE_theme{ 
    return array(
    'theme_name'=>array(
     'arguments'=>array('parameters'=>NULL) 
     'path'=>'path_to_theme_file', 
     'theme'=>'template_name' 
    ), 
); 
} 

然后甚至建议在后,你可以调用这个主题,无论您的参数可用的主题。我们使用Views和Exposed Filters做了非常相似的声音。将视图和表单的结果合并在一起是非常直接的/标准类型的事情要在Drupal中完成。例如:views-exposed-form-form_name.tpl.php和views-view-view_name.tpl.php。该表单也是可以查看hook_form_alter的。

相关问题