我需要能夠根據查詢字符串向主體標記添加一個類。沒有可以設置頁面類後綴的菜單條目。有沒有辦法做到這一點編程?以編程方式更改主體類
0
A
回答
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; ?>">
-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文件。
相關問題
- 1. 以編程方式更改awesomewm主題
- 2. UINavigationBar:以編程方式更改字體
- 3. 以編程方式Angularjs +彈簧引導安全更改主體
- 4. 以編程方式更改標籤方向,編程方式
- 5. mgwt - 以編程方式更改方向
- 6. 以編程方式更改主要啓動程序活動
- 7. 以編程方式更改字體時Libgdx皮膚未更新
- 8. 以編程方式更改默認字體大小(樣式)
- 9. 以編程方式更改Gnome終端主題
- 10. 以編程方式基於主題的Android更改按鈕
- 11. 如何以編程方式更改AppCompat v21工具欄主題?
- 12. 在Mac上以編程方式更改主顯示器
- 13. 在drupal中以編程方式更改管理主題
- 14. 如何以編程方式更改Windows桌面主題
- 15. 以編程方式更改VS2012顏色主題
- 16. 如何以編程方式更改當前的Windows主題?
- 17. 以編程方式更改Windows Mobile 6.1主題
- 18. Tomcat:以編程方式更改虛擬主機?
- 19. 如何以編程方式更改手機上的主題
- 20. 以編程方式更改活動Drupal 7主題
- 21. 以編程方式更改Firefox中的主頁
- 22. onCreate()後以編程方式更改主題
- 23. 如何以編程方式更改OctoberCMS中的主題?
- 24. 以編程方式更改Aino Galleria主題
- 25. 以編程方式更改活動的主題
- 26. 如何以編程方式更改主卷?
- 27. 以編程方式更改ImageResource(繪製)
- 28. 以編程方式更改膚色
- 29. xaml - 以編程方式更改StandardStyles
- 30. 如何以編程方式更改card_view:cardCornerRadius
這也是一個壞主意。它使用不應該在Joomla中使用的$ _GET,並且需要使用jQuery庫來實現這樣一個小功能。至於其他答案,代碼可以簡單地放在屬於模板文件夾的index.php中,而不是根。如果這不是Joomla網站,那麼我會說這將是一個很好的答案,但對Joomla來說,這有點矯枉過正:) – Lodder
不,$ _GET是PHP。 Joomla是PHP。我沒有使用jQuery,addClass()是mootools。 –
是的,但Joomla有自己的方法,他們正在儘快擺脫mootools – Lodder