如何获取drupal中sites/all文件夹的绝对路径?

发布于 2024-12-19 14:26:50 字数 444 浏览 3 评论 0原文

我想在我的 drupal 站点上显示两种不同的徽标:一种用于首页,一种用于内页。

if (drupal_is_front_page()) { 
    $variables['logo']=drupal_get_path('theme', 'hanna') . '/images/logo.png';
  } 
   else {
    $variables['logo']=drupal_get_path('theme', 'hanna') . '/images/logo-inner.png';    
  }

这对于首页和任何以 websiteurl/page 作为 URL 的页面来说效果很好;但是,它不适用于 URL 类似于 websiteurl/custompath/page 的页面。

我认为问题在于具有自定义 URL 路径的页面的相对性。

你有什么想法吗?

I want to display two different logos on my drupal site: one for the front page and one for the inner pages.

if (drupal_is_front_page()) { 
    $variables['logo']=drupal_get_path('theme', 'hanna') . '/images/logo.png';
  } 
   else {
    $variables['logo']=drupal_get_path('theme', 'hanna') . '/images/logo-inner.png';    
  }

This works just fine for the front page and any page which has websiteurl/page as URL; however, it doesn't work for the pages where the URL is similar to websiteurl/custompath/page.

I think the problem lies in the relativeness of the pages which have a custom URL path.

Do you have any idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ゝ偶尔ゞ 2024-12-26 14:26:50

您可以使用 drupal 全局 $base_url 获取安装的绝对路径并将图像的绝对路径附加到其中。

请参阅本主题的 Drupal 文档

您还可以使用 base_path() 获取路径。

You can use the drupal global $base_url to get the absolute path of the installation and append the absolute path of your image to it.

See the Drupal Documentation to this topic.

You can also use base_path() to get the path.

孤千羽 2024-12-26 14:26:50

需要注意的是:

  • base_path() 返回安装 drupal 网站的文件夹的相对路径。
  • $base_url 返回您的域名路径,不带尾部斜杠。

因此,为了确保拥有正确的绝对路径,您必须同时使用它们:

//example to get an image absolute path
global $base_url;

$image_path = $base_url . base_path() . path_to_theme() . '/images/my-image.png';
//$image_path will output something like: "http://www.my-domain.com/sites/all/themes/your-theme-name/images/my-image.png"

注意:path_to_theme 就像 $base_url,没有尾部斜杠。

It's important to note that:

  • base_path() returns the relative path to the folder where your drupal website is installed.
  • $base_url returns your domain path without a trailing slash.

So to be certain to have the right absolute path, you have to use both of them:

//example to get an image absolute path
global $base_url;

$image_path = $base_url . base_path() . path_to_theme() . '/images/my-image.png';
//$image_path will output something like: "http://www.my-domain.com/sites/all/themes/your-theme-name/images/my-image.png"

NB: path_to_theme is like $base_url, no trailing slash.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文