山水邀月 發表於 2020-1-26 20:52:25

织梦DedeCMS在{dede:channel}标签前加序列号的方法

<p>我们在制作织梦模板的时候,经常想实现这样的一个样式功能:在DedeCMS网站导航中都会添加一些样式,这样能让导航看起来很美观大方。但是{dede:channel}标签是不能修改的,想要有一个好看的样式效果,还要修改一些标签。</p>
<p>默认的{dede:channel}调用方法:</p>
<blockquote>
<p>{dede:channel type='top' row='8'} <br />
&lt;a href=&quot;&quot; title=&quot;&quot; class=&quot;dh1&quot;&gt;&lt;/a&gt;<br />
{/dede:channel}</p>
</blockquote>
<p>通过修改,改成下面的样式:</p>
<blockquote>
<p>{dede:channel type='top' row='8' line='2'} <br />
&lt;a href=&quot;&quot; title=&quot;&quot; class=&quot;dh&quot; &gt;&lt;/a&gt;<br />
{/dede:channel}</p>
</blockquote>
<p>修改步骤如下:</p>
<p>打开文件include/taglib/channel.lib.php,</p>
<p>把</p>
<blockquote>
<p>$attlist = &quot;typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|&quot;;</p>
</blockquote>
<p>修改成</p>
<blockquote>
<p>$attlist = &quot;typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,line|1&quot;;</p>
</blockquote>
<p>//|后面的1,代表初始值</p>
<p>在第9行附近追加如下代码:</p>
<blockquote>
<p>//默认属性里设置的行数<br />
$default_line = $ctag-&gt;CAttribute-&gt;Items[&quot;line&quot;];</p>
</blockquote>
<p>把下面代码</p>
<blockquote>
<p>$row['sonids'] = $row['rel'] = '';</p>
</blockquote>
<p>修改成</p>
<blockquote>
<p>$row['sonids'] = $row['rel'] = ''; $row['line'] = $default_line+$i;</p>
</blockquote>
<p>如果要使用currentstyle样式,即当前栏目样式,则必修将刚才的&quot;line&quot;字段,追加到下面代码后面</p>
<blockquote>
<p>$linkOkstr = str_replace(&quot;~rel~&quot;,$row['rel'],$linkOkstr);<br />
$linkOkstr = str_replace(&quot;~id~&quot;,$row['id'],$linkOkstr);<br />
$linkOkstr = str_replace(&quot;~typelink~&quot;,$row['typelink'],$linkOkstr);<br />
$linkOkstr = str_replace(&quot;~typename~&quot;,$row['typename'],$linkOkstr);<br />
$linkOkstr = str_replace(&quot;~line~&quot;,$row['line'],$linkOkstr);</p>
</blockquote>
<p>完成。</p>
頁: [1]
查看完整版本: 织梦DedeCMS在{dede:channel}标签前加序列号的方法