finecms基础操作

来源:互联网 发布:如何盗用淘宝图片 编辑:程序博客网 时间:2024/06/07 05:23

1.栏目创建

模板设置
没有子类进入列表首页
有子类进入列表页
内容页直接{$..}调用数据
其他页要使用list等语法

>list标签    {list action=cache name=module} 获取全部模块数据    {list action=content}           获取内容详情    {list action=category}          获取栏目    {list action=linkage}           获取联动菜单    {list action=search_field}      获取搜索字段(不知如何使用)    {list action=related}           相关文章    {list action=tags}              全局tags    {list action=sql}               sql查询    {list action=table}             数据表查询    {list action=form}              站点表单循环    {list action=member}            会员循环    {list action=module}            循环模块内容数据    {list action=search}            模块搜索    pid     上级栏目ID    tid     顶级栏目ID    catid   当前栏目ID

2.插件开发

>创建插件配置文件:finecms/app/名.php    <?php    // 此文件用于开发插件用    return array(        'menu' => array(            '控制器名称/方法名称' => array('自定义插件名称', 'fa fa-user')        ),        'cache' => array(            array(                'url' => dr_url('控制器名称/cache', array('admin' => 1)),                'name' => fc_lang('%s缓存', fc_lang('插件缓存更新')),            ),        )    );    注解:        menu是插件的菜单,表示你这个插件有哪些菜单出现在后台、        cache表示每次更新缓存时就会运行这个缓存文件,比如初始化插件、安装数据库等操作>创建数据库    cache/install/SQL名.sql    DROP TABLE IF EXISTS `{dbprefix}blogroll`;    CREATE TABLE `{dbprefix}blogroll` (      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号',      `name` varchar(200) NOT NULL COMMENT '名称',      `url` varchar(200) NOT NULL COMMENT '地址',      `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '时间',      PRIMARY KEY (`id`)    ) ENGINE=MyISAM AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 COMMENT='插件名称'>创建控制器    /finecms/dayrui/controllers/admin/控制器名称.php   //名称首字母大写    语法:        class 控制器名称 extends M_Controller{}    控制器中写方法,传值,渲染到模板  //类似 Thinkphp        $this->template->assign('list', $list);        $this->template->display('adver_index.html');    控制器中写入缓存方法:        public function cache() {            // 检测插件数据表是否安装            if (!$this->db->table_exists($this->db->dbprefix('表名称'))                && is_file(WEBPATH.'cache/install/SQL名.sql')) {                $sql = file_get_contents(WEBPATH.'cache/install/SQL名.sql');                $this->sql_query(str_replace('{dbprefix}', $this->db->dbprefix, $sql));            }            //必写的系统缓存            $this->system_model->cache();            (int)$_GET['admin'] or $this->admin_msg(fc_lang('操作成功,正在刷新...'), isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '', 1);        }    构造函数        function __construct(){            parent::__construct();            .......        }    数据库        public $tablename;        链接数据表            $this->tablename = $this->db->dbprefix('数据表名称')   //表名称要有前缀        查询            $data = $this->db->where('id',$id)->limit(1)->get($this->tablename)->row_array();        添加            $this->db->insert($this->tablename, $data);            返回新插入行的ID:            $id = $this->db->insert_id();        修改            $this->db->where('id',(int)$id)->update($this->tablename, $data);        删除            $this->db->where_in('id', $ids)->delete($this->tablename);        添加字段            $fields = array(                字段名称 => array(                    'type' => 'varchar',                    'constraint' => '50',                        .......                    'comment'=>'字段备注',                     'after' => '哪个字段之后添加'                )            );            $this->load->dbforge();            $this->dbforge->add_column('表名称',$fields);        删除字段            $this->load->dbforge();            $this->dbforge->drop_column('表名称', '字段名');        修改字段            $fields = array(                '原字段名称' => array(                    'name' => '新字段名称',                    'type' => 'TEXT',                    ........                ),            );            $this->dbforge->modify_column('table_name', $fields);        接收前端数据            $post = $this->input->post('data',true);        返回某个表所有字段名            $this->db->list_fields($table);        指定字段添加/修改内容            $data = array(               字段名称 => 内容             );            $this->db->update/insert(表名称, $data); >创建模板文件    /finecms/dayrui/templates/文件名称.html    模板语法是{$名}

3.后台权限管理
后台导航内容目录:config/admin_menu.php;

    页面显示导航内容:finecms/dayrui/controllers/admin/Home.php;    1.通过session获取当前会员id:        $uid=$this->session->userdata['uid'];    2.通过uid控制导航显示与隐藏,if判断:        可用array_splice($result,开始索引(int),截取长度)等方法处理导航目录数组;