解决一级分类无法获取所有子类下边文章的问题


找到 /app/portal/model/PortalPostModel.php 文件

替换方法adminAddArticle的代码 保存 在发布就可以了


/**

     * 后台管理添加文章

     * @param array $data 文章数据

     * @param array|string $categories 文章分类 id

     * @return $this

     */

    public function adminAddArticle($data, $categories)

    {

        $data['user_id'] = cmf_get_current_admin_id();

      

        if (!empty($data['more']['thumbnail'])) {

            $data['more']['thumbnail'] = cmf_asset_relative_url($data['more']['thumbnail']);

        }

       

        $this->allowField(true)->data($data, true)->isUpdate(false)->save();

        if (is_string($categories)) {

            $categories = explode(',', $categories);

        }

        //重组数组

        $arr = array();

        foreach($categories as $key=>$v){

            $id = $v ; $arr[] = $v ;

            for($i=0;$i<=100;$i++){

                $parent = Db::name("portal_category")->where(['id'=>$id])->field("id,parent_id")->find();

                if($parent['parent_id'] != '0'){

                    $arr[] = $parent['parent_id'] ;

                    $id = $parent['parent_id'] ;

                }else{

                     break; 

                }

            }

            unset($parent); unset($id);

        }

        unset($categories);

        $categories = array_unique($arr);

        $this->categories()->save($categories);

      

        $data['post_keywords'] = str_replace(',', ',', $data['post_keywords']);


        $keywords = explode(',', $data['post_keywords']);

        $this->addTags($keywords, $this->id);


        return $this;


    }



评论

暂时关闭,稍后恢复~
文档请看10遍以上!有问题可加QQ群!
发表话题

源素材推荐

提问必知

0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复

积分规则

1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号


ThinkCMF 8.0.0发布啦!祝大家节日快乐! 立即体验!