corethink功能模块探索开发(十七)opencmf.php 配置文件

本文主要是介绍corethink功能模块探索开发(十七)opencmf.php 配置文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图样:

opencmf.php存在于每个模块的根目录,是模块配置文件。
能进行持久化配置参数保存,一开始我以为是写文件或者做缓存,后来在数据库中发现admin_module表,存储了每个模块的配置参数。
参数是数组key-value形式存储的,所以访问的时候只需要使用C('模块名_config.key').

 <div class="clearfix full-container"><block name="jumbotron"><div class="jumbotron jumbotron-primary jumbotron-background main-jumbotron text-center"><h4>{:C('Equip_config.show_repaire_phone_num')}</h4></div></block><div id="main" class="main"><block name="main">这里是内容</block></div></div>


Application/Home/View/Public/layout.html

<!doctype html>
<html lang="zh">
<head><meta charset="utf-8"><block name="title"><title>{$meta_title}|{:C('WEB_SITE_TITLE')}-{:C('WEB_SITE_SLOGAN')}</title></block><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"><meta name="renderer" content="webkit|ie-comp|ie-stand"><meta name="author" content="{:C('WEB_SITE_TITLE')}"><meta name="keywords" content="{$meta_keywords}"><meta name="description" content="{$meta_description}"><meta name="generator" content="CoreThink"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="{:C('WEB_SITE_TITLE')}"><meta name="format-detection" content="telephone=no,email=no"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><link rel="shortcut icon" type="image/x-icon" href="__ROOT__/favicon.ico"><link rel="apple-touch-icon" type="image/x-icon" href="__ROOT__/logo.png"><link rel="stylesheet" type="text/css" href="__CUI__/css/cui.min.css"><link rel="stylesheet" type="text/css" href="__HOME_CSS__/home.css"><link rel="stylesheet" type="text/css" href="__PUBLIC__/libs/animate/animate.min.css"><block name="style"></block><!--[if lt IE 9]><script src="http://cdn.bootcss.com/html5shiv/r29/html5.min.js"></script><script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script><![endif]--><script type="text/javascript" src="__PUBLIC__/libs/jquery/1.x/jquery.min.js"></script>
</head><body><div class="clearfix hook hook-page-header">{:hook('PageHeader')} <!-- 文档开始钩子 --></div><block name="wrap"><div class="clearfix full-wrap"><div class="clearfix full-header"><block name="header"><block name="top-nav"><nav class="navbar navbar-default navbar-mini top-nav hidden-xs hidden-sm" role="navigation"><div class="container"><div class="collapse navbar-collapse"><ul class="nav navbar-nav" style="margin-left:-15px"><li><a href="#">您好,欢迎来到 {:C('WEB_SITE_TITLE')} !</a></li></ul><ul class="nav navbar-nav navbar-right"><!-- 系统模块导航 开始--><opencmf:nav_list name="vo" pid="0"><li><a target="{$vo.target}" href="{$vo.href}"><span> {$vo.title}</span></a></li></opencmf:nav_list><!-- 系统模块导航 结束--></ul></div></div></nav></block><block name="main-nav"><nav class="navbar navbar-default main-nav" role="navigation"><div class="container"><div class="navbar-header"><button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse-main"><span class="sr-only">切换导航</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><php>if(C('WEB_SITE_LOGO')):</php><a class="navbar-brand" href="{:C('HOME_PAGE')}"><img alt="logo" src="{$Think.config.WEB_SITE_LOGO|get_cover}"></a><php>else:</php><a class="navbar-brand" href="{:C('HOME_PAGE')}"><span>{:C('PRODUCT_LOGO')}</span></a><php>endif;</php></div><div class="collapse navbar-collapse navbar-collapse-main"><ul class="nav navbar-nav navbar-left"><li><a href="{:C('HOME_PAGE')}">首页</a></li><cms:category_list name="vo" pid="0" group="1"><php>if($vo['_child']):</php><li class="dropdown"><a href="{$vo.href}" class="dropdown-toggle" data-toggle="dropdown" role="button">{$vo.title} <span class="caret"></span></a><ul class="dropdown-menu"><volist name="vo._child" id="vo1"><li><a href="{$vo1.href}">{$vo1.title}</a></li></volist></ul></li><php>else:</php><li><a href="{$vo.href}"><span> {$vo.title}</span></a></li><php>endif;</php></cms:category_list></ul><ul class="nav navbar-nav navbar-right"><present name="_user_auth"><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><img class="nav-img img-circle" src="{$_user_auth.avatar|get_cover='avatar'}" alt="{$_user_auth.nickname}"><span">{$_user_auth.nickname}<span class="badge badge-danger">{$_new_message}</span> <!-- 新消息数量 --></span><span class="caret"></span></a><ul class="dropdown-menu"><li><a href="{:U('User/Index/home', array('uid' => $_user_auth['uid']), true, true)}"><i class="fa fa-home"></i> 个人主页</a></li><volist name="_user_nav_main" id="vo_nav"><li><a href="{:U($vo_nav['url'], null, true, true)}" class="{$vo_nav.class}"><i class="{$vo_nav.icon}"></i> {$vo_nav.title}</a></li></volist><li role="separator" class="divider"></li><li><a href="{:U('User/User/logout', null, true, true)}" class="ajax-get"><i class="fa fa-sign-out"></i> 注销登录</a></li></ul></li><else /></present></ul></div></div></nav></block></block></div><div class="clearfix full-container"><block name="jumbotron"><div class="jumbotron jumbotron-primary jumbotron-background main-jumbotron text-center"><h4>{:C('Equip_config.show_repaire_phone_num')}</h4></div></block><div id="main" class="main"><block name="main">这里是内容</block></div></div><div class="clearfix full-foooter"><block name="footer"><div class="footer"><div class="container"><div class="row"><div class="col-sm-6 col-lg-6"><h4><php>if(C('WEB_SITE_LOGO')):</php><img alt="logo" style="width:220px;" src="{$Think.config.WEB_SITE_LOGO|get_cover}"><php>else:</php><h3><a href="{:C('WEBSITE_DOMAIN')}">{:C('PRODUCT_LOGO')}</a></h3><php>endif;</php></h4><p class="text-muted">{:C('WEB_SITE_DESCRIPTION')}</p></div><div class="col-sm-6  col-lg-5 col-lg-offset-1"><div class="row"><!-- 底部导航 开始 --><cms:footnav_list name="vo"><div class="col-xs-4 footnav-list"><h4><a>{$vo.title}</a></h4><ul class="list-unstyled"><volist name="vo._child" id="vo1"><li><a target="_blank" class="text-muted" href="{$vo1.url}">{$vo1.title}</a></li></volist></ul></div></cms:footnav_list><!-- 底部导航 结束 --></div></div></div><div class="row footer-bottom"><ul class="list-inline text-center"><li><span class="copyright">{:C('WEB_SITE_COPYRIGHT')}</span></li><li><a class="icp" href="http://www.miibeian.gov.cn/" target="_blank">{:C('WEB_SITE_ICP')}</a></li></ul></div></div></div></block></div></div></block><div class="clearfix hook hook-page-footer">{:hook('PageFooter')} <!-- 文档末尾钩子 --></div><div class="clearfix full-script"><div class="container-fluid"><include file="$_user_login_modal" /> <!-- 登录弹窗 --><input type="hidden" id="corethink_home_img" value="__HOME_IMG__"><script type="text/javascript" src="__CUI__/js/cui.min.js"></script><script type="text/javascript" src="__HOME_JS__/home.js"></script><block name="script"></block>{:C('WEB_SITE_STATISTICS')} <!-- 站点统计代码 --></div></div>
</body>
</html>




这篇关于corethink功能模块探索开发(十七)opencmf.php 配置文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101219

相关文章

SpringBoot中配置文件的加载顺序解读

《SpringBoot中配置文件的加载顺序解读》:本文主要介绍SpringBoot中配置文件的加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot配置文件的加载顺序1、命令⾏参数2、Java系统属性3、操作系统环境变量5、项目【外部】的ap

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

python3 gunicorn配置文件的用法解读

《python3gunicorn配置文件的用法解读》:本文主要介绍python3gunicorn配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python3 gunicorn配置文件配置文件服务启动、重启、关闭启动重启关闭总结python3 gun

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis