finecms基础操作

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),截取长度)等方法处理导航目录数组;

————————————————


查看解压密码

您可能还会对下面的文章感兴趣: