Hdream,是一款二次元主题Grace苏醒主题的EMlog版本,由1梦大佬从wordpress上移植到emlog,我能找到最早的发布时间是2018年6月4日,也就是说,发布时间最迟也在2018年6月4日前。

可能是因为发布时间距今已有四年,也可能是因为模板本身有一些bug,直接下载套用模板是不行的,所以接下来将逐一介绍这些bug并给出我的解决办法。

 

1、背景图加载失败

原因是模板根目录下/ecy/index.php文件中这两行出现了问题,变量指向的链接无法访问
$pc = 'https://cdn.24bp.cn/bk/api/PC.php';
$pe = 'https://cdn.24bp.cn/bk/api/PE.php';

解决方法:

我们可以看到在该路径下除了index.php外还有个api.php文件,我尝试将指向的链接变为"你的博客网址/content/templates/Hdream/ecy/api.php",背景成功显示,接下来的事情就简单了。根据变量名不难猜出两者对应的是不同访问设备的不同背景,于是我们可以自行建个图床或者在网上另外找个图床上传背景获得图片直链并放到api中,即可。
$pc = '你的博客网址/content/templates/Hdream/ecy/PCapi.php';
$pe = '你的博客网址/content/templates/Hdream/ecy/PEapi.php';

我对于不同设备的处理方法是复制api.php文件,做成两份,一份返回pc,一份返回pe,即可做到不同设备对应不同分辨率的背景。

 

2、文章上下页错误

原因是moudle.php第818行开始,$prevLog变成了$nextLog
    <?php if ($prevLog):?>
    <div class="prev-post">
    <a href="<?php echo Url::log($nextLog['gid']) ?>" title="<?php echo $nextLog['title']; ?>" class="prev has-background" style="background-image: url(<?php echo img_fj($nextLog['gid']); ?>)" alt="<?php echo $nextLog['title']; ?>">
         <span>Previous Post</span>
    <h4><?php echo $nextLog['title']; ?></h4> </a>
    </div>
    <?php endif; ?>

解决方法:

也很简单,代码内的所有$nextLog全部替换为$prevLog即可。
    <?php if ($prevLog):?>
    <div class="prev-post">
    <a href="<?php echo Url::log($prevLog['gid']) ?>" title="<?php echo $prevLog['title']; ?>" class="prev has-background" style="background-image: url(<?php echo img_fj($prevLog['gid']); ?>)" alt="<?php echo $prevLog['title']; ?>">
         <span>Previous Post</span>
    <h4><?php echo $prevLog['title']; ?></h4> </a>
    </div>
    <?php endif; ?>

3、文章作者回复不显示头像(不算bug)

有一段时间我也因为这个问题抓狂过,找了很久都不知道为什么,最后想到可能是个人资料里没设置邮箱的缘故。因为本人目前小白一个,不会配置smtp服务器,且主机的25端口无法放行,所以只能另辟蹊径解决。

解决方法:

我用的是emlog6.1.1版本,我选择了一个简单粗暴的解决办法——把邮箱验证这个过程删掉,打开emlog/admin/view/blogger.php
把以下代码全部删掉即可去掉邮箱验证
###邮箱设置的邮箱验证###
        <li>
            <div class="layui-input-inline">
                <input name="emailcode" class="layui-input" value="" style="width:100px;" maxlength="10" placeholder="邮箱验证码" />
            </div>
            <div class="layui-input-inline" id="post_options">
                <button type="button" id="sendMailCode" class="layui-btn layui-btn-primary">发送</button>
            </div>
        </li>
###设置邮箱登录的邮箱验证###
        <li>
            <div class="layui-input-inline">
                <input name="usercode" class="layui-input" value="" style="width:100px;" maxlength="10" placeholder="账号验证码" />
            </div>
            <div class="layui-input-inline" id="post_options">
                <button type="button" id="sendUserCode" class="layui-btn layui-btn-primary">发送</button>
            </div>
        </li>

4、还有一个不是bug的地方,但一定要记得修改

模板根目录下/images/weixin.png,那是个赞助码,一定一定记得先修改成自己的。







作者:Dax,如若转载,请注明出处:《emlog的Hdream模板有哪些bug?怎么解决?——Hdream的魔改日常#1》