finecms基础操作

xiaoxiao2021-02-28  9

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),截取长度)等方法处理导航目录数组;
转载请注明原文地址: https://www.6miu.com/read-1385468.html

最新回复(0)