2012-07-10 94 views
0

有没有办法找出html.tpl.php中父页面的标题是什么?我问,因为我改变我的背景图片取决于我的网页上选择的父母链接。 希望这是有道理的,网址是:http://quaaoutlodge.com/drupal-7.14/搞清楚html.tpl.php中的父链接

谢谢你,罗恩


没弄清楚如何可以做到这一点......不得不修改我的架构,并采取必要的措施,完成我想要做的事...

+2

你能解释一下“父页面”是什么意思吗? – deefour 2012-07-10 04:26:15

回答

2

PHP是一种服务器端编程语言。当用户请求一个页面时,服务器会为该页面执行PHP并将生成的HTML发送给用户。 PHP通信只能以这种方式发生。用户只能看到生成的HTML。如果用户需要与PHP交互(如更改页面输出),用户必须发起另一个页面请求。

Javascript是一种客户端编程语言。在正常的服务器环境中,Javascript执行只发生在用户的机器上(不在服务器上)。在PHP执行期间不会发生Javascript执行,所以你不能将Javascript代码与PHP代码混合。 Rab的建议使用Javascript并不能回答你的问题,你的回复是试图将Javascript与PHP混合使用。

在Drupal条款中,您可以通过有组织的菜单访问站点上的节点集合。每当用户查看特定一级菜单项的子页面时,您都希望更改页面上的特定图像(我将假定Quaaout小屋标识)。例如,查看“我们的历史”或“到达这里”将加载(而不是默认的Quaaout Lodge标志)以某种方式连接到“The Lodge”的父项目的不同图像。

一个最简单的解决方案,因为它好像你是不是很熟悉的Drupal是指定的图像在CSS,而不是作为一个img元素的background-image属性。每个页面应该有一个唯一的类属性应用于其页面的body元素。例如,在“我们的历史”页面上,适用于body元素的类别之一是page-node-7page-node-7不适用于Drupal中的任何其他页面。您可以快速查找每个页面的唯一类,并添加CSS属性以更改每个页面的background-image等。如果您想使用此方法,但使其更清洁一些,则可以使用Node Class module来应用自定义类到每个页面。您可以在“The Lodge”菜单项下创建的每个页面添加一个“小屋图像”类。这可以让内容编辑人员更改特定页面的图像,而无需任何人直接修改CSS。我假设(我可能是错的),Drupal7中的Node Class模块会将一个类添加到body元素以及节点的HTML容器中。

或者,更好的解决方案是使用Drupal模块根据特定菜单或路径条件选择徽标。这些仅在使用Drupal中的徽标配置选项(在外观设置中)设置图像时才有效。最合适的模块可能是Logo Tool,但它尚未针对Drupal7开发,所以它还不是一个选项。 Subsites module在开发中有一个Drupal7版本。 Dev版本通常不推荐用于生产站点,但似乎值得一试。

一些其他的方法,更好但会更困难的是:覆盖/设置模板中的标志。php预处理功能,编写一个新的模块来设置标识或创建一个自定义图像块(并添加一个新的区域到您的主题中显示块),自行将徽标工具转换为Drupal7,编写一个新模块以自动添加一个用于页面菜单祖先的body元素的class属性(除了创建菜单条目之外,不需要额外操作的CSS方法),还有一些我能想到的。

所以你有很多选择。