php - 覆盖 joomla template.php 正文背景颜色(网站背景)

标签 php html css joomla joomla-template

我正在使用带有艺术家模板的 joomla 2.5, 我写了一个显示和排序产品列表的自定义组件,产品本身也是组件的一部分并保存在数据库中。 我想做的是根据if条件为特定产品或产品类别设置不同的body background

if (product_category == 1):
   <body id="background1">
   ...

但问题是 <body id="someID">是在组件加载前在template.php中加载的,所以即使我在组件中设置了body背景,背景也不会改变。但是,如果我从 template.php 中删除 body css id decleration 并将其保留为 <body>而不是 <body id="someID"> ,然后是组件 <body id...>声明正确地设置了背景,但是与该组件无关的任何其他页面都具有空白的白色背景。

我想我需要做的是找到一种方法来设置默认背景,以防其他地方没有定义背景,或者以某种方式覆盖当前背景并使组件再次加载正文背景,我是 php 的新手和 css,但有一点帮助和我的指导,我想我可以找到自己的方式 :) 任何帮助将不胜感激!!!谢谢!

最佳答案

尝试做这样的事情:

<?php
$doc = JFactory::getDocument();
  if(product_category == 1){
     $css = 'body {'
           .'background: url(' . JURI::root() . 'components/com_yourcomponent/file.jpg) !important;'
           .'}';
     $doc->addScriptDeclaration($css);
  }    
?>

您需要根据需要更改背景路径。

希望对你有帮助

关于php - 覆盖 joomla template.php 正文背景颜色(网站背景),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15139088/

相关文章:

php - Laravel PackageManifest.php 行 131 : Undefined index: name

php - 按小时对时间值进行分组

JavaScript 函数未定义

javascript - jQuery - 在函数调用中使用当前对象

html - 在html中嵌入pdf时出现白线

javascript - 选中一个复选框以选中所有,自定义复选框

php - PHP 中的 Bresenham 直线算法

php - 我想在我的数据库中搜索数组的键

javascript - 如何使用 Javascript/Ajax 但不使用 jQuery 获取远程 url 的状态代码?

HTML & CSS - 不能分割菜单和其他对象