我有一个 Joomla 项目,我在更改下拉菜单列表中的链接时遇到了小问题。
我有这个菜单及其子菜单。
商店
- firstcat
- secondcat
- thirdcat
HTML:
<ul class="level2">
<li>
<a id="firstcat" href="/my_website/index.php/shop/firstcat">First Cat</a>
</li>
<li>
<a id="secondcat" href="/my_website/index.php/shop/secondcat">Second Cat</a>
</li>
<li>
<a id="thirdcat" href="/my_website/index.php/shop/thirdcat">Third Cat</a>
</li>
</ul>`
在 Joomla 中默认菜单项链接到它们的 category_alias。但我想将菜单链接到它们的 category_id。现在,我想获取他们不同的 id(s) 并在数据库中找到他们对应的 category_ids 并将href
in 替换为他们的 category_id。
像这样:
<a id="firstcat" href="/my_website/index.php/shop?16">FirstCat</a>
<a id="secondcat" href="/my_website/index.php/shop?17">SecondCat</a>
<a id="thirdcat" href="/my_website/index.php/shop?18">ThirdCat</a>
我只想通过 JavaScript 或 jQuery 来完成,因为在 Joomla 中挖掘文件并将别名替换为 id 需要时间。
目前,我只手动完成。
$('ul.level2 li a#firstcat').attr('href','/my_website/index.php/shop?catid=16');
$('ul.level2 li a#secondcat').attr('href','/my_website/index.php/shop?catid=17');
$('ul.level2 li a#thirdcat').attr('href','/my_website/index.php/shop?catid=18');
在 php 部分,我必须得到他们的 category_id 是这个。
<?php
echo $menuItem->alias . '<br/>';
$db = & JFactory::getDBO();
$db->setQuery('SELECT id FROM #__k2_categories WHERE alias="' . $menuItem->alias . '"');
$result = $db->loadResult();
echo $result;
foreach ($result as $res) {
echo $res->id;
}
?>
$menuItem->alias
-> 获取当前正在查看的项目的别名。