gpt4 book ai didi

php - 在 joomla 3 模板中使用 php 的 css 变量

转载 作者:行者123 更新时间:2023-11-28 12:13:52 25 4
gpt4 key购买 nike

我的想法是在 joomla 中使用模板参数来设置背景、文本或按钮的颜色。我想定义一个 css 类,而不是每次都使用 style="background-color: <?php echo $buttoncolor ?> ;"因为我不想编写无数的模板覆盖。

我相信这可能是非常有用的功能。

我的 templateDetails.xml 中的参数看起来像

<field name="buttoncolor" type="color" default="#309000"
label="TPL_BUTTON_COLOR_LABEL"
description="TPL_BUTTON_COLOR_DESC" />

关于如何在 css 中使用 php 变量的想法我在 CSS-Tricks 上找到

为了在我的 index.php 中链接到这个文件的 css 中使用 php 变量

<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/style.php" type="text/css"  />

我的 style.php 看起来像:

<?php 
header("Content-type: text/css; charset: UTF-8");
$buttoncolor = $this->params->get("buttoncolor");
?>

.buttoncolor {background-color: <?php echo $this->params->get('buttoncolor'); ?>;}

通常我在 index.php 中将变量设置为模板参数

<?php 
//parameter
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$params = $app->getParams();
$buttoncolor = $this->params->get('buttoncolor');
?>

不幸的是,我收到了以下错误: fatal error :当不在 style.php 的对象上下文中时使用 $this

非常感谢任何想法、解决方法和帮助!

最佳答案

请尝试删除$this。您的代码必须是:

  $app = JFactory::getApplication();
$template = $app->getTemplate(true);
$params = $template->params;
$buttoncolor = $params->get("buttoncolor");

Joomla 有一个特定的方法来设置 css style .你必须这样做:

  $document = JFactory::getDocument();
$style = ".buttoncolor {background-color: ".$buttoncolor."}";
$document->addStyleDeclaration($style);

祝你好运!

关于php - 在 joomla 3 模板中使用 php 的 css 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com