我得到了一个菜单,我想用joomla动态化(这样我就可以在某个类别下添加一篇文章,该类别是顶级菜单级别,该文章显示在该类别下的下拉列表中)。
这是我自己尝试的一些基本信息。
输出正确数据的查询:
// Het bedrijf
$bedrijf = "SELECT * FROM `lb_content` WHERE catid = 26 and state = 1";
$bedrijfcon = $conn->query($bedrijf);
$bedrijfcr = array();
while ($bedrijfcr[] = $bedrijfcon->fetch_array());
26是正确id的id。
这是我想要动态的html代码:
<li class="relative f_xs_none m_xs_bottom_5"><a href="javascript:void()" onclick="javascript:goToURL('http://www.website.nl')" class="tr_delay_hover color_light tt_uppercase"><b>Het bedrijf</b></a>
<!--sub menu-->
<div class="sub_menu_wrap top_arrow d_xs_none type_2 tr_all_hover clearfix r_corners">
<ul class="sub_menu">
<li><a class="color_dark tr_delay_hover" href="home/wie-zijn-wij">Wie zijn wij?</a></li>
<li><a class="color_dark tr_delay_hover" href="home/onze-showroom">Onze showroom</a></li>
<li><a class="color_dark tr_delay_hover" href="home/het-bedrijf/de-beste-keus">De beste keus</a></li>
<li><a class="color_dark tr_delay_hover" href="home/diensten/leveren-producten-voor-doe-het-zelf">Leveren producten voor doe-het-zelf</a></li>
<li><a class="color_dark tr_delay_hover" href="home/diensten/informatie-voor-aannemers">Informatie voor aannemers</a></li>
<li><a class="color_dark tr_delay_hover" href="home/diensten/informatie-voor-architecten">Informatie voor architecten</a></li>
</ul>
</div>
</li>
我现在的情况是,上面的查询在这个文件中包含的另一个文件中,所以该查询是可用的。
然后我做了这个代码:
<?
$i = 1;
$arraylist = array();
foreach($bedrijfcr as $menu1)
{
if(!in_array($menu1['id'],$arraylist) && $menu1['id'] != '')
{
$arraylist[] = $menu1['id'];
$menuitem1 =
'<li class="relative f_xs_none m_xs_bottom_5"><a href="http://vanroonenzoon.nl/" class="tr_delay_hover color_light tt_uppercase"><b>'.$menu1['title'].'</b></a>
<div class="sub_menu_wrap top_arrow d_xs_none type_2 tr_all_hover clearfix r_corners">
<ul class="sub_menu">';
$sub1 = "SELECT * FROM `lb_content` WHERE catid = 26 order by created DESC";
$subcon1 = $conn->query($sub1);
$subcr1 = array();
while ($subcr1[] = $subcon1->fetch_array());
}
$i++;
foreach($subcr1 as $submenu1)
{
$menuitem1 = '<li><a class="color_dark tr_delay_hover" href="'.GetSubNaam($submenu1['catid']).'/'.$submenu1['alias'].'">'.$submenu1['title'].'</a></li>';
}
$menuitem1 = '</ul>
</div>
</li>';
}
echo = $menuitem1;
?>
它没有给出任何错误,但也没有给出正确的数据。有人知道我做错了什么吗?
提前谢谢。
谢谢你的回答。
这就是我现在得到的输出。它反复循环这个部分,这不是我想要的。他循环所有$menuitem1,而我只希望它循环$subcr1 foreach中的部分。
<li class="relative f_xs_none m_xs_bottom_5"><a href="javascript:void()" onclick="javascript:goToURL(http://www.vanroonenzoon.nl)" class="tr_delay_hover color_light tt_uppercase"><b>Wie zijn wij</b></a>
<div class="sub_menu_wrap top_arrow d_xs_none type_2 tr_all_hover clearfix r_corners">
<ul class="sub_menu">
<li><a class="color_dark tr_delay_hover" href="/"></a></li></ul>
</div>
</li>
您没有连接字符串。外观:
$menuitem1 = '<li class="relative...';
...
$menuitem1 = '<li><a class="col ...';
...
$menuitem1 = '</ul>...';
使用.=
运算符可以附加字符串值。
<?
menuitem1 = "";
$i = 1;
$arraylist = array();
foreach($bedrijfcr as $menu1)
{
if(!in_array($menu1['id'],$arraylist) && $menu1['id'] != '')
{
$arraylist[] = $menu1['id'];
$menuitem1 .=
'<li class="relative f_xs_none m_xs_bottom_5"><a href="http://vanroonenzoon.nl/" class="tr_delay_hover color_light tt_uppercase"><b>'.$menu1['title'].'</b></a>
<div class="sub_menu_wrap top_arrow d_xs_none type_2 tr_all_hover clearfix r_corners">
<ul class="sub_menu">';
$sub1 = "SELECT * FROM `lb_content` WHERE catid = 26 order by created DESC";
$subcon1 = $conn->query($sub1);
$subcr1 = array();
while ($subcr1[] = $subcon1->fetch_array());
}
$i++;
foreach($subcr1 as $submenu1)
{
$menuitem1 .= '<li><a class="color_dark tr_delay_hover" href="'.GetSubNaam($submenu1['catid']).'/'.$submenu1['alias'].'">'.$submenu1['title'].'</a></li>';
}
$menuitem1 .= '</ul>
</div>
</li>';
}
echo $menuitem1;
?>