重写内容Content类

Content类用于对模块内容数据的操纵,开发者可以对其进行重写继承,以便适用于自己项目的二次开发。

我们以Demo模块为例,新建App/Demo/Models/Content.php


<?php namespace Phpcmf\Model\Demo;

// 模块内容模型类

class Content extends \Phpcmf\Model\Content {

    // 内容发布之前
    public function _content_post_before($id, $data, $old) {
        return $data;
    }
    
    // 内容发布之后
    public function _content_post_after($id, $data, $old) { }
    
    // 内容删除之后
    public function _delete_content($id, $row) { }
    
    // 内容回收站之后
    public function _recycle_content($id, $row, $note) { }
    
    // 内容恢复之后
    public function _recovery_content($id, $row) { }
    
    // 打赏成功之后
    public function _content_donation_after($id, $pay) { }
    
    // 内复制成功之后
    public function _content_copy_after($id, $save) { }
    
    // 内容审核操作之后
    public function _call_verify($data, $verify) { }
    
    // 评论成功操作之后
    public function _comment_after($data) { }
    
    // 格式化处理内容
    public function _format_content_data($data) {
        return $data;
    }
    
    // 格式化显示内容
    public function _call_show($data) {
        return $data;
    }
    
    // 格式化栏目seo信息
    public function _format_category_seo($module, $data, $page) {
        return \Phpcmf\Service::L('Seo')->category($module, $data, $page);
    }
    
    // 格式化首页seo信息
    public function _format_home_seo($module) {
        return \Phpcmf\Service::L('Seo')->module($module);
    }
    
    // 格式化内容页seo信息
    public function _format_show_seo($module, $data, $page) {
        return \Phpcmf\Service::L('Seo')->show($module, $data, $page);
    }
    
    // 格式化内容搜索seo信息
    public function _format_search_seo($module, $catid, $params, $page) {
        return \Phpcmf\Service::L('Seo')->search($module, $catid, $params, $page);
    }
}


例子:删除内容之后,把被删除的内容对应的链接和标题保存到txt文档里,相当于一个操作日记

<?php namespace Phpcmf\Model\News;

// 模块内容模型类

class Content extends \Phpcmf\Model\Content {

    // 内容删除之后
    public function _delete_content($id, $row) {

        $content = dr_string2array($row['content']);
        if ($content[$this->mytable] && $content[$this->mytable]['url']) {
            file_put_contents(
                WEBPATH.'404.txt', 
                dr_url_prefix($content[$this->mytable]['url']).' - '.$content[$this->mytable]['title'].PHP_EOL, 
                FILE_APPEND
            );
        }
    }
    

}


用户评论

18素材网

一个让开发更高效的素材分享平台,用于快速开发强大的Web界面。


官方QQ群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:864918708
Css3+Html5讨论群
群号:864918708

加群请备注:从官网了解到