【问题标题】:how can i obtain a drupal 7 path alias我如何获得 drupal 7 路径别名
【发布时间】:2014-12-19 15:31:00
【问题描述】:

大家好,我正在尝试使用 php 为 drupal 7 编写一个块来填写 iframe 代码的一部分,该代码将取决于当前节点 URL 别名。

例如:<iframe height="70px" width="70px" src="<?php $path; ?>"></iframe>

但是我无法使用以下方法来设置 $path 变量:

$path = drupal_get_path_alias($nid)

$path = drupal_lookup_path('source', $path, $path_language);

我在网站上启用了 PHP,但我避免在内容上使用它,时不时地在块上使用它

编辑

我设法使用以下方法让这个工作更好一点:

$path = drupal_get_path_alias('node/'.arg(1));

但是我注意到基本 url 没有被包含在内,这没什么大不了的,因为我知道它是什么并且它不会改变,但是如果有办法在 php 中获取它,我想知道。

【问题讨论】:

  • 我认为您尝试在模板过程的哪个部分执行此操作很重要。您可以执行 print_r($node) 以查看在尝试此操作的任何地方是否填充了节点变量。 $node 可以设置,但我认为 $nid 不是系统标准。
  • 不在模板中,这将是一个块,我会告诉drupal 在某些页面中显示这个块。 print_r($node) 对我不起作用。谢谢,虽然我觉得 $nid 是模板和模块的意思,而不是内容/块

标签: php html drupal-7


【解决方案1】:

我会使用 url() function 并将其标记为返回绝对 URL:

if (arg(0) == 'node' && is_numeric(arg(1))) {
  $nid  = arg(1); 
  $path = url('node/' . $nid, array('absolute' => TRUE));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 2016-04-10
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多