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),截取长度)等方法处理导航目录数组;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值