我需要能够根据查询字符串向body标签添加一个类。没有菜单条目,我可以设置页面类后缀。有没有办法以编程方式执行此操作?
答案 0 :(得分:2)
一种简单的方法是让您的模板监听查询并从网址中获取页面类参数。 假设形式为url:
example.com?index.php&pageclass=blablaclass
在模板index.php
中添加以下内容:
<?php
$jinput = JFactory::getApplication()->input;
$pageclass = $jinput->get('pageclass', 'default_value', 'cmd');
?>
<body class="<?php echo $pageclass; ?>">
答案 1 :(得分:-2)
虚构网址:
http://www.mysite.com?body_tag_param=blah1;
PHP:
$param = '';
if(isset($_GET['body_tag_param'])) {
$param = $_GET['body_tag_param'];
}
switch ($param) {
case 'blah1' :
$classname = 'hello1';
break;
case 'blah2' :
$classname = 'hello2';
break;
default :
$classname = 'default_class';
break;
}
$script = <<<SCRIPT
<script>
$(document.body).addClass('{$classname}');
</script>
SCRIPT;
$document = JFactory::getDocument();
$document->addCustomTag($script);
我没有和Joomla或Mootools搞砸了一段时间,因为它们很笨重但应该这样做。注意,另一个答案建议改变入口点index.php文件,这是一个可怕的想法。如果您不确定如何将Joomla框架放在一起,您可以尝试将其添加到模板中。无论哪种方式,您都不应该使用index.php文件。