emlog模板预览功能的简单实现 emlog

前台换模板的功能其实非常有用,特别是对于经常做模板的模板作者来说,更是可以让访问都对自己模板的效果有直观的了解。在 Emlog 3.5
版以前,甚至也有过专门的插件,不过自从升级到 4.0 之后,这个插件就失效了。但是,一些爱折腾的技术控和 EMER
,还是陆续弄出一些代码来实现这个功能

今天我要介绍,是从卡片的模板中提取的代码,每个访问者都互不影响,而且,关闭浏览器重新打开该网站,又会恢复后台设置的默认模板。

首先看根目录下的init.php,找到其中的:

define('TEMPLATE_URL', TPLS_URL.Option::get('nonce_templet').'/');

将其替换为如下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums">session_start();
if(isset($_GET['theme'])){
$theme = $_GET['theme']=='reset' ? Option::get('nonce_templet') : $_GET['theme'];
$_SESSION['theme']=$theme;
}elseif(isset($_SESSION['theme'])){
$theme=$_SESSION['theme'];
}else{
$theme='';
}
if($theme==''){
define('TEMPLATE_NAME', Option::get('nonce_templet'));
}else{
define('TEMPLATE_NAME', $theme);
}
define('TEMPLATE_URL', TPLS_URL.TEMPLATE_NAME.'/');
然后将 index.php 和 t/index.php 两个文件中的:

define('TEMPLATE_PATH', TPLS_PATH.Option::get('nonce_templet').'/');

均改为:

define('TEMPLATE_PATH', TPLS_PATH.TEMPLATE_NAME.'/');

要查看某个模板的效果,直接在博客地址后面加上“?theme=模板目录”参数就行了,如“https://mrxn.net/?theme=lusongsong”(我已关闭此功能)


标签: emlog

admin 发布于  2015-8-2 15:32 

给EMLOG评论框加上√防止垃圾评论 emlog

本方法来源于网络,Mrxn
5.3.1中测试正常,现在免费分享给各位有需要的emer使用。将下面代码添加到module.php的<input
type="submit" id="comment_submit" value="发表评论" tabindex="6" />后面即可

<label for="sheli"><input type="checkbox" value=9 id="sheli" name="sheli" required="required" autocomplete="on" required title="发表评论确认框:请勾选我再发表评论!"> <font color="red">请勾选我再发表评论!</font></label>

效果演示:

QQ截图20150302124717.jpg
标签: emlog

admin 发布于  2015-8-2 15:24 

Emlog下二级域名绑定子目录伪静态规则 emlog

这里说的二级域名绑定子目录,是指在主域名对应空间根目录装了EMLOG程序的情况,并且是linux+apache环境。我们想让二级域名指向子目录实
现访问,就需要修改一下伪静态规则。首先,在你的空间管理平台中绑定二级域名(通常说接收)如:zan.mrxn.net,同时域名也要做好解析工作(一般
可以用*号泛解析), 剩下的就是配置.htaccess文件了,直接打开根目录下的.htaccess文件可以看到如下代码:

<IfModule mod_rewrite.c> RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
RewriteRule . /index.php [L] </IfModule>

现在我们以指定daohang.mrxn.net指向/daohang/目录为例修改以上代码:

<IfModule mod_rewrite.c> RewriteEngine on
RewriteCond %{HTTP_HOST} ^mrxn.net$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
RewriteRule . /index.php [L]

RewriteCond %{HTTP_HOST} ^daohang.mrxn.net$
RewriteCond %{REQUEST_URI} !^/daohang/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /daohang/$1
RewriteCond %{HTTP_HOST} ^daohang.mrxn.net$
RewriteRule ^(/)?index.php$ daohang/index.html [L] </IfModule>
标签: emlog

admin 发布于  2015-8-2 15:24 

给Emlog添加页面加载(加载中)特效 emlog

为了加强浏览者的体验,不在等待页面加载时感到枯燥,从而关闭网页,很多网站都会制作一个“网页正在加载中”的提示效果或显示加载进程,加载完成后提示消
失,大部分都应用在网站的首页,今天我教大家把这一特效添加到Emlog主题中。要实现该特效同样要用到jquery,如果大家和我目前用的主题一样,为
了实现其它特效已提前加载了jquery,那么正好充分利用jquery的强大功能,添加此特效何乐而不为呢?当然仅仅为了实现这个特效,而去加载50几
K的jquery就有点得不偿失了。

1.首先在</body>之前加上如下代码:

<div id="circle"></div>
<div id="circletext"></div>
<div id="circle1"></div>



2.再加上一段JS

<script type="text/javascript">
$(function () {
$("#circletext").text("加载肿");
    $(window).load(function() {
        $("#circle").fadeOut(400);
        $("#circle1").fadeOut(600);
        $("#circletext").text("完成鸟").fadeOut(800);
    });
});
//-->
</script>


3.加上css

 /* 圆圈加载*/
#circle{background-color:rgba(0,0,0,0);border:5px solid rgba(10,10,10,0.9);opacity:.9;border-right:5px solid rgba
(0,0,0,0);border-left:5px solid rgba(0,0,0,0);border-radius:50px;box-shadow:0 0 35px #808080;width:60px;height:60px;margin:0 auto;position:fixed;left:30px;bottom:30px;-moz-animation:spinPulse 1s infinite linear;-webkit-animation:spinPulse 1s infinite linear;-o-animation:spinPulse 1s infinite linear;-ms-animation:spinPulse 1s infinite linear;}
#circle1{background-color:rgba(0,0,0,0);border:6px solid rgba(20,20,20,0.9);opacity:.9;border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-radius:50px;box-shadow:0 0 15px #202020;width:40px;height:40px;margin:0 auto;position:fixed;left:39px;bottom:39px;-moz-animation:spinoffPulse 1s infinite linear;-webkit-animation:spinoffPulse 1s infinite linear;-o-animation:spinoffPulse 1s infinite linear;-ms-animation:spinoffPulse 1s infinite linear;}
#circletext{width:46px;height:20px;margin:0 auto;position:fixed;left:46px;bottom:53px;}
@-moz-keyframes spinPulse{0%{-moz-transform:rotate(160deg);opacity:0;box-shadow:0 0 1px #505050;}50%{-moz-transform:rotate(145deg);opacity:1;}100%{-moz-transform:rotate(-320deg);opacity:0;}}
@-moz-keyframes spinoffPulse{0%{-moz-transform:rotate(0deg);}100%{-moz-transform:rotate(360deg);}}
@-webkit-keyframes spinPulse{0%{-webkit-transform:rotate(160deg);opacity:0;box-shadow:0 0 1px #505050;}50%{-webkit-transform:rotate(145deg);opacity:1;}100%{-webkit-transform:rotate(-320deg);opacity:0;}}
@-webkit-keyframes spinoffPulse{0%{-webkit-transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);}}
@-o-keyframes spinPulse{0%{-o-transform:rotate(160deg);opacity:0;box-shadow:0 0 1px #505050;}50%{-o-transform:rotate(145deg);opacity:1;}100%{-o-transform:rotate(-320deg);opacity:0;}}
@-o-keyframes spinoffPulse{0%{-o-transform:rotate(0deg);}100%{-o-transform:rotate(360deg);}}
@-ms-keyframes spinPulse{0%{-ms-transform:rotate(160deg);opacity:0;box-shadow:0 0 1px #505050;}50%{-ms-transform:rotate(145deg);opacity:1;}100%{-ms-transform:rotate(-320deg);opacity:0;}}
@-ms-keyframes spinoffPulse{0%{-ms-transform:rotate(0deg);}100%{-ms-transform:rotate(360deg);}}

标签: emlog

admin 发布于  2015-8-2 15:24 

emlog固定滚动侧边栏实现方法 emlog

滚动侧边栏的方式,好处显而易见,当博文较长的时候就不会因为侧边栏太短而产生不美观了。其实有集中方法:另一种方法请参考侧边栏滚动教程;滚动侧边栏的教程,其实很简单,先来看看代码。需要加载jquery。emlog可以直接使用/include/lib/js/jquery/jquery-1.7.1.js。js代码如下:

<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><script>
$(function () {
if ($(".fixed_side").length > 0) {
var offset = $(".fixed_side").offset();
$(window).scroll(function () {
var scrollTop = $(window).scrollTop();
//如果距离顶部的距离小于浏览器滚动的距离,则添加fixed属性。
if (offset.top < scrollTop) $(".fixed_side").addClass("fixed");
//否则清除fixed的css属性
else $(".fixed_side").removeClass("fixed");
});}});
</script>
html代码:

<div class="fixed_side"><img src="http://www.shuyong.net/aliyun.jpg"></div>

css代码(尺寸根据自己的情况来更改):

.fixed_side{clear:both;overflow:hidden;text-align:center;margin:5px} .fixed_side img{max-width:100%;} .fixed{position:fixed;top:0px;width:237px;margin:5px}

演示请看本站首页侧边栏


标签: emlog

admin 发布于  2015-8-2 15:24 

Emlog博客程序模板调用首页index.php文件的方法 emlog

Emlog#默认的模板文件是没有index.php的,而是用log_list.php这个博客列表页作为首页模板。增加index.php模板作为首页的方法很简单,只需要在log_list.php顶部增加一段代码即可。如下:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if($pageurl == Url::logPage()){include View::getView('index');exit;}?>
然后在模板文件中建立一个index.php文件即可,当然你也可以把index.php改成其他的名称,只需要把上面代码中的index改成你自己修改的就可以了,内容就自己慢慢捣鼓了,想实现一些功能可以参考>>Emlog教程



标签: emlog

admin 发布于  2015-8-2 15:23 

不修改emlog内核实现博客分页自定义的方法分享 emlog

首页找到模板的module.php并在其最后加入如下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php //分页函数
function sheli_fy($count,$perlogs,$page,$url,$anchor=''){
$pnums = @ceil($count / $perlogs);
$page = @min($pnums,$page);
$prepg=$page-1; //shuyong.net上一页
$nextpg=($page==$pnums ? 0 : $page+1); //shuyong.net下一页
$urlHome = preg_replace("|[\?&/][^./\?&=]*page[=/-]|","",$url);
//开始分页导航内容
$re = "";
if($pnums<=1) return false; //如果只有一页则跳出
if($page!=1) $re .=" <a href=\"$urlHome$anchor\">首页</a> ";
if($prepg) $re .=" <a href=\"$url$prepg$anchor\">前页</a> ";
for ($i = $page-2;$i <= $page+2 && $i <= $pnums; $i++){
if ($i > 0){if ($i == $page){$re .= " <span>$i</span> ";
}elseif($i == 1){$re .= " <a href=\"$urlHome$anchor\">$i</a> ";
}else{$re .= " <a href=\"$url$i$anchor\">$i</a> ";}
}}
if($nextpg) $re .=" <a href=\"$url$nextpg$anchor\">后页</a> ";
if($page!=$pnums) $re.=" <a href=\"$url$pnums$anchor\" title=\"尾页\">尾页</a>";
//下拉跳转列表,循环列出所有页码
$re .=" 跳转到第 <select name='topage' size='1' onchange='window.location=\"$url\"+this.value'>\n";
for($i=1;$i<=$pnums;$i++){if($i==$page) $re .="<option value='$i' selected>$i</option>\n";
else $re .="<option value='$i'>$i</option>\n";}
$re .="</select> 页,共 $pnums 页";
return $re;}
?>
列表页调用方法(即log_list.php页):



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php echo sheli_fy($lognum,$index_lognum,$page,$pageurl);?>
微语页调用方法:

<?php echo sheli_fy($twnum,Option::get('index_twnum'),$page,BLOG_URL.'t/?page=');?>


标签: emlog

admin 发布于  2015-8-2 15:23 

分享Emlog文章日期显示时间及星期的方法 emlog

在进行模板文件代码修改的时候,最好使用编程软件,建议不要使用记事本进行编程,不然有可能出现乱码的哦~~不说废话了,以下的详细操作步骤:以默认模版为例在log_list.php找到

<?php echo gmdate('Y-n-j', $value['date']); ?> 

替换为

<?php $weekarray=array("日","一","二","三","四","五","六");echo gmdate('Y年n月j日 G:i', $value['date']);echo" 星期".$weekarray[gmdate('w', $value['date'])];?>




如果是内容页请使用下面代码,以默认模版为例在echo_log.php找到

<?php echo gmdate('Y-n-j', $date); ?>

替换为

<?php $weekarray=array("日","一","二","三","四","五","六");echo gmdate('Y年n月j日 G:i', $date);echo " 星期".$weekarray[gmdate('w',$date)];?>




本方法5.3.1测试正常,其他为做测试,如有疑问请在本页留言反馈!

标签: emlog

admin 发布于  2015-8-2 15:23 

实现EMLOG用户登录才可以查看文章的方法分享 emlog

实现EMLOG实现用户登录才可以查看文章,当用户为游客时无法查看文章;只有注册登录后才有权限查看文章,其实这个功能实现起来是相当简单的;三行代码 即可搞定,在echo_log.php中找到<?php echo $log_content; ?>替换为


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if(ROLE == ROLE_VISITOR): ?>
本文只有登录后的用户才能查看,请登录后查看
<?php else: ?><?php echo $log_content; ?>
<?php endif; ?>
本文5.3.1中测试正常,其它版本未做测试,如有疑问请本页留言反馈!


标签: emlog

admin 发布于  2015-8-2 15:23 

EMLOG教程 - 侧边栏文章标题字数修改方法 emlog

本站在修改侧边栏的时候,进行了侧变栏内容固定浮动跟随浏览器,但是问题来了,固定浮动侧边栏之后随机文章的比较长的标题会凸出去外边、或者两行显示,感觉很难看的样子,所以寻找办法修改标题字数使之截断过长的标题!

    EMLOG博客侧边栏最新日志标题字数修改方法,博客网站程序使用EMLOG,有一些地方想按自己的要求修改修改,好让博客更加美观整洁,其中有一处就是想把侧边上的最新日志、热门日记和随机日志控制字数。侧边栏日记标题太长我想改短一点,网站后台没有设置,也没有插件可以使用,其实这个可以修改程序模板文件解决的。需要修改什么代码才能截断标题字数?有两个方法。


    一、找到侧边栏文件:模板文件module.php(以默认主题为例):


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><li><a href="<?php echo Url::log($value['gid']); ?>"><?php echo $value['title']; ?></a></li>
修改替换为:



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><li><a href="<?php echo Url::log($value['gid']); ?>" title="<?php echo $value['title']; ?>"><?php echo subString(strip_tags($value['title']),0,10); ?></a></li>
上面的数字10是字符数,按自己需要的宽度自行修改,记住是修改10那个数字为最适合自己网站的长度。侧边栏的其他栏目字数修改方法同上,这里就不多说了,希望能够帮到大家。


二、用css控制,直接在css中设置一个高度,然后防止溢出就ok了,自己慢慢倒腾吧,就不细讲了。

标签: emlog

admin 发布于  2015-8-2 15:22