我目前有一个Drupal网站。我需要制作1000页,格式为domain.com/names/name1.html domain.com/names/name2.html等。每个页面略有不同,但格式相同。解决这个问题的最佳方法是什么?我无法找到有关此主题的任何教程。
答案 0 :(得分:0)
让我们先澄清一下。
根据您提问的评论,您可以 1。以编程方式创建节点。我们假设你有一个内容类型(节点类型)" Page"然后通过在自定义模块中调用hook_install
(在模块安装时执行任务)或hook_update_N
(在运行更新例程时执行任务),您可以创建一个类型为&#的千个节点34;页" (在for循环中或更好地作为批处理以防止超时),设置它们的路径别名以及您需要设置的任何其他内容,完成。已经有很多教程了。
当然你也可以 2。通过从自定义模块中调用hook_menu
并添加接受通配符($items['names/%']
)的菜单项(路径),以编程方式创建页面。然后,您可以定义回调函数('page callback'
)以构建将在访问匹配的URL时调用的页面内容,并且还可以将通配符作为参数('page arguments'
)传递给该回调函数。回调函数可以简单地返回一个渲染数组,例如。
添加带回调函数的菜单项以通过hook_menu
呈现一些自定义内容通常意味着您实际上只能动态控制内页面内容(主页面内容区域或者当前在当前调用它)主题)。标题,主菜单,页脚等只是保持不变。根据您的需要,您还需要以某种方式构建自定义页面的自定义链接,并将它们作为自定义块或您计划用它们执行的任何操作。
可以在示例模块的文档中找到第二种方法的详细概述,并在页面示例子模块的文档中详细介绍。
hook_menu
示例:page_example_menu