discuzx数据调用分析
来源:互联网 发布:齐鲁商品软件下载 编辑:程序博客网 时间:2024/04/29 05:49
数据调用可以增加网站数据调用的灵活性,并可减少网站模板的冗余代码,让其它网站也能够调用论坛的数据信息(外部数据调用)
数据调用使用:
进入后台 -- 门户 -- 模块管理 --数据调用
然后,添加调用 。添加成功之后,管理员可以选择:内部调用、外部调用,两种方式。
内部调用:如,<!--{block/314}--> 用将这样的代码放入到模板中即可,在浏览的时候,程序会自动处理
外部调用:如:<script type="text/javascript" src="http://localhost/x2zs/api.php?mod=js&bid=314"></script> 将这种代码放到想要展示的地方。注意:如果将js代码放置在论坛之外的程序中,由于没有样式控制,展示会混乱。因此需要管理员在调用js代码的地方添加样式、或者在添加调用模块的时候,直接在模板中定义样式控制
如:外部调用的链接是不会被伪静态化,原因:discuz!伪静态原理是将模版输出前的链接替换,js是调用输出的数据是不被伪静态化
数据调用原理:
内部调用: 将<!--{block/314}-->这种代码放置到模板中的时候,在模板被解析的时候
打开:class_template.php
$template = preg_replace("/[\n\r\t]*\{block\/(\d+?)\}[\n\r\t]*/ie", "\$this->blocktags('\\1')", $template);
这里将 <!--{block/314}-->这样的代码进行替换 ,最终得到的是类似这样的代码:<?php block_display('$bid');?>
block_display函数的功能:等同于block_display_batch 模块显示,具体过程这里不做分析
外部调用:
<script type="text/javascript" src="http://localhost/x2zs/api.php?mod=js&bid=314"></script>
从这段代码中可以看出,访问的是接口api.php
从 api.php?mod=js可以分析出: 最终进入到文件,api\javascript\javascript.php首先加载核心库,然后 加载 blockclass缓存, 是用block_get_batch函数(function_block.php文件中)批量处理 block数据
最终使用block_fetch_content 函数(function_block.php文件中)返回html数据,
输出到浏览器
数据调用使用:
进入后台 -- 门户 -- 模块管理 --数据调用
然后,添加调用 。添加成功之后,管理员可以选择:内部调用、外部调用,两种方式。
内部调用:如,<!--{block/314}--> 用将这样的代码放入到模板中即可,在浏览的时候,程序会自动处理
外部调用:如:<script type="text/javascript" src="http://localhost/x2zs/api.php?mod=js&bid=314"></script> 将这种代码放到想要展示的地方。注意:如果将js代码放置在论坛之外的程序中,由于没有样式控制,展示会混乱。因此需要管理员在调用js代码的地方添加样式、或者在添加调用模块的时候,直接在模板中定义样式控制
如:外部调用的链接是不会被伪静态化,原因:discuz!伪静态原理是将模版输出前的链接替换,js是调用输出的数据是不被伪静态化
数据调用原理:
内部调用: 将<!--{block/314}-->这种代码放置到模板中的时候,在模板被解析的时候
打开:class_template.php
$template = preg_replace("/[\n\r\t]*\{block\/(\d+?)\}[\n\r\t]*/ie", "\$this->blocktags('\\1')", $template);
这里将 <!--{block/314}-->这样的代码进行替换 ,最终得到的是类似这样的代码:<?php block_display('$bid');?>
block_display函数的功能:等同于block_display_batch 模块显示,具体过程这里不做分析
外部调用:
<script type="text/javascript" src="http://localhost/x2zs/api.php?mod=js&bid=314"></script>
从这段代码中可以看出,访问的是接口api.php
从 api.php?mod=js可以分析出: 最终进入到文件,api\javascript\javascript.php首先加载核心库,然后 加载 blockclass缓存, 是用block_get_batch函数(function_block.php文件中)批量处理 block数据
最终使用block_fetch_content 函数(function_block.php文件中)返回html数据,
输出到浏览器
0 0
- discuzx数据调用分析
- DiscuzX 数据字典 超详细
- discuzx源码分析—-class_core.php 核心类
- discuzx函数
- discuzX搭建
- 修改Discuzx!后台导航
- DiscuzX 论坛安装升级
- discuzX 回话保存机制
- DiscuzX的showmessage()函数
- VC环境中调用TeeChart控件实现数据曲线分析
- VC环境中调用TeeChart控件实现数据曲线分析
- 用python调用R做数据分析-准备工作
- vC环境中调用TeeChart控件实现数据曲线分析
- 根据user stack 数据分析函数调用栈
- java分析可不可以调用方法交换两个数据(初级)
- 合法入驻DiscuzX 后台
- 修改discuzx里的flash
- PHP5及DiscuzX安装指南
- Visual Studio 2013在写c语言时报错
- Js数组去重复效率
- c语言简单选择排序
- 空指针、零指针、野指针
- 对于STM32使用FSMC驱动传统8080并口器件方式(TFT)的理解(上)
- discuzx数据调用分析
- JAVA基础之Pattern\Matcher 组合
- 关于C#是不是脚本语言的问题
- mfc简易计算器,Cstring转double
- cocos2d-x中 Box2D 加入debugDraw
- Perl函数参数中传递数组和引用的使用
- java编程思想读书笔记-4
- MATLAB图像中添加标记
- include jsp 公共jsp