Mrxn教你用表格给你的emlog加上个性化的版权吧 emlog

Mrxn教你用表格给你的emlog加上个性化的版权吧!

我看了大部分的emlog模板版权都很简单,基本上都是一句话写完的,很是不美观!我认为哈!!!

大家可以现在看一下我的博客的文章版权还是不错的吧! ---  效果如下图所示:

点击查看原图


<pre style="overflow:auto" ;class="prettyprint lang-html linenums"><table width="770px" cellspacing="0" cellpadding="0" table-layout: fixed border-style:dashed; border-width:1px; border-color:#EEEEEE;>
<tr>
<th width="75" align="left" bgcolor="#F9F9F9" scope="row">本文标签:</th>
<td width="420" align="left" bgcolor="#F9F9F9" white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;><?php blog_tag($logid);?></td>
<td width="105" rowspan="4" align="center" background="http://api.k780.com:88/?app=qr.vget&amp;level=L&amp;size=4&amp;appkey=11926&amp;sign=4d1a837e7024195acf7d80362b610dcf&amp;data=&lt;?php echo $logurl;?>"></td>
</tr>
<tr>
<th width="75" align="left" bgcolor="#F9F9F9" scope="row">本文标题:</th>
<td width="420" align="left" bgcolor="#F9F9F9" white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;><a href="<?php echo $logurl;?>"><?php echo $log_title; ?></a></td>
</tr>
<tr>
<th width="75" align="left" bgcolor="#F9F9F9" scope="row">本文地址:</th>
<td width="420" align="left" bgcolor="#F9F9F9" white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;><a href="<?php echo $logurl;?>"><?php echo $logurl;?></a>(扫二维码进入博客触屏版哦)</td>
</tr>
<tr>
<th colspan="2" align="left" bgcolor="#F9F9F9" scope="row" white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;>除非注明,文章均为 《<a style="color:red;"<?php blog_author($author); ?>》>></a><a href="<?php echo BLOG_URL;?>">原创</a> ,欢迎转载!转载请注明本文地址,谢谢!</th>
</tr>
</table>

上面我把代码放出来.需要的自己看着折腾吧,不会的请在留言板留言,或者是加入QQ群反馈.



标签: 代码 emlog

admin 发布于  2015-6-7 07:49 

Emlog手机版获取文章标签和分类 emlog

代码仍旧是从module文件里拿出来,经过一些修改而得,使用基本没什么问题。里面的分类和标签链接地址还是电脑版的,不过也不必修改,毕竟手机版也没有分类和标签的功能,如果不需要的可以将其去掉。


以下是调用分类名(带链接)的代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums">//获取文章对应的分类
function blog_sort($blogid){
global $CACHE;
$log_cache_sort = $CACHE->readCache('logsort');
if(!empty($log_cache_sort[$blogid])){
$blog_sort = "<a href=\"".Url::sort($log_cache_sort[$blogid]['id'])."\">".$log_cache_sort[$blogid]['name']."</a>";
}
else{
$blog_sort = "暂未分类";
}
echo $blog_sort;
}
把上面的代码放在手机版的index.php里的最后。然后进入view文件夹,按自己需要选择添加位置:

想显示在文章页面:打开single.php,放到里面的适当位置即可:

<?php blog_sort($logid); ?>

想显示在文章列表里:打开log.php文件,在 <?php foreach($logs as $value): ?> 与 <?php endforeach; ?> 之间放入如下调用代码:



<?php blog_sort($value['logid']); ?>

下面是获取文章标签的代码:



<pre style="overflow:auto" ;class="prettyprint lang-php linenums">//获取文章对应的标签
function blog_tag($blogid){
global $CACHE;
$log_cache_tags = $CACHE->readCache('logtags');
if (!empty($log_cache_tags[$blogid])){
$tag = '';
foreach ($log_cache_tags[$blogid] as $value){
$tag .= "<a href=\"".Url::tag($value['tagurl'])."\">".$value['tagname'].'</a>&nbsp;';
}
echo $tag;
}
}
同样是放到index.php文件的后面,至于和上面的分类代码谁先谁后是无关紧要了,建议彼此隔开一行,方便查看修改。每个标签之间已用空格(即&nbsp;)隔开,你也可以去掉再用CSS定义。



调用方法和上面的分类调用一样,文章页面的标签调用代码:

<?php blog_tag($logid); ?>

文章列表页面的标签调用代码:

<?php blog_tag($value['logid']); ?>

感觉内容和之前发的差不多(-_-#),我只是想写详细一点。



本文作者: 笑忘书,转载请注明出处




标签: emlog

admin 发布于  2015-6-7 00:08 

emlog官方缓存类统计代码 emlog

先说调用代码:

<?php echo $sta_cache['内容'];?>

例如调用日志数量

<?php echo $sta_cache['lognum'];?>

注意了这里的日志数量是前台显示出来的日志数量,未包含未审核以及隐藏的文章数量。

lognum 游客可见日志总数

draftnum  草稿,也就是隐藏文件数量

comnum  未隐藏的评论数量

comnum_all  所有评论数量

hidecomnum  被隐藏的评论数量

twnum  微语数量

checknum 未审核的文章数量


博客访问次数:

2014-8-13更新,来源于em论坛,缺点加载比较慢,把下面代码放入到模板module.php文件中


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
//统计文章总数
function count_log_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "blog WHERE type = 'blog'");
return $data['total'];
}
//置顶文章数
function count_log_top(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(
) AS total FROM " . DB_PREFIX . "blog WHERE top = 'y' or sortop = 'y' AND type = 'blog'");
return $data['total'];
}
//隐藏文章数
function count_log_hide(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE hide = 'y' AND type = 'blog'");
return $data['total'];
}

//未审核文章数
function count_log_check(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "blog WHERE checked = 'n' AND type = 'blog'");
return $data['total'];
}
//加密文章数
function count_log_pass(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(
) AS total FROM " . DB_PREFIX . "blog WHERE password !='' AND type = 'blog'");
return $data['total'];
}

//统计页面总数
function count_page_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "blog WHERE type = 'page'");
return $data['total'];
}

//统计评论总数
function count_com_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "comment");
return $data['total'];
}
//统计友链总数
function count_link_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(
) AS total FROM " . DB_PREFIX . "link");
return $data['total'];
}

//统计微语评论总数
function count_treply_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "reply");
return $data['total'];
}
//统计分类总数
function count_sort_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(
) AS total FROM " . DB_PREFIX . "sort");
return $data['total'];
}
//统计子分类数
function count_sort_mod(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "sort WHERE pid != 0");
return $data['total'];
}

//统计标签总数
function count_tag_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "tag");
return $data['total'];
}
//统计微语总数
function count_tw_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(
) AS total FROM " . DB_PREFIX . "twitter");
return $data['total'];
}

//统计用户总数
function count_user_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "user");
return $data['total'];
}

//统计管理员总数
function count_user_admin(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "user WHERE role = 'admin'");
return $data['total'];
}

//统计作者总数
function count_user_writer(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT() AS total FROM " . DB_PREFIX . "user WHERE role = 'writer'");
return $data['total'];
}
//统计附件总数
function count_att_all(){
$db = MySql::getInstance();
$data = $db->once_fetch_array("SELECT COUNT(
) AS total FROM " . DB_PREFIX . "attachment");
return $data['total'];
}

//最后发表文章时间 function last_post_log(){
$db = MySql::getInstance();
$sql = "SELECT * FROM " . DB_PREFIX . "blog WHERE type='blog' ORDER BY date DESC LIMIT 0,1";
$res = $db->query($sql);
$row = $db->fetch_array($res);
$date = date('Y-n-j H:i',$row['date']);
return $date;
};?>
在对应的位置插入<?php echo count_link_all();?>其中count_link_all()代表友链数量


标签: emlog

admin 发布于  2015-6-7 00:05 

emlog教程之在文章页实现判断百度是否收录你的文章 emlog

emlog教程之在文章页实现判断百度是否收录你的文章

首先在这里感谢四少爷的blog的开发制作成插件,在这里我是将插件里面的一些东西移植到了主题module文件里面,这样就不用开启插件就可以使用了。这方便提交,查看,利于SEO.

首先将以下代码存放在module文件中:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
//判断内容页是否百度收录
function baidu($url){
$url='http://www.baidu.com/s?wd='.$url;
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$rs=curl_exec($curl);
curl_close($curl);
if(!strpos($rs,'没有找到')){
return 1;
}
else{
return 0;
}
}
function checkbaidu($id){
$url=Url::log($id);
if(baidu($url)==1){
echo "百度已收录";
} else {
echo "<a style=\"color:red;\" rel=\"external nofollow\"
title=\"点击提交收录!\" target=\"_blank\"
href=\"http://zhanzhang.baidu.com/sitesubmit/index?sitename=$url\"&gt;百度未收录&lt;/a&gt;";
}
}
?>
  然后再将以下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php echo checkbaidu($logid); ?>



放入你的echo_log.php文件中的合适位置即可使用.效果如下:

QQ截图20150606000146.png

这是未收录的,

1.png

这是收录的.

06-06-000056.png 未收录的提示你收录,附带链接,方便提交,方便SEO.

注:参考独狼博客,原文链接:http://www.xlonewolf.net/work/282.html

标签: 代码 emlog SEO

admin 发布于  2015-6-5 23:14 

css 书写顺序、命名规则的指南 PHP

这里总结了一些国外一些文章以及我的个人经验总结出来,我想对写CSS的前端用户来说是值得学习的。

CSS书写顺序

  1. 位置属性(position, top, right, z-index, display, float等)
  2. 大小(width, height, padding, margin)
  3. 文字系列(font, line-height, letter-spacing, color- text-align等)
  4. 背景(background, border等)
  5. 其他(animation, transition等)

img.png

CSS书写规范

使用CSS缩写属性

CSS有些属性是可以缩写的,比如padding,margin,font等等,这样精简代码同时又能提高用户的阅读体验。

img.png

去掉小数点前的“0”

img.png

简写命名

很多用户都喜欢简写类名,但前提是要让人看懂你的命名才能简写哦!

img.png

16进制颜色代码缩写

有些颜色代码是可以缩写的,我们就尽量缩写吧,提高用户体验为主。

img.png

连字符CSS选择器命名规范

  1. 长名称或词组可以使用中横线来为选择器命名。
  2. 不建议使用“_”下划线来命名CSS选择器,为什么呢?
    • 输入的时候少按一个shift键;
    • 浏览器兼容问题 (比如使用_tips的选择器命名,在IE6是无效的)
    • 能良好区分JavaScript变量命名(JS变量命名是用“_”)
    • 这里有一篇破折号与下划线的详细讨论,英文::f点击查看 中文篇:f点击查看

      img.png

      不要随意使用Id

      id在JS是唯一的,不能多次使用,而使用class类选择器却可以重复使用,另外id的优先级优先与class,所以id应该按需使用,而不能滥用。

      img.png

      为选择器添加状态前缀

      有时候可以给选择器添加一个表示状态的前缀,让语义更明了,比如下图是添加了“.is-”前缀。

      img.png

      CSS命名规范(规则)

      常用的CSS命名规则

      • 头:header
      • 内容:content/container
      • 尾:footer
      • 导航:nav
      • 侧栏:sidebar
      • 栏目:column
      • 页面外围控制整体佈局宽度:wrapper
      • 左右中:left right center
      • 登录条:loginbar
      • 标志:logo
      • 广告:banner
      • 页面主体:main
      • 热点:hot
      • 新闻:news
      • 下载:download
      • 子导航:subnav
      • 菜单:menu
      • 子菜单:submenu
      • 搜索:search
      • 友情链接:friendlink
      • 页脚:footer
      • 版权:copyright
      • 滚动:scroll
      • 内容:content
      • 标签:tags
      • 文章列表:list
      • 提示信息:msg
      • 小技巧:tips
      • 栏目标题:title
      • 加入:joinus
      • 指南:guide
      • 服务:service
      • 注册:regsiter
      • 状态:status
      • 投票:vote
      • 合作伙伴:partner

      注释的写法:

      /* Header */ 内容区 /* End Header */

      Id的命名:

      1)页面结构

      • 容器: container
      • 页头:header
      • 内容:content/container
      • 页面主体:main
      • 页尾:footer
      • 导航:nav
      • 侧栏:sidebar
      • 栏目:column
      • 页面外围控制整体佈局宽度:wrapper
      • 左右中:left right center

      (2)导航

      • 导航:nav
      • 主导航:mainnav
      • 子导航:subnav
      • 顶导航:topnav
      • 边导航:sidebar
      • 左导航:leftsidebar
      • 右导航:rightsidebar
      • 菜单:menu
      • 子菜单:submenu
      • 标题: title
      • 摘要: summary

      (3)功能

      • 标志:logo
      • 广告:banner
      • 登陆:login
      • 登录条:loginbar
      • 注册:register
      • 搜索:search
      • 功能区:shop
      • 标题:title
      • 加入:joinus
      • 状态:status
      • 按钮:btn
      • 滚动:scroll
      • 标籤页:tab
      • 文章列表:list
      • 提示信息:msg
      • 当前的: current
      • 小技巧:tips
      • 图标: icon
      • 注释:note
      • 指南:guild
      • 服务:service
      • 热点:hot
      • 新闻:news
      • 下载:download
      • 投票:vote
      • 合作伙伴:partner
      • 友情链接:link
      • 版权:copyright

      注意事项::

      • 1.一律小写;
      • 2.尽量用英文;
      • 3.不加中槓和下划线;
      • 4.尽量不缩写,除非一看就明白的单词。

      CSS样式表文件命名

      • 主要的 master.css
      • 模块 module.css
      • 基本共用 base.css
      • 布局、版面 layout.css
      • 主题 themes.css
      • 专栏 columns.css
      • 文字 font.css
      • 表单 forms.css
      • 补丁 mend.css
      • 打印 print.css


标签: 编程 代码 css

admin 发布于  2015-6-4 23:55 

EMLOG在SAE安装,缓存解决方案 emlog

在SAE安装了EMLOG之后(PS:安装也是蛋疼的事情,不过这不是这篇文章的重点,所以 不管。。。。)会提示目录不可写。这是因为EM的缓存是写在安装的目录下。

那么解决方式就是:

1.首先点击 Memcache ,然后初始化,会提示分配一个大小,按你博客的内容量来分配一个,像我这个博客,5M就够了,当然 你害怕以后不够,可以分配100M,不过,,,,,豆豆会消耗的很多(貌似是这样 -0 -)。。。




2.打开代码管理,编辑代码,在include\lib文件路径下上传以下文件覆盖cache.php



附件下载:cache .zip



本文来源于王小刀博客,原文地址:http://www.wangshizhao.cn/emlog/145.html

标签: emlog

admin 发布于  2015-6-2 23:13 

Emlog博客调用分类文章图文显示的方法 emlog

模板的module.php文件中放入如下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php //调用分类文章,图文显示
function sheli_tw($sort, $num){$db = MySql::getInstance();
$sql = "SELECT gid,title,date,content,sortid,views,comnum FROM ".DB_PREFIX."blog WHERE sortid=".$sort." AND hide='n' ORDER BY date DESC LIMIT 0,$num";
$go = $db->query($sql);while($row = $db->fetch_array($go)){
$img_url = TEMPLATE_URL.'images/sheli.jpg';//无图片时显示
if(pic_thumb($row['content'])){$img_url = pic_thumb($row['content']);//查找正文第一张图片
}elseif(picthumb($row['gid'])){$img_url = picthumb($row['gid']);//查找附件第一张图片
}else{$img_url;}?>
<li><p><a href="<?php echo Url::log($row['gid']);?>"><img src="<?php echo $img_url;?>" /></p><span><?php echo $row['title'];?></a></span></li>
<?php }}function picthumb($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);while($row = $db->fetch_array($imgs)){$pict.= ''.BLOG_URL.substr($row['filepath'],3,strlen($row['filepath'])).'';}return $pict;}function pic_thumb($content){preg_match_all("/\<img.?src\=\"(.?)\"[^>]>/i", $content, $img);$imgsrc = !empty($img[1]) ? $img[1][0] : '';if($imgsrc):return $imgsrc;endif;}?>
调用方式:<?php sheli_tw(1,10);?>;其中1表示分类id,10表示数量


标签: emlog

admin 发布于  2015-6-1 23:14 

emlog去除分类目录前的sort emlog

把sort去掉,直接显示网址/分类别名 的形式,这样有利于搜索引擎收录,也使网址更加简明。



emlog去除分类目录前的sort修改方法:



首先确认你的站点支持Rewrite,确认支持Rewrite后进行如下操作:



1.修改include\lib\url.php文件,删除第102行和第104行的 sort/


2.修改include\lib\dispatcher.php文件,把第109行的


<pre style="overflow:auto" ;class="prettyprint lang-php linenums">return $path;
替换成
if($path!="/"&&substr($path,0,6)!="/sort/"&&substr($path,0,2)!="/?") {
return "/sort".$path;
} else {
return $path;
}
3.修改include\lib\dispatcher.php文件,把第109行的



<pre style="overflow:auto" ;class="prettyprint lang-php linenums">$path = str_ireplace('index.php', '', $path);
替换成
$path = str_ireplace('/index.php', '', $path);


标签: emlog

admin 发布于  2015-6-1 18:32 

Emlog获取相同作者的文章,可限制数量的方法 emlog

Emlog默认没有给予获取同一作者文章的相关功能;只是在列表也给出了相同作者的所有文章,下面就是Emlog获取相同作者的文章的代码,原构思来源于[啊宅],不够貌似博主写的不是很清楚,所以经过加工,让更多的Emloger受益。首页在模板的module.php文件中加入如下代码:


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php //获取相同作者的文章,可限制数量的方法
function sl_author(){$sl_zz=mysql_query("SELECT * FROM ".DB_PREFIX."blog WHERE author ='1' order by views DESC limit 0,10");while($sl = mysql_fetch_array($sl_zz)){?>
<li><a href="<?php echo Url::log($sl['gid']);?>" title="<?php echo $sl['title'];?>"><?php echo $sl['title'];?></a></li><?php
}}?>
其中author ='1' 中的标签作者id,limit 0,10中的0表示从第一篇文章开始,10表示数量;调用方法在你想要的地方放入<?php sl_author();?>即可。


标签: emlog

admin 发布于  2015-6-1 11:46 

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