1

我对 PHP 完全陌生(2 周),我为 Joomla 创建了一个简单的脚本,它将保存我的管理区域选项中的参数,并将这些值放入 CSS 格式并保存文件。这是一个很长的 CSS 脚本,但这里有一个例子......

<?php
ob_start();
?>

<?php
////////////// Custom colours set from the admin panel
if ($this->params->get('templateColor'))
{
?>
/* <?php echo($template); ?>: Custom Auto-Generated CSS Colors As Set in Admin Template     Parameters */

body.site {
border-top: 3px solid <?php echo $this->params->get('templateColor');?>;
background-color: <?php echo $this->params->get('templateBackgroundColor');?>
}
<?php
}
?>
 <?php

$googlefontcss = ob_get_contents();
ob_end_clean();
file_put_contents('templates/'.$template.'/css/googlefonts.css', $googlefontcss);
?>

这是我的问题,所有这些东西都存储在一个从我的索引文件调用的帮助文件中,但这会导致每次加载页面时都会创建 CSS 文件,而不是在我调整和保存我的参数时后端。当然,如果我有很多流量,即使 css 文件很短(它比这里显示的长),这也会给服务器带来压力。

作为一个新手,我不知道如何避免这个问题,而是只在更改和保存选项时写入文件。有人建议更好的方法吗?

4

1 回答 1

1

我真的很困惑你为什么要这样做。首先,Joomla 有一种方法可以为模板保存参数并使用它们,您正在这样做。它还具有在模板中包含 css 文件的标准方法。如果您不想将 addStyle() 直接添加到模板文件中,则可以使用插件轻松完成此操作。同样对于 google font api,只需看看 protostar 是如何做到的。

我真的认为你需要看看模板在 Joomla 中是如何工作的——除非你使用包含的模板之一,否则它不会修改核心来修改你的模板索引——在这种情况下复制它,你可以用一个来做点击 2.5 和 3。

如果您真的必须这样做,请制作一个插件。插件的 JED 中有很多示例可以在模板中包含文件。http://extensions.joomla.org/extensions/core-enhancements/coding-a-scripts-integration/head-code

于 2013-09-09T11:26:38.600 回答