在我切换到Drupal之前(之前只是静态HTML),我的标题中有一个div标题,根据用户使用以下代码的页面而改变:
关于页面
<?php
$title = "ABOUT US</span>";
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/includes/header.php";
include_once($path); ?>
然而,这是因为我使用静态HTML ...这意味着我将每个页面设置为使用自己的Index.PHP,位于(例如,关于页面)public_HTML / about / index.php文件。因此,我可以通过编辑各自的索引文件来单独编辑每个页面...
现在,使用Drupal ..而不是像我之前那样拥有如此多的Index.PHP文件(这是一个混乱的IMO ......),我希望每个页面都使用相同的page.tpl.php(除了首页,使用page - front.tpl.php)。
我可以以某种方式修改上面的PHP代码,使用IF语句显示不同的标题,具体取决于用户所在的页面吗?
例如......(我不知道如何使用PHP代码,所以这只是为了让专家了解我想要的东西..)
ifpage = about,$ title =关于我们; Ifpage = contact,$ title =联系我们;
这段代码可以在同一个页面中.tpl.php?
非常感谢你!
答案 0 :(得分:1)
Drupal 7的每个内容类型都有一个标题字段。为什么不使用它?
默认显示,您可以为每个节点更改它。
这是您模板文件中的代码。
<?php print render($title_prefix); ?>
<?php if ($title): ?>
<h1 class="title" id="page-title">
<?php print $title; ?>
</h1>
<?php endif; ?>
<?php print render($title_suffix); ?>
$ title_prefix(array):包含由模块填充的附加输出的数组,用于显示在模板中显示的主标题标记的前面。
$ title:页面标题,用于实际的HTML内容。
$ title_suffix(array):包含由模块填充的附加输出的数组,用于显示在模板中显示的主标题之后。
有关page.tpl模板文件中可用的所有变量,请参阅https://api.drupal.org/api/drupal/modules!system!page.tpl.php/7。
如果你想设计一个不同于另一个的部分,你可以使用一个额外的字段。
或者如果你需要对价值做些什么(我不建议这样做!!!)。
switch ($title) {
case "About Us":
// Do something with the title
break;
case "Contact Us":
// Do something with the title
break;
case 2:
// Do something with the title
break;
}
答案 1 :(得分:0)
这是一个简单的方法:
为内容类型添加新字段
称之为title2
渲染两个字段
使用css内联对齐并添加样式
答案 2 :(得分:0)
这是我的解决方案,因为我无法将基于Drupal的标题块放在非基于Drupal的徽标DIV旁边。
我创建了一个名为.headertitle的div,并根据我的需要定位/设置它。
我的header.php是一个PHP包含文件,每个页面都调用它,而headertitle有一个PHP条件。
<?php if(empty($headertitle)) $headertitle = "ASK REAL QUESTIONS, <br><span class='white'>GET FREE ANSWERS.</span>";
回声$ headertitle; ?&GT;
这样,如果没有为.headertitle声明文本,它将采用默认形式&#34; ASK REAL QUESTIONS,获得免费答案。&#34;
...现在,我必须找出一种方法来实际为.headertitle声明文本,具体取决于我所在的页面...
我通过使用此文件为每个页面(节点)使用自定义模板来实现此目的。&#34; page - node - nodeid.tpl.php&#34;。
因此,对于我的ABOUT US页面,我创建了一个名为&#34; Page - node - 7.tpl.php&#34; ...的tpl.php文件,对于此页面,7是nodeid,它是很容易找到。
然后,我添加了以下PHP代码,专门在关于我们的ABOUT US页面上声明.headertitle的文本...
<?php $headertitle = "ABOUT<span class='white'>.US</span>"; include('includes/header.php'); ?>
完成并完成。
我会为每个页面执行此操作。 :)