ZB隐藏的文章类型有

define('ZC_POST_TYPE_ARTICLE', 0); // 文章
define('ZC_POST_TYPE_PAGE', 1); // 页面
define('ZC_POST_TYPE_TWEET', 2); // 一句话
define('ZC_POST_TYPE_DISCUSSION', 3); // 讨论
define('ZC_POST_TYPE_LINK', 4); // 链接
define('ZC_POST_TYPE_MUSIC', 5); // 音乐
define('ZC_POST_TYPE_VIDEO', 6); // 视频
define('ZC_POST_TYPE_PHOTO', 7); // 照片
define('ZC_POST_TYPE_ALBUM', 8); // 相册
define('ZC_POST_TYPE_ARTICLE', 0); // 文章 define('ZC_POST_TYPE_PAGE', 1); // 页面 define('ZC_POST_TYPE_TWEET', 2); // 一句话 define('ZC_POST_TYPE_DISCUSSION', 3); // 讨论 define('ZC_POST_TYPE_LINK', 4); // 链接 define('ZC_POST_TYPE_MUSIC', 5); // 音乐 define('ZC_POST_TYPE_VIDEO', 6); // 视频 define('ZC_POST_TYPE_PHOTO', 7); // 照片 define('ZC_POST_TYPE_ALBUM', 8); // 相册

定义一下type和Url模板

$zbp->RegPostType(2,'tweet',$zbp->option['ZC_ARTICLE_REGEX'],'zbpPlus-tweet');
$zbp->RegPostType(3,'discussion',$zbp->option['ZC_ARTICLE_REGEX'],'zbpPlus-discussion');
$zbp->RegPostType(4,'link',$zbp->option['ZC_ARTICLE_REGEX'],'zbpPlus-link');
$zbp->RegPostType(5,'music',$zbp->option['ZC_ARTICLE_REGEX'],'zbpPlus-music');
$zbp->RegPostType(6,'video',$zbp->option['ZC_ARTICLE_REGEX'],'zbpPlus-video');
$zbp->RegPostType(7,'photo',$zbp->option['ZC_ARTICLE_REGEX'],'zbpPlus-photo');
$zbp->RegPostType(8,'album',$zbp->option['ZC_PAGE_REGEX'],'zbpPlus-album');

这里我们还可以自己加

define('ZC_POST_TYPE_GOODS', 9);// 商品 
$zbp->RegPostType(9,'goods',$zbp->option['ZC_ARTICLE_REGEX'],'zbpPlus-good');       
define('ZC_POST_TYPE_TOPIC', 10);// 专题
$zbp->RegPostType(10,'topic',$zbp->option['ZC_PAGE_REGEX'],'zbpPlus-topic');

给个统一的数组

$xxx = array('文章','页面','一句话','讨论','链接','音乐','视频','照片','相册','商品','专题');

文章设置了其他的类型后列表包括后台文章列表都不会显示,那么怎么调用列表?

$w = array();
//单独查询某个类型
$w[] = array('=', 'log_Type', 6);
//排除独立页面
$w[] = array('<>', 'log_Type', 1);
//查询要用的函数
$articles = $zbp->GetPostList($select = null, $where = null, $order = null, $limit = null, $option = null);


当然最重要的在这里,我们需要在编辑文章的时候把你要的数据post进去

先定义编辑页面的Filter_Plugin_Edit_Response3接口 添加文章类型选项

if ($article->Type == 0){     
$selected = '<option selected="selected" value="'.$article->Type.'"> 文章 </option>';       
}elseif ($article->Type == 1){       
$selected = '<option selected="selected" value="'.$article->Type.'"> 页面 </option>';   
}elseif ($article->Type == 2){        
$selected = '<option selected="selected" value="'.$article->Type.'"> 一句话 </option>';   
}elseif ($article->Type == 3){         
$selected = '<option selected="selected" value="'.$article->Type.'"> 讨论 </option>';        
}elseif ($article->Type == 4){       
$selected = '<option selected="selected" value="'.$article->Type.'"> 链接 </option>';       
}elseif ($article->Type == 5){       
$selected = '<option selected="selected" value="'.$article->Type.'"> 音乐 </option>';       
}elseif ($article->Type == 6){       
$selected = '<option selected="selected" value="'.$article->Type.'"> 视频 </option>';       
}elseif ($article->Type == 7){       
$selected = '<option selected="selected" value="'.$article->Type.'"> 照片 </option>';       
}elseif ($article->Type == 8){       
$selected = '<option selected="selected" value="'.$article->Type.'"> 相册 </option>';       
}elseif ($article->Type == 9){       
$selected = '<option selected="selected" value="'.$article->Type.'"> 商品 </option>';       
}elseif ($article->Type == 10){       
$selected = '<option selected="selected" value="'.$article->Type.'"> 专题 </option>';       
}else{        
$selected = '<option selected="selected" value="0">文章</option>';     
}      
echo '<li>
<label for="'. $key .'" >'. $value .'</label>
<select style="width:180px;" class="edit" id="post_type" size="1" name="' . $key . '">'.$selected.'
<option value="0"> 文章 </option>
<option value="1"> 页面 </option>
<option value="2"> 一句话 </option>
<option value="3"> 讨论 </option>
<option value="4"> 链接 </option>
<option value="5"> 音乐 </option>
<option value="6"> 视频 </option>
<option value="7"> 照片 </option>
<option value="8"> 相册 </option>
<option value="9"> 商品 </option>
<option value="10"> 专题 </option>
</select>
</li>';

然后通过Filter_Plugin_PostArticle_Succeed接口将传进来的post值写进article.Type

function zbpPlus_post_succeed(&$article){
global $zbp;
if (GetVars('post_type', 'POST')) {
if (GetVars('post_type', 'POST') == 2){
$article->Title = preg_replace('/[\r\n\s]+/', '',trim(SubStrUTF8(FormatString($article->Content,'[nohtml]'),100)));
}
$article->Type = GetVars('post_type', 'POST');
}
$article->Save();
}

对了,要前台显示还要利用Filter_Plugin_ViewList_Core加工一下

function zbpPlus_ViewList_Core(&$type,&$page,&$category,&$author,&$datetime,&$tag,&$w,&$pagebar){
global $zbp;
$w[] = array('<>', 'log_Type', 1);
}

好了就这样把,详细的还得自己再操作一番,赶快去试试吧

zblog.jpg