如何获取drupal中sites/all文件夹的绝对路径?
我想在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 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.
需要注意的是:
base_path()
返回安装 drupal 网站的文件夹的相对路径。$base_url
返回您的域名路径,不带尾部斜杠。因此,为了确保拥有正确的绝对路径,您必须同时使用它们:
注意:
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:
NB:
path_to_theme
is like $base_url, no trailing slash.