我想建立一个在左侧的搜索表单和内容(中心)部分的结果网站。
我知道如何创建模块..但是我怎么分配他们的位置呢?或者我应该将搜索表单作为块放置,并将它们分配给build/ BLOCK /中的LEFT。
搜索表单有3个文本框,不需要任何文本框。“姓名”,“姓氏”,“年龄”
无论用户输入什么,我都希望在模板的中心部分显示结果。
显然,form会将变量作为$_POST
发送
但是在结果页中,如果有5个以上的结果,我想添加分页。
那么,我应该如何为<a href="?"
构建链接呢
我希望有像/search//Smith/24
或search/John//15
或search/John/Smith/40
这样的cleanURL来响应“姓名,年龄”,然后在使用分页时添加/search/john/smith/40/page/3
?
发布于 2009-10-02 10:25:25
好的,首先,我第二个googletorps建议先看看基于的解决方案,因为它可以为你节省相当多的自定义代码。然而,我经常发现,基于视图的解决方案只能提供我所需的80%,而添加缺少的20%的视图可能比自定义解决方案从一开始就更麻烦-检查带有暴露的过滤器的视图,看看它是否合适。
如果没有,这里有一些提示,可以帮助您开始使用自定义解决方案:
hook_block()
如何创建一个(你至少需要实现操作'list‘和'view’才能通过build/block实现)正如你在操作'view‘上所说的hook_menu()
。搜索您建议的路径‘
对于Drupal中的链接创建,使用l()函数
theme_pager
,但这取决于实际搜索查询的结果如何,因为它需要一个查询字符串参数数组来构建查询发布于 2009-10-02 10:00:52
你可以按照你描述的方式来做这件事。您需要使用hook_menu来构建urls,使用hook_block来创建搜索表单块,然后使用l()函数来创建链接。但是,在您自己的自定义模块中完成所有这些操作将需要大量时间。进行查询搜索等。相反,我会建议你做的是使用视图模块来完成这一切。有了它,你可以很容易地创建一个搜索表单,但使用公开的过滤器,你可以为它创建一个页面和一个块,做分页和所有这些只需点击几下。因此,即使您是一名优秀的php开发人员,在这种情况下最好的做法是简单地使用Drupal以views模块的形式提供的内容,并使用AI来设置它,而不是编写一堆代码。如果您确实打算创建自己的模块,那么可以在api.drupal.org上查看这些函数,在那里您可以找到drupal core的文档。
https://stackoverflow.com/questions/1508648
复制相似问题