Joomla有一个名为Jreviews的扩展名。它有一个模块,列出树形结构中的Joomla的部分和类别。我想把它转换成双下拉。
我从中获得了一个脚本,使得Joomla网站的部分和类别处于双重下拉状态。我只需修改其结果URL,将其与Jreviews树结构URL匹配,我就完成了。
在脚本中,我发现了这段代码:
var iCatID = document.getElementById('catselect_cat').value;
var iSecID = document.getElementById('catselect_sec').value;
if (iCatID != 0)
**window.location= jsLiveSite+'index.php?option=com_content&view=category&layout=blog&id='+iCatID+'&Itemid='+iItemID;**
else
alert('Please select a section and a category');
在这段代码中,如果我可以用Jreviews目录模块url替换粗线,我会得到所需的结果。在我的网站中,Jreviews目录包含以下类别的URL:
http://www.yoursite.com/component/jreviews/jreviews_directory_name/section_name/category_name_alias/
定义('_ JEXEC')或死('限制访问'); 全球$ mainframe; $ database =& JFactory :: getDBO(); $ itemid = trim($ params-> get('linkmenu'));
//选择已发布的部分 $ query =“SELECT s.id,s.title FROM #__sections AS s WHERE s.published = 1”;
$数据库 - > setQuery($查询); $ sections = $ database-> loadObjectList();
$ query =“SELECT c.id,c.title,c.section FROM #__categories AS c” 。“在哪里c.published = 1”;
$ database-> setQuery($ query); $ categories = $ database-> loadObjectList();
//生成javascript函数和变量 回声(“ var jsCat = [];
jsCat=[");
foreach ($categories as $item)
{
echo("[".$item->id.",\"".$item->title."\",\"".$item->section."\"],");
}
echo(“[0,\”选择类别\“,\”0 \“]]; \ n
var iItemID =“); 回波($的itemid); 回声(” var jsLiveSite ='“); 回波(JURI ::碱()); echo(“'; \ n
function jsRemoveAll(cControl) { var cCat = document.getElementById(cControl);
for( var i=(cCat.options.length - 1); i >=0 ; i--)
{
cCat.remove(i);
}
}
function jsOnSecSelect() { jsRemoveAll( 'catselect_cat');
var cSec = document.getElementById('catselect_sec');
var cCat = document.getElementById('catselect_cat');
var iSecID = cSec.options[cSec.selectedIndex].value;
for (var i=0; i<jsCat.length; i++)
{
if (jsCat[i][2] == iSecID)
{
var cOpt = document.createElement(\"option\");
cOpt.value = jsCat[i][0];
cOpt.text = jsCat[i][1];
cOpt.secID = jsCat[i][2];
cCat.options.add(cOpt);
}
}
}
function jsOnFormSubmit() {
var iCatID = document.getElementById('catselect_cat').value;
var iSecID = document.getElementById('catselect_sec').value;
if (iCatID != 0)
window.location= jsLiveSite+'index.php?option=com_content&view=category&layout=blog&id='+iCatID+'&Itemid='+iItemID;
else
alert('Please select a section and a category');
} “);
回波( “”); //生成表单 回声(”
选择部分“); foreach($ sections作为$ item) { echo(“id。”'&gt;“。$ item-&gt; title。”\ n“); } 回声(” \ n 选择类别\ n \ n“);
&GT;
答案 0 :(得分:0)
根据您发布的内容,您发现错误的地方。您发布的代码只是从表单中获取值(最有可能)并使用它们来创建URL。在代码的这一点上,不太可能有与该部分或类别相关的任何其他信息。最好的办法是找到创建表单的代码。然后,这是稍微改变查询甚至只是更改用于创建表单的字段的问题。我们需要查看创建下拉列表的代码,以便为您提供更具体的答案。