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); }
好了就这样把,详细的还得自己再操作一番,赶快去试试吧
历史大全
@ 八月11日,2020