今天晚上在重写zblogPHP主题ydblack模板,其中的侧栏模块需要调用站长指定的文章,之前的调用方法比较落伍,基本是主题配置内输入文章ID数字,多ID英文小逗号隔开,这种方法实在不人性化,更新起来也并不是很方便。
所以写了这种方法,在编辑文章的时候,直接选择是否加入即可调用在对应模块!
首先,在include.php加入:
function ydblack_article_post() { global $zbp, $article; if($article->Type=="0"){ echo ''; $cnziduan='加入快讯|加入专题'; $ar=explode('|',$cnziduan); foreach ($ar as $r) { echo ' <input type="hidden" name="meta_'.$r.'" value=""/> <label> <input type="checkbox"name="meta_'.$r.'" value="'.htmlspecialchars($r).'" '; if ($article->Metas->$r == $r){echo 'checked="checked"';} echo ' class="'.$r.'" /> '.$r.'</label><br />'; } }//判断文章、页面 }
记得挂载:
Add_Filter_Plugin('Filter_Plugin_Edit_Response5','ydblack_article_post');//
而在模板中的调用:
{php} $TeOrder = array('log_PostTime'=>'DESC'); $TeWhere = array(array('=','log_Status','0')); $TeWhere[]=array('like','log_Meta','%加入快讯%'); $TeArray = $zbp->GetArticleList(array('*'),$TeWhere,$TeOrder,array(10),''); {/php} {foreach $TeArray as $telist} <li><a href="{$telist.Url}">{$telist.Time('Y-m-d')}</a></li> {/foreach}