首页使用单独的模板文件会更好吗?

时间:2009-11-17 04:30:13

标签: drupal drupal-theming

就以下方面而言:

  1. 速度
  2. 必要的处理(会影响速度)
  3. 遵循标准
  4. 以下哪两种方法会更好?

    我想创建一般的页面布局,但是,首页看起来与正常的外观不同。

    方法1

    创建一个普通的page.tpl.php文件,但其中包含以下代码:

    .....
    <body>
      <?php if (isFront()) { 
              // lots of stuff for the frontpage
            }
            else 
            {
              // lots of stuff for the other pages
            }
      ?>
    </body>
    

    方法2

    创建两个不同的页面,即page.tpl.php和front.tpl.php。代码将被复制,但首页和其他页面将各自拥有自己的专用文件。

2 个答案:

答案 0 :(得分:3)

我会说方法2更好。我认为速度不会受到任何影响,并且没有严格的标准,但不鼓励在模板文件中过度分支。

但是我有兴趣看看主页特定的代码是什么。 Drupal会为首页提供一个“前”css类,因此它的样式可以不同,并且可以创建块以仅显示在首页上。因此可能不需要特定的首页模板。

答案 1 :(得分:2)

我会以相反的顺序处理你的观点:

<强>标准

我认为标准接受的方法(至少在使用基于zen的主题时)是创建特定模板。实际上,您不需要为其添加任何其他主题功能,就像您将其命名为page-front.tpl.php一样,它将专门用于首页。这当然只适用于你真的需要一个单独的模板(见Jeremy对此的回答)。

需要处理

我认为与两种不同方法的性质密切相关,并不存在可察觉的差异。其他一切都是相同的,计算机打开文件(模板)并处理其中的PHP仍然是一个问题,无论这是同一个文件还是另一个文件。解决方案#1有一个if语句,但......它真的有所作为吗?

<强>速度

如果你真的不太需要优化,我读(如果我在 Pro Drupal Development 上没有错),通过模板对页面进行通过比通过模板进行操作慢5倍一个函数,所以你也可以考虑这个解决方案,虽然这只会带来一个好处,如果主页不可缓存,我相信。

HTH!