首页 > php教程 > php手册 > 正文

PHPCMS V9 添加二级导航

php中文网
发布: 2016-10-22 00:00:10
原创
1330人浏览过

今天看了看phpcms 写到二级导航时发现点问题,查询导航栏的信息时返回的$r[arrchildid]与自己想象的不符,文档上说是返回子栏目id但是却有些不同。

开始的思路:

<span style="color: #008080;"> 1</span>  <ul <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">nav navbar-nav</span><span style="color: #800000;">"</span>>
<span style="color: #008080;"> 2</span>     <li <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">active</span><span style="color: #800000;">"</span>><a href=<span style="color: #800000;">"</span><span style="color: #800000;">{siteurl($siteid)}</span><span style="color: #800000;">"</span>>首页</a></li>
<span style="color: #008080;"> 3</span>        {pc:content action=<span style="color: #800000;">"</span><span style="color: #800000;">category</span><span style="color: #800000;">"</span> catid=<span style="color: #800000;">"</span><span style="color: #800000;">0</span><span style="color: #800000;">"</span> num=<span style="color: #800000;">"</span><span style="color: #800000;">10</span><span style="color: #800000;">"</span> siteid=<span style="color: #800000;">"</span><span style="color: #800000;">$siteid</span><span style="color: #800000;">"</span> order=<span style="color: #800000;">"</span><span style="color: #800000;">listorder ASC</span><span style="color: #800000;">"</span><span style="color: #000000;">}
</span><span style="color: #008080;"> 4</span> <span style="color: #000000;">          {loop $data $r}
</span><span style="color: #008080;"> 5</span>           {<span style="color: #0000ff;">if</span> $r[arrchildid]<span style="color: #000000;">}
</span><span style="color: #008080;"> 6</span>             <li <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dropdown</span><span style="color: #800000;">"</span>>
<span style="color: #008080;"> 7</span>               <a href=<span style="color: #800000;">"</span><span style="color: #800000;">{$r[url]}</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dropdown-toggle</span><span style="color: #800000;">"</span> child=<span style="color: #800000;">"</span><span style="color: #800000;">{$r[arrchildid]}</span><span style="color: #800000;">"</span> data-toggle=<span style="color: #800000;">"</span><span style="color: #800000;">dropdown</span><span style="color: #800000;">"</span>>{$r[catname]}<b <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">caret</span><span style="color: #800000;">"</span>></b></a>
<span style="color: #008080;"> 8</span>                  <ul <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dropdown-menu</span><span style="color: #800000;">"</span>>
<span style="color: #008080;"> 9</span>                   {pc:content action=<span style="color: #800000;">"</span><span style="color: #800000;">category</span><span style="color: #800000;">"</span> catid=<span style="color: #800000;">"</span><span style="color: #800000;">$r[catid]</span><span style="color: #800000;">"</span> num=<span style="color: #800000;">"</span><span style="color: #800000;">10</span><span style="color: #800000;">"</span> siteid=<span style="color: #800000;">"</span><span style="color: #800000;">$siteid</span><span style="color: #800000;">"</span> order=<span style="color: #800000;">"</span><span style="color: #800000;">listorder ASC</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">return</span>=<span style="color: #800000;">"</span><span style="color: #800000;">data2</span><span style="color: #800000;">"</span><span style="color: #000000;">}
</span><span style="color: #008080;">10</span> <span style="color: #000000;">                    {loop $data2 $v}
</span><span style="color: #008080;">11</span>                       <li><a href=<span style="color: #800000;">"</span><span style="color: #800000;">{$v[url]}</span><span style="color: #800000;">"</span>>{$v[catname]}</a></li>
<span style="color: #008080;">12</span>                     {/<span style="color: #000000;">loop}
</span><span style="color: #008080;">13</span>                   {/<span style="color: #000000;">pc}
</span><span style="color: #008080;">14</span>                  </ul>  
<span style="color: #008080;">15</span>             </li>
<span style="color: #008080;">18</span>           {/<span style="color: #0000ff;">if</span><span style="color: #000000;">}
</span><span style="color: #008080;">19</span>         {/<span style="color: #000000;">loop}
</span><span style="color: #008080;">20</span>      {/<span style="color: #000000;">pc}
</span><span style="color: #008080;">21</span> </ul>
登录后复制

大致思路:查询该文档下是否有子栏目id,如果有则输出二级导航。代码中第5行是检测该栏目下是否有子栏目id,但是我发现当没有子栏目时会返回当前栏目的id导致判断无法达到预期的效果,所以改变思路,代码如下:

<span style="color: #008080;"> 1</span>  <ul <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">nav navbar-nav</span><span style="color: #800000;">"</span>>
<span style="color: #008080;"> 2</span>     <li <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">active</span><span style="color: #800000;">"</span>><a href=<span style="color: #800000;">"</span><span style="color: #800000;">{siteurl($siteid)}</span><span style="color: #800000;">"</span>>首页</a></li>
<span style="color: #008080;"> 3</span>       {pc:content action=<span style="color: #800000;">"</span><span style="color: #800000;">category</span><span style="color: #800000;">"</span> catid=<span style="color: #800000;">"</span><span style="color: #800000;">0</span><span style="color: #800000;">"</span> num=<span style="color: #800000;">"</span><span style="color: #800000;">10</span><span style="color: #800000;">"</span> siteid=<span style="color: #800000;">"</span><span style="color: #800000;">$siteid</span><span style="color: #800000;">"</span> order=<span style="color: #800000;">"</span><span style="color: #800000;">listorder ASC</span><span style="color: #800000;">"</span><span style="color: #000000;">}
</span><span style="color: #008080;"> 4</span> <span style="color: #000000;">         {loop $data $r}
</span><span style="color: #008080;"> 5</span>            {<span style="color: #0000ff;">if</span> $r[arrchildid] !=<span style="color: #000000;"> $r[catid]}
</span><span style="color: #008080;"> 6</span>              <li <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dropdown</span><span style="color: #800000;">"</span>>
<span style="color: #008080;"> 7</span>                <a href=<span style="color: #800000;">"</span><span style="color: #800000;">{$r[url]}</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dropdown-toggle</span><span style="color: #800000;">"</span> child=<span style="color: #800000;">"</span><span style="color: #800000;">{$r[arrchildid]}</span><span style="color: #800000;">"</span> data-toggle=<span style="color: #800000;">"</span><span style="color: #800000;">dropdown</span><span style="color: #800000;">"</span>>{$r[catname]}<b <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">caret</span><span style="color: #800000;">"</span>></b></a>
<span style="color: #008080;"> 8</span>                  <ul <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">dropdown-menu</span><span style="color: #800000;">"</span>>
<span style="color: #008080;"> 9</span>                     {pc:content action=<span style="color: #800000;">"</span><span style="color: #800000;">category</span><span style="color: #800000;">"</span> catid=<span style="color: #800000;">"</span><span style="color: #800000;">$r[catid]</span><span style="color: #800000;">"</span> num=<span style="color: #800000;">"</span><span style="color: #800000;">10</span><span style="color: #800000;">"</span> siteid=<span style="color: #800000;">"</span><span style="color: #800000;">$siteid</span><span style="color: #800000;">"</span> order=<span style="color: #800000;">"</span><span style="color: #800000;">listorder ASC</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">return</span>=<span style="color: #800000;">"</span><span style="color: #800000;">data2</span><span style="color: #800000;">"</span><span style="color: #000000;">}
</span><span style="color: #008080;">10</span> <span style="color: #000000;">                      {loop $data2 $v}
</span><span style="color: #008080;">11</span>                         <li><a href=<span style="color: #800000;">"</span><span style="color: #800000;">{$v[url]}</span><span style="color: #800000;">"</span>>{$v[catname]}</a></li>
<span style="color: #008080;">12</span>                       {/<span style="color: #000000;">loop}
</span><span style="color: #008080;">13</span>                      {/<span style="color: #000000;">pc}
</span><span style="color: #008080;">14</span>                   </ul>  
<span style="color: #008080;">15</span>               </li>
<span style="color: #008080;">16</span>            {<span style="color: #0000ff;">else</span><span style="color: #000000;">}
</span><span style="color: #008080;">17</span>               <li><a href=<span style="color: #800000;">"</span><span style="color: #800000;">{$r[url]}</span><span style="color: #800000;">"</span>>{$r[catname]}</a></li>
<span style="color: #008080;">18</span>            {/<span style="color: #0000ff;">if</span><span style="color: #000000;">}
</span><span style="color: #008080;">19</span>         {/<span style="color: #000000;">loop}
</span><span style="color: #008080;">20</span>       {/<span style="color: #000000;">pc}
</span><span style="color: #008080;">21</span> </ul>
登录后复制

判断获取到的子栏目id是否等于该栏目id,等于则表示没有子栏目,不等于则表示有子栏目且显示子栏目

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号