【问题标题】:How can i create a php conditial statement in drupal 7 page template如何在 drupal 7 页面模板中创建 php 条件语句
【发布时间】:2026-01-17 18:05:02
【问题描述】:

我想根据当前页面标题在 page.tpl.php 文件上呈现不同的区域。以下代码:

<?php if ($title == "My Drupal Page"): ?>
        <?php print $title; ?>
<?php endif; ?>

似乎对我不起作用。我确保先打印实际的 $title 然后复制粘贴,以便比较正确的标题但仍然没有结果

【问题讨论】:

  • 使用trim..有时可能会出现空间问题或类似问题。
  • 建议:Titles 旨在为人类做好准备。对于开发比较,您应该使用IDs 或slugs。所以不是“关于我们”,蛞蝓应该是这样的:about-us
  • 我正在使用分类页面,我最终确实切换到了节点页面,因此我可以使用节点 ID。这是我第一次听说蛞蝓,所以我会读到它们是什么

标签: php html drupal drupal-7


【解决方案1】:

试试这个

    print t($title);

您可能需要仔细检查您的页面标题是否确实匹配 “我的 Drupal 页面” 有时您需要将其定义为文本以便 drupal 正确呈现 这是我的一个网站的示例

    <?php if ($site_name): ?>
      <h1 class="site-name">
        <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a>
      </h1>
    <?php endif; ?>

【讨论】:

    【解决方案2】:

    无论出于何种原因,这对我有用:

    <?php if( drupal_get_path_alias() == "my-drupal-page"): ?>
      <?php print $title; ?>
    <?php endif; ?>
    

    我只能假设我看不到与 $title 相关的额外文本。 drupal_get_path_alias() 输出 url 别名并按预期工作到目前为止

    【讨论】: