emlog缩略图不同实现方法:正文-附件-随机图片 emlog

实现emlog列表也缩略图按先调用正文第一张图片,没有则调用附件图片,前2者都没有则调用随机图片,代码如下:首页在模板的module.php文件中加入如下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
//全局匹配正文中的图片并存入imgsrc中
function img_zw($content){preg_match_all("|<img[^>]+src=\"([^>\"]+)\"?[^>]>|is", $content, $img);$imgsrc = !empty($img[1]) ? $img[1][0] : '';if($imgsrc):return $imgsrc;endif;}
//Custom: 获取附件第一张图片
function img_fj($blogid){$db = MySql::getInstance();$sql = "SELECT
FROM ".DB_PREFIX."attachment WHERE blogid=".$blogid." AND (filepath LIKE '%jpg' OR filepath LIKE '%gif' OR filepath LIKE '%png') ORDER BY aid ASC LIMIT 0,1";$imgs = $db->query($sql);$img_path = "";while($row = $db->fetch_array($imgs)){$img_path .= BLOG_URL.substr($row['filepath'],3,strlen($row['filepath']));}
return $img_path;}?>
然后在log_list.php中加入:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);
}elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);
}else{$imgurl = TEMPLATE_URL.'images/'.rand(1,5).'.jpg';}
?><p><img src="<?php echo $imgurl;?>" /></p>
以下代码直接替换上面代码,实现有调用正文第一张图片 => 附件图片 => 无图片则不显示。



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if(img_zw($value['content'])){$imgurl = img_zw($value['content']);?><p><img src="<?php echo $imgurl;?>" /></p>
<?php }elseif(img_fj($value['logid'])){$imgurl = img_fj($value['logid']);?><p><img src="<?php echo $imgurl;?>" /></p>
<?php }else{}?>



标签: emlog

admin 发布于  2015-6-1 01:05 

emlog伪静态设置方法及伪静态规则 emlog

今天刚把emlog装好,听朋友说的,这个博客系统简单好用,还能生成伪静态呢。装好了才发现,设置伪静态后,好像链接打不开,Mrxn在网上搜索了下方法,千万篇网页里就找到一个能用的,下面把方法写给大家,希望能帮助你们。

   
首先,你要弄清楚你的主机空间是windows系统呢,还是unix系统。因为国内大多数空间商都用的是win主机,所以咱们就着重说这个吧,把下面复制
下来保存在记事本里面,然后把名字改成httpd.ini。传到空间根目录试试,一般来说,都能直接访问了,如果还不行,说明你没有权限,那只好联系你的
空间商了。


伪静态代码:(保存文件名字为httpd.ini,传到网站根目录【要注意的是此文件要放在空间的根目录下面】)


<pre style="overflow:auto" ;class="prettyprint lang-xml linenums">[ISAPI_Rewrite]

3600 = 1 hour

CacheClockRate 3600
RepeatLimit 32
RewriteRule /rss.php(.) /rss.php$1 [L]
RewriteRule /tb.php(.
) /tb.php$1 [L]
RewriteRule /favicon.ico /favicon.ico [L]
RewriteRule /xmlrpc.php(.) /xmlrpc.php$1 [L]
RewriteRule /wlwmanifest.xml /wlwmanifest.xml [L]
RewriteRule /(t|m)$ /$1/ [R]
RewriteRule /(admin|content|include|t|m)/(.
) /$1/$2 [L]
RewriteRule /install.php(.) /install.php$1 [L]
RewriteRule /emlog_toolkit.php(.
) /emlog_toolkit.php$1 [L]
RewriteRule /up(\d.\d.\d)to(\d.\d.\d).php(.) /up$1to$2.php$3 [L]
RewriteRule ^/$ /index.php [L]
RewriteRule /(.
) /index.php/$1 [L]



admin 发布于  2015-5-31 21:18 

Emlog教程 - 侧边栏最新文章获取图片、分类、摘要等 emlog

今天在群里有人想实现侧边栏最新文章获取图片,自己折腾了一阵子,成功解决了这个问题。为了以后再用得着,所以在这儿保存记录。当然除了调出图片,还可以调用当前分类、摘要等,具体看如下代码:首页在module.php中找到最新文章那段代码,直接用以下代码替换即可:

<?php //widget:最新文章 function widget_newlog($title){ $index_newlognum = Option::get('index_newlognum');?> <div class="cbl-one"><div class="title"><p><?php echo $title;?></p></div> <?php $db = MySql::getInstance(); $sql = $db->query ("SELECT * FROM ".DB_PREFIX."blog inner join ".DB_PREFIX."sort WHERE hide='n' AND type='blog' AND top='n' AND sortid=sid order by date DESC limit 0,$index_newlognum"); while($row = $db->fetch_array($sql)){ $logpost = !empty($row['excerpt']) ? $row['excerpt'] : ''.$row['content'].''; if (!empty($row['excerpt'])){preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $row['excerpt'], $match); if(empty($match[1][0])) { preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i",$row['content'],$match);}}else{preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $row['content'],$match);} $img = isset($match[0][0]) ? $match[0][0]:'<img src="图片地址" />';//无图片时显示 $date = gmdate('Y年m月d日', $row['date']); $content = strip_tags($logpost,''); $content = mb_substr($content,0,100,'utf-8');//摘要字数修改本代码中的100这个即可 $comment = ($row['comnum'] != 0) ? ''.$row['comnum'].'' : '0'; $gid = $row['gid']; $tag = $db -> query("SELECT * FROM ".DB_PREFIX."tag WHERE gid LIKE '%,$gid,%'");?> <a href="<?php echo Url::sort($row['sid']);?>" title="<?php echo $row['sortname'];?>" /><?php echo $row['sortname'];?></a><br /> <a href="<?php echo Url::log($row['gid']);?>" title="<?php echo $row['title'];?>" /><?php echo $row['title'];?></a><br /> <?php echo $img;?><br /> <?php echo $content;?> <?php };?></div><?php }?>
随便附带上热门文章的代码 30天内按点击量排序:

<?php //widget:热门文章 function widget_hotlog($title){ $index_hotlognum = Option::get('index_hotlognum');?> <div class="cbl-one"><div class="title"><p><?php echo $title;?></p></div> <?php $db = MySql::getInstance();$db = MySql::getInstance(); $time = time(); $sql = $db->query ("SELECT * FROM ".DB_PREFIX."blog inner join ".DB_PREFIX."sort WHERE hide='n' AND type='blog' AND date > $time - 30*24*60*60 AND top='n' AND sortid=sid order by `views` DESC limit 0,$index_hotlognum"); while($row = $db->fetch_array($sql)){ $logpost = !empty($row['excerpt']) ? $row['excerpt'] :''.$row['content'].''; if (!empty($row['excerpt'])){preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i",$row['excerpt'],$match);if(empty($match[1][0])){ preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i",$row['content'],$match);}}else{preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $row['content'],$match);} $img = isset($match[0][0]) ? $match[0][0]:'<img src="图片地址" />';//无图片时显示 $date = gmdate('Y年m月d日', $row['date']); $content = strip_tags($logpost,''); $content = mb_substr($content,0,100,'utf-8');//摘要字数修改本代码中的100这个即可 $comment = ($row['comnum'] != 0) ? ''.$row['comnum'].'' : '0'; $gid = $row['gid'];?> <li><a href="<?php echo Url::log($row['gid']);?>" title="<?php echo $row['title'];?>" /><?php echo $row['title'];?></a></li> <?php };?></div><?php }?>
代码说明:(css本人就不折腾了,自己捣鼓吧,如果你这个也不会的话,就不要折腾了)
所属分类链接:<?php echo Url::sort($row['sid']);?>
所属分类标题:<?php echo $row['sortname'];?>
文章链接:<?php echo Url::log($row['gid']);?>
文章标题:<?php echo $row['title'];?>
当前第一张图片:<?php echo $img;?>
当前文章摘要:<?php echo $content;?>
当前评论:<?php echo $row['comnum'];?>
当前浏览量:<?php echo $row['views'];?>
当前时间:<?php echo gmdate('Y年m月d日', $row['date']);?>
本栏目标题(侧边栏):<?php echo $title;?>

标签: emlog

admin 发布于  2015-5-31 16:53 

修改emlog编辑器kindeditor,使其能够auto显示插入的代码 emlog

我们使用emlog插入代码的时候们应该遇见过这种情况:

点击查看原图

即,代码超出边框的地方显示不全,这样,读者要是想要复制,代码也不方便,只能通过审查元素/源代码来复制了.

我也苦恼这个问题,但是一直没有时间,今晚刚好有时间,就来折腾,百度了一下,没有搜到.....于是就开始了自己的折腾.....

最终实现了:

点击查看原图

我是通过Firebug 来查看元素的时候发现的:

点击查看原图

我就想在<pre class="prettyprint lang-php linenums"> 里面加个css样式来实现auto显示超出部分呢?我直接用Firebug修改后,发现可以,于是就开始编辑器核心文件操作了,本地测试通过.

下面说一下具体的操作步骤:

首先打开admin/editor/plugins/code/ 目录下的code.js

在第49行左右,找到如下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums">html = '<pre class="prettyprint' + cls + ' linenums">\n' + K.escape(code) + '</pre> ';
  修改为如下代码:



<pre style="overflow:auto" ;class="prettyprint lang-php linenums">html = '<pre style="overflow:auto";class="prettyprint' + cls + ' linenums">\n' + K.escape(code) + '</pre> ';

  即可实现auto显示超出部分的代码了 .但是这个修改只是在你修改了code.js之后的文章中插入的代码才有效果,之前的文章想要实现,就只能手动重新插入一遍代码了,当然,如果你有更好的方法,欢迎留言交流.

ps:后面准备给emlog的kindeditor编辑器加入复制/粘贴/折叠代码功能,请关注博客.



admin 发布于  2015-5-30 02:25 

利用border来设置emlog个性的边框 - 友情链接 emlog

效果如我博客的友情链接(小菜们请看,大牛绕道):

05-30-000044.png

具体方法:

打开module.php找到//widget:链接 下面的如下代码处:


<?php foreach($link_cache as $value): ?>

  修改为如下代码:



<?php foreach($link_cache as $value): $color = dechex(rand(0,16777215));?>

  接着找到如下的代码:



<a href="<?php echo $value['url']; ?>" 

  修改为如下代码:



<a style="color:#<?php echo $color;?>;border-style:dotted  ;border-color: #ccf;" href="<?php echo $value['url']; ?>"


  即加上style="color:#<?php echo $color;?>;border-style:dotted  ;border-color: #ccf;"


里面的border的相应的属性,可以自己根据自己的喜好设置,不知道的可以查阅css手册.

标签: 代码 css

admin 发布于  2015-5-30 01:05