page.tpl.php中的Drupal 7自定义徽标未显示在所有页面上

问题描述 投票:0回答:2

我有一个基于Zen的自定义子主题的Drupal 7站点。我有一个自定义徽标,我放在page.tpl.php标题div。我遇到的问题是徽标只出现在第一个“主要”页面上,而不是“子页面”。请原谅我的术语,试图解释这一点。我所说的子页面是指在链条下游或在第一个正斜杠后发生的任何页面。以下是“主要”页面和“子页面”的含义示例。所有这些“主要”页面都直接位于网站名称后面的第一个斜杠之后。徽标不会显示在这些主页(子页面)之后出现的任何页面上。我的所有页面都是使用Pages模块制作的,但是,子页面有一个使用%term的路径,例如/ support /%term或products /%term。

我错过了什么以及如何在page.tpl.php中制作我的徽标才能显示在我网站的所有页面上?我应该使用/%term为页面创建一个新的page.tpl.php文件吗?

主页 - 徽标显示:

mysite.com/about 
mysite.com/products 
mysite.com/support    
mysite.com/contact

子页面 - 徽标未显示:

mysite.com/products/product1
mysite.com/support/product1-support
drupal-7 drupal-theming
2个回答
0
投票

如果我理解正确,那么快速解决方法是确保徽标的路径以“/”开头,如下所示:

<img src="/sites/all/themes/customZen/images/logo.png" />

但是如果主题的路径发生变化,一切都会破裂,所以不要这样做。

如果使用CSS作为背景放置徽标,请使用相对URL(它相对于.css文件的路径)

或者您可以在page.tpl.php中执行以下操作:

<img src="<?php url($directory . '/images/logo.png'); ?>" />

$ directory是模板所在的目录,例如网站/所有/主题/ customZen。

可以在此处找到page.tpl.php变量的完整列表:https://api.drupal.org/api/drupal/modules%21system%21page.tpl.php/7.x


0
投票

你解决了这个问题吗?嗯,如果你没有解决,请在你的page.tpl.php中尝试使用这个粘贴:

<img alt="" src="<?php echo drupal_get_path('theme', 'customZen');?>/images/logo.png">

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.