Drupal:创建一个自定义页面

时间:2009-12-08 20:36:13

标签: drupal drupal-6

我正在努力开发一个drupal网站。我创建了一个自定义主页,它与一个名为(首页)的模块一起正常工作。但是,我需要为内部页面创建自定义页面。意思是,我需要有一个不同于我现在的一般drupal主题的设计,但我不知道该怎么做(以一种不会花费太多时间的简单方式)。我已经准备好了HTML和CSS的设计,但我只需要在菜单中有类似(自定义页面)的内容,所以当我点击它时,它会带我进入那个设计(不过是外部链接!)

我希望这不会引起混淆,但如果您有任何疑问,我将很乐意回答。

提前感谢您的帮助:)

5 个答案:

答案 0 :(得分:15)

Html overiding

对于单个页面,您可以使用

创建drupal所需的任何html
  • 模板
  • 主题功能
  • 自己编写确切的html,创建主题功能或者只是将其放在模板中。

由于您需要一个独特的布局,因此您需要查看自定义的page.tpl.php。您可以为任何网址创建page.tpl.php,这样您就可以修改该网页的整个网页html,或者只是在这里和那里进行调整。

Drupal有一个非常灵活的主题系统,因此有很多方法可以更改标记。所有这些东西都需要进入你的主题或模块。

CSS覆盖

您仍将拥有drupal站点中使用的css文件。

  • 您可以使用drupal_add_css()添加其他样式表,但是您可能遇到其他样式表冲突的问题。
  • 您可以删除template.php中的所有其他样式表或从page.tpl.php中删除它们,但drupal_add_css也不会正常工作。
    • 如果你这样做,你可以自己生成css文件的链接
      • 你的标记
      • 的template.php
      • page.tpl.php文件。

静态页面

如果您的目标是仅在页面上创建一个,具有不同的布局等,最快捷,最简单的方法,就是创建我们自己的page.tpl.php文件,然后在那里写下你所有的html并忘记什么Drupal可以做到。这通常不是最佳实践,但在这种情况下,使用Drupal的灵活性做一些事情可能有点矫枉过正,特别是如果你不熟悉Drupal。您可以使用页面模板命名约定来执行此操作,只需在主题中添加带有标记的文件即可。这种方法对于静态站点是有益的,但也可以通过为其他页面更多的努力来完成。如果你想使用很多模块,这不是你的解决方案。您应该查看主题函数/ template.php以及可以在那里完成的任务。

更改您的Drupal后端/管理主题

如果您的目标是创建后端主题,drupal有几个模块,这些天使用最多的可能是admin module。即使这不是您的目标,这也是一个很好的模块,可以让您的后端更加用户友好。

答案 1 :(得分:3)

所以解决方案有:

page-node-7.tpl.php

表示路径为(node / 7)的页面。然后它将加载该页面而不是drupal页面node / 7

谢谢大家:)

答案 2 :(得分:0)

不幸的是,没有任何方法可以“以一种不会花费太多时间的简单方式”。如果你想主题你的网站,你必须学习主题。您需要多长时间取决于您希望偏离默认主题模板的程度。这是一个开始阅读的好地方:http://drupal.org/theme-guide/6

此外,您可能希望将Zen主题视为基本主题。它将帮助您遵循最佳实践。 http://drupal.org/project/zen

答案 3 :(得分:0)

如果你只是需要一个不同的模板用于所有内部页面而另一个用于首页,你可以使用page.tpl.php(那是内部/默认页面)和page-front.tpl.php(用于首页) )。

否则,没有“快速简便”的方法。但是,有多种方式。阅读Aaron建议的主题指南,找出最符合您需求的内容。

答案 4 :(得分:0)

您可以使用module Themekey这是一个通用的主题切换模块。

如果要切换主题

  • 针对不同的分类术语
  • 基于节点类型
  • 用于不同的语言
  • 基于路径

那么ThemeKey可能值得一试。

另一种解决方案是使用预处理功能并更改变量中的'theme'关键字。