<p >做模板时,经常需要为每个栏目加上此栏目的文章数。<br />
<br />
我根据查找其它模板,或者搜索论坛找到一个好方法。供朋友使用。也为自己备份在论坛<br />
<br />
。<br />
<br />
此方法适合5.6及5.7 其它未测<br />
<br />
修改 include/common.func.php文件,在最后加以下代码:<br />
<br />
</p>
<p><br />
</p>
<p ></p>
<p><br />
</p>
<pre ><ol class="dp-xml"><li class="alt"><span><span>//统计栏目文章数 </span></span></li><li><span>functionGetTotalArc($tid){ </span></li><li class="alt"><span>global$dsql; </span></li><li><span>$</span><span class="attribute">sql</span><span>=</span><span class="attribute-value">GetSonIds</span><span>($tid); </span></li><li class="alt"><span>$</span><span class="attribute">row</span><span>=$dsql-</span><span class="tag">></span><span>GetOne("Selectcount(id)asddFromdede_archiveswheretypeid </span></li><li><span>in({$sql})"); </span></li><li class="alt"><span>return$row['dd']; </span></li><li><span>} </span></li><li class="alt"><span>//统计当前栏目信息数 </span></li><li><span>functiondynamic_num($current_id){ </span></li><li class="alt"><span>global$dsql; </span></li><li><span>//读取当前栏目的子ID </span></li><li class="alt"><span>$</span><span class="attribute">sql</span><span>="SELECTidFROM`dede_arctype`WHERE</span><span class="attribute">id</span><span>=</span><span class="attribute-value">'$current_id'</span><span>|| </span></li><li><span class="attribute">topid</span><span>=</span><span class="attribute-value">'$current_id'</span><span>"; </span></li><li class="alt"><span>$dsql-</span><span class="tag">></span><span>SetQuery($sql); </span></li><li><span>$dsql-</span><span class="tag">></span><span>Execute(); </span></li><li class="alt"><span>while($</span><span class="attribute">row</span><span>=$dsql-</span><span class="tag">></span><span>GetArray()){ </span></li><li><span>$arr[]=$row[id]; </span></li><li class="alt"><span>} </span></li><li><span>foreach($arras$</span><span class="attribute">key</span><span>=</span><span class="tag">></span><span>$value){ </span></li><li class="alt"><span>$type</span><span class="attribute">.</span><span>=$value.','; </span></li><li><span>} </span></li><li class="alt"><span>$</span><span class="attribute">ty</span><span>=</span><span class="attribute-value">""</span><span>.$type."0"; </span></li><li><span>//echo$ty; </span></li><li class="alt"><span>$</span><span class="attribute">t_num</span><span>=$dsql-</span><span class="tag">></span><span>GetOne("selectcount(*)asnumfrom`dede_archives`wheretypeid </span></li><li><span>in($ty)"); </span></li><li class="alt"><span>//echo$t_num[num]; </span></li><li><span>if(is_array($t_num)){ </span></li><li class="alt"><span>return"".$t_num[num].""; </span></li><li><span>}else{ </span></li><li class="alt"><span>return"0"; </span></li><li><span>} </span></li><li class="alt"><span>}</span></li></ol></pre>
<p><br />
</p>
<p ><br />
<br />
模板里的调用代码:<br />
<br />
</p>
<p><br />
</p>
<p ></p>
<p><br />
</p>
<pre ><ol class="dp-xml"><li class="alt"><span><span>(该类拥有{dede:type}[field:id</span><span class="attribute">function</span><span>=</span><span class="attribute-value">"dynamic_num(@me)"</span><span>/]{/dede:type} </span></span></li><li><span>个文档)</span></li></ol></pre>
<p><br />
</p>
<p ><br />
<br />
和<br />
<br />
</p>
<p><br />
</p>
<p ></p>
<p><br />
</p>
<pre ><ol class="dp-xml"><li class="alt"><span><span>[field:ID</span><span class="attribute">runphp</span><span>=</span><span class="attribute-value">'yes'</span><span>]@</span><span class="attribute">me</span><span>=</span><span class="attribute-value">GetTotalArc</span><span>(@me);[/field:ID]</span></span></li></ol></pre>
<p><br />
</p>
<p ><br />
<br />
例如:<br />
<br />
{dede:field name='typename'/}(该类拥有{dede:type}[field:id<span class="Apple-converted-space"></span><br />
<br />
function="dynamic_num(@me)" /]{/dede:type}个文档)<br />
<br />
{dede:channel type='son' }<span class="Apple-converted-space"></span><br />
<br />
<br />
<br />
</p>
<ul>
<li><a href="[field:typelink/]">[field:typename/]</a>(<span>[field:ID<span class="Apple-converted-space"></span><br />
<br />
runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)<br />
<br />
{/dede:channel}
<p></p>
</li>
</ul>