彻底改变 Drupal 7 中页面的设计

发布于 2025-01-02 08:36:14 字数 90 浏览 0 评论 0原文

有没有办法可以在 Drupal 中完全自定义页面?我不希望显示 Drupal 标头或由 Drupal 生成的任何其他 HTML,但我希望能够访问 Drupal 功能。

Is there a way I can fully customize a page in Drupal? I don't want the Drupal header or any other HTML generated by Drupal to show up, but I want to be able to access the Drupal functions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

吃颗糖壮壮胆 2025-01-09 08:36:14

基本上您需要一个新的页面模板(而不是节点模板)。这在 Drupal 7 中并不是开箱即用的,因此需要执行以下几个步骤:

第 1 步
为这个特殊主题的页面创建一个新的内容类型,将其称为“特殊”或其他任何名称...

第 2 步
将此代码添加到您的 template.php 文件中。 (将下面代码中的“yourthemename”替换为您主题的机器名称,即/sites/all/中主题文件夹的名称)

 function yourthemename_preprocess_page(&$vars) {
      if (isset($vars['node']->type)) {
      $vars['theme_hook_suggestions'][] = 'page__' . $vars['node']->type;
      }
     }

第3步
在主题文件夹中创建一个新的页面模板,并以新的内容类型命名。例如:page--special.tpl.php,“special”是内容类型的名称。定制吧!

第 4 步
清除缓存

第 5 步
使用新的内容类型创建新的内容 - 它将出现在新页面模板的设计中。

最终结果就像拥有一个完全独立的主题,但仍保留在现有主题内。

请注意,我写了一篇关于如何在 Drupal 6 上执行此操作的博客文章,但如果您阅读评论,会发现一些想法和链接如何在 D7 上执行此操作,但基本上就是我在这里所说的。

http://highrockmedia.com/blog/creating-custom -内容类型页面模板-drupal-php

Basically you want a new page template (as opposed to a node template). This does not quite work out of the box in Drupal 7 so there are a few steps:

Step 1
Create a new content type for this specially themed page, call it "special" or whatever...

Step 2
Add this code to your theem's template.php file. (Replace "yourthemename" in the code below with your theme's machine name, that is to say the name of your theme folder in /sites/all/)

 function yourthemename_preprocess_page(&$vars) {
      if (isset($vars['node']->type)) {
      $vars['theme_hook_suggestions'][] = 'page__' . $vars['node']->type;
      }
     }

Step 3
Create a new page template in your theme folder and name it after the new content type. so for example: page--special.tpl.php and "special" being the name of the content type. Customize away!

Step 4
Clear cache

Step 5
Create a new peice of content using your new content type -- it will be in the design of your new page template.

The end result will be like having a completely separate theme but staying within your existing theme.

Note, I wrote a blog post on how to do this for Drupal 6 but if you read down the comments, there are ideas and links how do this for D7 but basically what I have said here.

http://highrockmedia.com/blog/creating-custom-content-type-page-templates-drupal-php

别把无礼当个性 2025-01-09 08:36:14

您可以运行替代的 page.tpl.php 文件。例如。 page--front.tpl.php

不确定这是最好的方法,但它会起作用。您可以从文件中删除不需要的任何内容,因此它与其他页面完全不同。

You can run an alernative page.tpl.php file. Eg. page--front.tpl.php

Not sure it's the best way to do this but it will work. You can strip anything you don't want out of the file so it is totally different to other pages.

心的憧憬 2025-01-09 08:36:14

Drupal 非常灵活:

<?php
$json = array(
  'body' => 'This is the body of the page.',
  'title' => 'This is the page title',
);
return drupal_json_output($json);
?>

Drupal is pretty flexible:

<?php
$json = array(
  'body' => 'This is the body of the page.',
  'title' => 'This is the page title',
);
return drupal_json_output($json);
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文