如何使用drupal以编程方式创建页面?

时间:2018-04-28 17:23:01

标签: drupal drupal-7

我目前有一个Drupal网站。我需要制作1000页,格式为domain.com/names/name1.html domain.com/names/name2.html等。每个页面略有不同,但格式相同。解决这个问题的最佳方法是什么?我无法找到有关此主题的任何教程。

1 个答案:

答案 0 :(得分:0)

让我们先澄清一下。

根据您提问的评论,您可以 1。以编程方式创建节点。我们假设你有一个内容类型(节点类型)" Page"然后通过在自定义模块中调用hook_install(在模块安装时执行任务)或hook_update_N(在运行更新例程时执行任务),您可以创建一个类型为&#的千个节点34;页" (在for循环中或更好地作为批处理以防止超时),设置它们的路径别名以及您需要设置的任何其他内容,完成。已经有很多教程了。

当然你也可以 2。通过从自定义模块中调用hook_menu并添加接受通配符($items['names/%'])的菜单项(路径),以编程方式创建页面。然后,您可以定义回调函数('page callback')以构建将在访问匹配的URL时调用的页面内容,并且还可以将通配符作为参数('page arguments')传递给该回调函数。回调函数可以简单地返回一个渲染数组,例如。

添加带回调函数的菜单项以通过hook_menu呈现一些自定义内容通常意味着您实际上只能动态控制内页面内容(主页面内容区域或者当前在当前调用它)主题)。标题,主菜单,页脚等只是保持不变。根据您的需要,您还需要以某种方式构建自定义页面的自定义链接,并将它们作为自定义块或您计划用它们执行的任何操作。

可以在示例模块的文档中找到第二种方法的详细概述,并在页面示例子模块的文档中详细介绍。