Drupal文档教程翻译 - 基于不同的URL输出特定的HTML

logo-drupal-documentation本站原创编译,转载请给面子,尊重劳动果实,欢迎交流指正。

周一早上好,能活着到公司不是件轻松和容易的事情,我要珍惜每一天。Drupal文档中文翻译时间,今天来看一些简单的代码片段,通过它,我们可以实现基于不同的URL判断输出指定的HTML。

既然是判断,也就离不开“if”。我们可以把一段判断语句加入到主题代码中来根据不同的URL状况来判断输出一些特定的HTML或是其他类型的代码输出。下面来看一个简单的实例。

1.打开主题路径中的page.tpl.php文件。

2.在负责输出正式内容的代码(通常是输出菜单tabs的部分)之前插入我们接下来要介绍的逻辑判断代码。

3.对于URL中不同的字段,有以下的逻辑

http://www.example.com/taxonomy/term/10

arg(0) returns 'taxonomy'
arg(1) returns 'term'
arg(2) returns '10'

arg()函数专门用来返回路径,通过参数的传递,我们可以获取URL中指定层级的字符串。

4.我们使用以下代码来根据URL中不同的字段进行判断:

<?php if(arg(0)=='taxonomy' & arg(1)=='term' & arg(2)== '10'): ?>
This is where you put the html you want to print out
on this page! It won't print this if we aren't on this
page.

<?php endif; ?>

MAIN CONTENT
大致的意思是,“如果当前页面的URL包含taxonomy/term/10,则输出指定的代码,否则直接输出MAIN CONTENT中的内容。”

同样的逻辑还可以通过其他函数应用在其他需求中,未必仅仅根据URL判断。比如当ID为100的用户登录时,我们可以给他显示一段特别的欢迎语:

<?php global $user; if($user->uid == 100): ?>
Welcome, 100th user!!! This text will only display when you are logged in!!
<?php endif; ?>

译者:Viiiix7210

如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看英文原文: How to display some arbitrary HTML on a specific page based on the URL you are on


收藏与分享

添加评论


Security code
换一张图