Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 完美解决,帖子内容页diy数据全类页面通用问题

[复制链接]
taurusbo 发表于 2016-8-18 12:00:39 | 显示全部楼层 |阅读模式
操作步骤:
1.门户->模块管理->数据调用
2.所属页面选择【帖子产看页(公共)】,然后选择相应模块分类,选择好之后选择添加调用。
3.配置您要添加的模块
4.添加好模块之后,点击内部调用,将弹出的代码复制,添加到模版文件中的相应diy位置。
最后刷新缓存,这样你要添加的模块就会在所有的帖子内容页面中显示。。。。。。。。

Dz新手帮助站 发表于 2016-8-20 13:26:22 | 显示全部楼层
懂得分享不错,支持下
回复

使用道具 举报

wuyin731 发表于 2016-10-19 20:41:45 | 显示全部楼层
是不是内容页DIY导入数据后,时常显示不出来内容?我的也是这个毛病,请您给个截图教程,谢谢
回复

使用道具 举报

wuyin731 发表于 2016-10-19 20:49:54 | 显示全部楼层
从论坛上搜到这个解决方法,参考一下
DIY模板保存后空白的数据挽救与原理
https://discuz.dismall.com/thread-2249714-1-1.html


本帖最后由 rikioy 于 2011-6-29 18:19 编辑


保存流程:
前台JS -> post布局数据(xml)格式给后台程序->一系列处理->save_diy_data()函数进行存储

在这个流程中,出现点击保存后,模板数据丢失的情况主要原因是 浏览器post给后台的XML数据里,布局数据为空。最终导致了这个空的xml经过处理在数据库中替换掉了原有的数据。

挽救办法,一旦出现这种情况后,再次进入DIY页面。选择 保存 按钮旁边的 恢复备份即可恢复这次保存前的数据。

原理:
在save_diy_data()中函数接收到整理好的数据,首先进行空值判断和是否是数组判断。为假的话退出函数。(布局数据已经被由xml转换成了数组)
然后读取此页的默认模板,对此页默认模板进行处理,把传进来的布局数据分插到默认模板中。

然后判断一下是不是保存的临时文件,如果是的话,那DIY的模板名就加上 _diy_preview.htm 后缀,如果不是保存的缓存,则用当前的模板名。

最终此文件保存在 /data/diy/ 目录中,如果目录中已经有同名的文件(上一次保存DIY模板的时候保存下来的)就把这个文件加上.bak保存在同目录。ps.这个文件很重要,也就是你恢复数据所需要的数据。

经历过以上步骤之后,如果没有出现文件读写问题,最后把模板数据序列化一下插入在 common_diy_data 表格中。注意这里用的是替换插入,如果是同名的模板文件,则就替换掉了。这也就是为什么传进来的模板数据是空的布局。也就在这里替换掉了。

恢复,系统提供的恢复备份功能也就是利用上面 data/diy 文件夹中的.bak 文件进行数据恢复。


回复

使用道具 举报

wuyin731 发表于 2016-10-19 22:41:06 | 显示全部楼层
本帖最后由 wuyin731 于 2016-10-19 22:43 编辑

经过对楼主帖子的学习,对楼主进行补充和补图数据调用相当于DIY模块后台化,并集成一个调用代码


操作步骤:

1.门户->模块管理->数据调用

2.所属页面选择【帖子查看页(公共)】,然后选择相应模块分类,选择好之后选择添加调用。


3.配置您要添加的模块
比如说帖子模块、静态模块-广告

找到相应模版,/forum/viewthread.php

替换相应的DIY位置

4.添加好模块之后,点击内部调用,将弹出的代码复制,添加到模版文件中的相应diy位置。


替换




最后刷新缓存,这样你要添加的模块就会在所有的帖子内容页面中显示。。。。。。。。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 13:24 , Processed in 0.025437 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表