今天在安装zblog的时候出现了提示“release.xml不存在!”导致无法正常安装的问题:
解决后发篇文章分享下,如果遇到同样问题可以尝试按照本文操作下。
先说解决办法:
重新去zblog官方下载最新版的安装程序重新上传安装即可解决。
问题原因:
出现这个问题一般是用了之前老旧的在线安装文件导致的,最新的zblogphp1.6文件结构有些许改变,导致了之前老旧的安装文件出现了错误。
今天在安装zblog的时候出现了提示“release.xml不存在!”导致无法正常安装的问题:
解决后发篇文章分享下,如果遇到同样问题可以尝试按照本文操作下。
先说解决办法:
重新去zblog官方下载最新版的安装程序重新上传安装即可解决。
问题原因:
出现这个问题一般是用了之前老旧的在线安装文件导致的,最新的zblogphp1.6文件结构有些许改变,导致了之前老旧的安装文件出现了错误。
今天用css写了个图片连续横向滚动,完成效果如下:

总共用了两张图,一张背景图,一张滚动图,html结构如下:
<div class="img-box"> <img src="背景图地址"> <div class="roll-img1"><img src="滚动图片地址"></div> <div class="roll-img2"><img src="滚动图片地址"></div> </div>
然后是css
/* 动画1 */
@keyframes rollimg1 {
0% {
left: 0;
}
100% {
left: -100%;
}
}
/* 动画1 */
@keyframes rollimg2 {
0% {
left: 100%;
}
100% {
left: 0;
}
}
/* 最外层 */
.img-box{
position: relative;
overflow: hidden;
}
/* 背景图 */
.img-box>img{
display: block;
position: relative;
line-height: 1;
width: 100%;
height: auto;
z-index: 1;
}
/* 最开始滚动的图片 */
.roll-img1{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
overflow: hidden;
animation: rollimg1 12s infinite linear;
display: flex;
align-items: center;
}
/* 接着滚动的图片 */
.roll-img2{
position: absolute;
top: 0;
left: 100%;
width: 100%;
height: 100%;
z-index: 2;
overflow: hidden;
animation: rollimg2 12s infinite linear;
display: flex;
align-items: center;
}以上就是用css的“@keyframes”动画效果来实现图片横向滚动的全部代码了,调节滚动速度修改“animation”里面的“12s”中的数字即可。
我们在用zblogphp的时候,需要调用网站的全部分类名称或者链接啥的,对于这个需求zblogphp内置了三个函数。
第一个函数是“$zbp->GetCategoryList”,这个函数可以自定义获取的分类排序或者过滤,用法如下:
{foreach $array=$zbp->GetCategoryList(null,null,array('cate_Order'=>'ASC'),null,null) as $cate}
<a href="{$cate->Url}">{$cate->Name}</a>
{/foreach}函数一共有5个参数,分别对应:“选择项”、“获取指定值”、“排序、“调用数量”、“附加选项”。这个函数的构造在“zblogphp.php”文件里面,具体用法可以在这个文件里面搜索。
第二个函数是“$zbp->categorysbyorder”,这个函数用法如下:
{foreach $zbp->categorysbyorder as $cate}
<a href="{$cate->Url}">{$cate->Name}</a>
{/foreach}这个函数可自定义项没有那么多,如果你要自定义获取一些数据,推荐用第一个函数。
如果你想在主题配置里面使用,还有一个封装好的函数。这个函数已经集成好了“select”选择及选中效果,在主题的配置项文件里面只需要像下面这样就可以让用户选择指定的分类了。
<select name="字段名">
<?php echo OutputOptionItemsOfCategories('自定义字段名');?>
</select>上面的三个函数就可以解决大部分的关于调用网站分类的需求了,如果还有更复杂的需求,欢迎联系我们定制。
如果你想批量在每篇文章正文的前面或者后面插入指定内容的话,可以按照本文教程操作。
ps:需要有一定的动手能力,另外进行前请务必把网站数据备份到本地以免发生意外。
第一:打开你所使用的主题或者插件里面的include.php文件,在“ActivePlugin”函数里面挂上这个接口:
Add_Filter_Plugin('Filter_Plugin_ViewPost_Template', '应用ID_Main');第二:写一个自己的函数,如下:
function 应用ID_Main(&$template) {
global $zbp;
$article = $template->GetTags('article');
$article->Content = '这里就是插入到每篇文章正文前面的内容'. $article->Content . '这里是插入到每篇文章正文后面的内容';
}保存文件后,打开后台首页清空下缓存。然后打开一篇文章即可看到效果了。
zblog内置了cookie函数,可以更方便的设置cookie和调用cookie,本文就来分享下zblog内置cookie的调用代码。
根据key得到cookie:
zbp.cookie.get(CookieKey)
设置cookie:
zbp.cookie.set(sCookieName, sCookieValue, iExpireDays)
setcookie三个值分别对应的是:“cookie名”“cookie值”“cookie时间”,可以根据自己要求设置。
举个栗子:
点击"btn"这个按钮就写入一个名字叫“bg”的cookie,值为“1”,时间为“365”天,代码如下:
$(".btn").click(function(){
zbp.cookie.set("bg", "1" , 365);
}); php获取cookie值和写入cookie值用的是php原生函数。
写入cookie用的是“setcookie()”;
获取cookie用的是“$_COOKIE['']”;
这两个函数具体的使用方法请访问php官方文档:http://php.net/manual/zh/function.setcookie.php。
zblog从1.4版本后就支持语言包了,现在仅支持“中文简体”、“中文繁体”和“英文”三种语言。
用户直接在后台--网站设置--网站语言里面切换即可:

切换之后网站后台就会即时变化成你设置的语言了。
但是网站前台却还是需要主题模板的支持,如果你的主题不支持多语言,而你又有一定的动手能力,可以按照本文教程步骤操作:
请在你的主题文件目录下建立language目录,并根据语言版本命名文件,如en.php、zh-cn.php、zh-tw.php等,其内容格式如下:
zh-cn.php
<?php return array( 'closemenu'=>'收起菜单', ); ?>
zh-tw.php
<?php return array( 'closemenu'=>'收起選單', ); ?>
en.php
<?php return array( 'closemenu'=>'Stow menu', ); ?>
在主题的函数文件include.php里面挂上接口:
$zbp->LoadLanguage('theme', '主题id');在代码中可用 $lang[主题ID][KEY] 来引用,如上述第一步例子,引用如下(注意大小写):
{$lang['主题id']['closemenu']}//收起菜单做完以上步骤后,即完成了在前台的语言切换设置,你在后台切换语言后前台的语言也就会跟随变化了。
zblog自带的评论模块有“名称”、“邮箱”、“网址”和“内容”四个选项可以填写,有很多用户会有这两个问题:
zblog评论模块的邮箱和网址可以解除限制吗?
可以换成别的选项吗?
最近帮一个用户测试了下这个问题,最后的答案是“不能”。
你只能让这两个选项不显示,或者显示了不填写也行(因为不是必填项),但是你要把这两项弄成别的就过不了检测验证限制这一关了,详细如下:
首先评论模块的模板文件是“commentpost.php”,可以直接修改里面邮箱和网址两个选项的提示,也可以让这两个选项不显示,但是就算你修改了系统还是会有验证的。
邮箱里面填写的内容如果不是邮箱地址就会弹出提示;
网址里面填写的内容也会自动给你加上“http//”头;
所以就算你把这两个选项改成其他作用,例如把邮箱改成了电话,但是用户填写了电话号码会被提示“邮箱格式不正确,可能过长或为空”。这就很尴尬了对吧。
我们在测试的时候发现这个限制在“/zb_system/script/c_html_js_add.php”这个文件里面,但是,但是:
这个文件里面的是前端的js限制,就算你修改了这个文件里面的限制,后端还有一重检测限制...
不得不说这个检测限制是很严格的了。
如果你铁了心要去除后端的限制那也不是不可以...
但是我们更建议用挂接口的方式新建其他字段来实现这个功能。
官方教程如下:
1:挂上Filter_Plugin_Html_Js_ZbpConfig接口
输出
echo "zbpConfig.comment.inputs.telphone = {selector: '#inpTel' , required: true};";elphone就是提交时的$_POST的参数名,#inpTel就是表单名
2:提交评论后,就进入了PostComment()函数处理了
挂上Filter_Plugin_PostComment_Core接口
在自己的处理函数中,保存$_POST表单的数据进$cmt
$cmt->Metas->Telphone = $_POST['telphone'];
原文地址:https://bbs.zblogcn.com/thread-103010.html。
PS:这个比较复杂,需要一点水平!(猪说的)。
zblog系列视频教程第十节:页面修改和调整。
很多用户有这个修改需求,但是主题售后是不包修改的,我只能尽量多做一些教程来满足大家的这些需求。
准备一个浏览器(推荐火狐或者谷歌);
打开要修改调整的页面,鼠标右键放到要调整的位置,点击查看元素,找到对应的文件修改对应的参数即可;
PS:看不到效果的ctrl加shift加r强制刷新就可以看到效果了;
PSSS:最后重申,修改后的主题不能跟随升级;另外w3c是个好东西。
今天遇到了一个用户网站打开报错提示“Undefined index: ZC SIDEBAR6 ORDER”,具体报错页面如下图:

询问客户后得知是在后台升级最新的zblogphp1.6之后出现的这个问题,再结合这个报错提示(zblogphp1.6以下的版本只有5个侧栏模块,zblogphp1.6增加到了7个,这个报错提示就是说第六个侧栏模块的一个常量没有定义),可以判断是升级没有完全成功导致的。
1、先将网站web文件全部备份到本地保存好;
2、去zblog官网下载完整版的zblogphp1.6文件包,将“zb_system”文件夹内容全部上传替换;
3、去后台首页清空下缓存,看下问题是否解决。
PS:最近有非常多的用户升级zblogphp1.6版后出现各种各样的问题,只要判断不是主题或者插件引起的,都可以按照此方法测试下。
PSSSS:操作前请务必做好备份!
最近有好几个用户都在咨询我们,为什么zblog的搜索不太准,搜出来的东西跟搜索词没什么关联的。在这里写篇文章统一回复下。
首先,如果你想要一个类似于“百度搜索”那种东西是不可能的。
zblog自带的搜索功能,没有页面权重这种说法,也没有关键词分布、联想搜索等等。
zblog自带的搜索就是简单粗暴的查询文章数据库--对比搜索词,然后按照文章发布时间顺序排列输出,就是这么简单粗暴!
但是为什么感觉会不精准呢?明明标题里面没有搜索词,也会展示出来?
这里再解释下,zblog搜索拿来跟搜索词做比照的除了文章标题还有文章内容。举个栗子。
用户在你网站搜索“发财”两个字,你网站有这么几篇文章:
第1篇的文章标题是“发财容易么?”,文章内容是“如何赚钱,我来告诉你”;
第2篇的文章标题是“怎么才能赚到钱?”,文章内容是“如何发大财,我来告诉你”;
第3篇的文章标题是“赚钱容易么”,文章内容是“想发财么?我来告诉你”;
那么搜索结果就会显示“1”和“3”,因为1的标题里面有“发财”,3的内容里面“发财”。
2的内容里面有"发大财",但不是“发财”,所以也不会显示。没错,有一丁点不一样的都不会显示!
所以呢,zblog的搜索就是个自带的简单的搜索功能,不要类比搜索引擎(那是一个公司才能干的活),别想太多了,又不是不能用(by老罗语录),滑稽。
Powered By Z-BlogPHP 1.7.5
天兴工作室主题演示站点,如遇到问题请联系我们的在线qq:207649916咨询