Php 来自另一个模板的Joomla 3个参数

Php 来自另一个模板的Joomla 3个参数,php,joomla,parameters,joomla3.0,Php,Joomla,Parameters,Joomla3.0,是否可以将模板参数从一个模板转换为另一个模板?如果是这样,怎么办?我基本上是在尝试重用我的主模板中的一些参数,这是我为IE8和更少的用户所做的。对于将来遇到这个问题的任何人,我终于找到了方法。如果有人有更好的解决方案,请张贴 $db = JFactory::getDBO(); $sql = "SELECT params FROM `#__template_styles` WHERE `id` = 9"; //Set equal to template id $db->setQuery($s

是否可以将模板参数从一个模板转换为另一个模板?如果是这样,怎么办?我基本上是在尝试重用我的主模板中的一些参数,这是我为IE8和更少的用户所做的。

对于将来遇到这个问题的任何人,我终于找到了方法。如果有人有更好的解决方案,请张贴

$db = JFactory::getDBO();
$sql = "SELECT params FROM `#__template_styles` WHERE `id` = 9"; //Set equal to template id
$db->setQuery($sql); 
$db->query();
$row = $db->loadRow();
$json = $row[0];

$arrayExtract = json_decode($json, true);
extract($arrayExtract, EXTR_PREFIX_ALL, "dup");
//Note: this will add an underscore to end of dup
//      in all my searching, I never saw it documented
//      stumbled upon it by accident

//templateDetails.xml -> params 
echo $dup_logoText . "<br>";
echo $dup_Address . "<br>";

我可以看到这种方法被用于intranet类型的情况,在这种情况下,人们希望在intranet模板中使用主模板中的参数,而不是像我最初的问题中那样仅用于IE 8解决方案。

这里有一种更干净的方法来实现同样的目标。对于示例代码,我正在加载Joomla3.2包含的Protostar模板的清单文件并检索模板颜色字段

jimport('joomla.filesystem.file');
$params = new JRegistry(JFile::read(JPATH_ROOT . '/templates/protostar/templateDetails.xml'));
$color = $params->get('templateColor');

为什么要为使用旧浏览器的用户使用完全不同的模板?为什么不调整你目前的模板呢?它是IE8,我只想向他们显示一条消息,而不是给他们一个简单的网站。此外,如果我不使用现代技术,拥有现代技术的意义何在!在这种情况下,看看ie8升级插件,因为这可能就是你想要的:同意,这是一个比我更好的解决方案。我不知道有这样的事情存在!