0

我在我的子主题页面--front.tpl 文件中使用了此代码,但我在首页上看不到任何消息,例如下面的代码。

  <?php

  $flag = drupal_is_front_page();

  if ($flag) {

    drupal_set_message("Welcome to front page of this site.");

  }
  else
  {
     drupal_set_message("Now you are in page other than front page.");
  }

?>
4

4 回答 4

0

https://api.drupal.org/api/drupal/modules!system!page.tpl.php/7

https://drupal.org/node/39891

试试这个$is_front表达式:

 <?php
 if($is_front)
 {
    echo "you are on the front page";
 }
 else
 {
    echo "you are not on the front page";
 }
于 2013-08-09T12:47:44.553 回答
0

尝试这种格式来设置消息:

drupal_set_message(t("Welcome to front page of this site."));
于 2013-08-09T12:53:24.673 回答
0

page--front.tpl.php 始终是首页!所以你不需要 if 语句!

如果您在另一个页面上,它会使用page.tpl.php!您应该在 page.tpl.php 中使用此代码。

于 2013-08-09T20:11:05.527 回答
0

消息将排队等待下一页,并且不会显示在当前页面上,因为在主题级别调用了 drupal_set_message 并且此时消息变量已经呈现。

因此,如果您访问首页,然后转到另一个页面,则会出现“欢迎访问本网站首页”的消息。将显示在其他页面上。

于 2013-08-10T17:17:59.020 回答