Emlog的各种标签集合,只分享一些常用的标签函数 emlog

本文简单分析emlog5下的模板基本结构以及基本变量、函数的作用,详细了解本文,有助于更快掌握emlog5的模板开发基础。emlog的模板位于安装目录content\templates\文件夹下,每个模板都是一个单独的文件夹,文件夹以模板名字命名。通过后台上传安装的模板都保存在这个目录下。



公共标签:

    通过预览整个模板中的各个文件,你会发现以下代码同时存在于多个文件中,这些代码分别有以下用途:
if(!defined('EMLOG_ROOT')) {exit('error!');}
此行代码存在于模板目录下的每个php文件起始部分(事实上为了安全起见,该行代码也在admin目录下的几乎所有php文件起始部分存在),其作用是防
止代码所在的php脚本被直接访问执行。 require_once View::getView('side'); require_once
View::getView('footer');
这两行代码存在于log_list.php、echo_log.php、page.php、t.php里面,其作用是调用模板文件夹下的side.php
和footer.php的代码到当前文件的当前位置。View是emlog的模板视图控制器,View::getView('文件名','文件后缀')将
返回当前模板安装路径下对应的文件。getView函数的第二个参数为缺省参数,在不传入值的情况下,将默认作为.php文件后缀返回文件路径。



    注意:关于各页面的判断方法请参考《emlog各种判断页面代码大集合



当前日志页相关标签

标题:<?php echo $log_title;?>

日志链接:<?php echo Url::log($logid);?>

日志ID:<?php echo $logData['logid'];?>

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

所属分类:<?php blog_sort($logid);?>

文章作者:<?php blog_author($author);?>

浏览量:<?php echo $views;?>

评论数:<?php echo $comnum;?>

置顶标记:<?php topflg($top);?>



当前列表页相关标签

当前分类描述:<?php echo $sort_cache[1]['description'];?>  其中的1为分类id

分开列表页与首页标签:<?php if($pageurl == Url::logPage()){?>首页内页<?php }else{?>列表页内容<?php }?>

日志链接:<?php echo $value['log_url'];?>

日志标题:<?php echo $value['log_title'];?>

发布时间:<?php echo gmdate('Y-n-j', $date);?>

摘要字数:Option::get('excerpt_subnum') 可替换下面的200

日志摘要:<?php echo
$value['log_description'];?>(字数后台控制);如果实现去掉html代码请使用<?php echo
subString(strip_tags($value['content']),0,200);?>标签,200表示字符数

<?php echo subString(strip_tags(str_replace("\n"," ",$value['content'])),0,200);?> 过滤回车空格

日志id标签:<?php echo $value['logid'];?>

日志标签:<?php blog_tag($value['logid']);?>

评论数:<?php echo $value['comnum'];?>

浏览量:<?php echo $value['views'];?>

标签: emlog

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

emlog各种判断页面代码大集合 emlog

本文提供emlog
全的判断各种页面的方法,可以判断首页、分类页、标签页、搜索页、分页、归档页、作者页、日志页。因此可以实现不同页面显示不同侧边栏或者调用不同内容,
也可以实现不同类型页面的标题修改。具体设置方法和之前的那篇《实现内页和首页显示不同的友链的方法》差不多,而日志页和单独页面page页好像没有发现
有好的判断方法,暂且就将他们都归为内容页。其他的判断emlog判断判断首页、分类页、标签页、搜索页、分页、归档页、作者页、日志页的变量如下:

$sortName //判断是否分类页 $sortid //分类id $tag //判断是否标签页 $record //判断是否归档页 $keyword //判断是否搜索页 $tws //碎语页 $logid //日志 page页 $author //作者页 $pageurl == Url::logPage() //首页,包含首页分页,一般用来分离列表页 "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL //判断是否是首页(PS:仅限当前域名,无任何后缀) $value['comnum'] > 10 //评论数大于10 $views >300 //浏览量大于300 $comnum > 10 && $views >300 //评论数大于10且浏览量大于300 

使用方法:

<?php if(判断标签){?>是当前标签的显示的内容 <?php }else{?>不是当前标签显示的内容,留空则不显示 <?php }?>

当然也可以多少判断放在一起的,例如:

<?php if($sortName){?>分类页显示内容 <?php }elseif($tag){?>标签页显示内容 <?php }elseif($record){?>归档页显示内容 <?php }elseif($keyword){?>搜索页显示内容 <?php }elseif($logid){?>日志page页显示内容 <?php }elseif($tws){?>碎语页显示内容 <?php }?>

如果要实现不同id显示不同的结果,可以使用 判断标签==id  例如:

<?php if($author == 1){?>作者id为1页显示内容 <?php }elseif($author == 2){?>作者id为2页显示内容 <?php }?>

多个判断放在一起可使用||,例如($logid || $keyword || $tag)

标签: emlog

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

Emlog只获取含图片的最新文章函数代码分享 emlog

本文只是博主收藏的一些代码分享,可能对于一些人是无用的,但博主秉承分享快乐的原则进行分享,希望能帮到有需要的人,如发现代码有问题请在本页反馈,代码只是在em5.3.1中进行测试,其他环境为测试,以下代码如无特殊说明,直接方式博客模板你要想放入的位置即可

    获取含图片图片的最新文章

<?php
//获取含图片的最新文章
function sheli_img(){
$db = MySql::getInstance();
$sql = "SELECT blogid as g,filepath,(SELECT title FROM ".DB_PREFIX."blog where `gid`=g) as t FROM ".DB_PREFIX."attachment WHERE `filepath` LIKE '%jpg' OR `filepath` LIKE '%gif' OR `filepath` LIKE '%png' GROUP BY `blogid` ORDER BY `addtime` DESC LIMIT 0, 8";
$imgs = $db->query($sql);
while($row = $db->fetch_array($imgs)){
$img .= '<li><a href="'.Url::log($row['g']).'" target="_blank" title="'.$row['t'].'"><img src="'.BLOG_URL.substr($row['filepath'],3,strlen($row['filepath'])).'" alt="'.$row['t'].'" /><span class="title">'.$row['t'].'</span></a></li> ';}
echo $img;}
sheli_img();
?>

最新微语
<?php $newtws_cache = $CACHE->readCache('newtw');echo $newtws_cache[0]['t'];?>


标签: emlog

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

非插件实现emlog评论加入表情方法分享 emlog

看到很多emlog博客评论都有表情,我也想在博客中加一个,网上搜了下方法好多,但是移植挺难得,本想考虑直接用编辑器的,想后台那样,结果不行,显示不出来~郁闷啊,我就在网上找简单点的。这方法简单,且可移植性高,在下佩服啊!好了,废话不多说了,切入正题!



使用方法:

1、下载本站附件并上传至你想要上传到模版目录images文件夹中(附件下载:http://pan.baidu.com/s/1pJuqGvp);

2、在module.php发表评论表单的<?php endif; ?>下面代码<?php }?>加入如下代码(以默认模版为例):<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><script src="<?php echo BLOG_URL; ?>/include/lib/js/common_tpl.js" type="text/javascript"></script> <script type="text/javascript">var loaded = false, blog_url = "<?php echo TEMPLATE_URL; ?>";$(function(){$("textarea[name=comment]").bind('focus click',function() {if (!loaded) {$.getScript(blog_url + "images/face/face.js");loaded = true;}});});</script>


3、在footer.php最后加入如下代码:<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php $output = ob_get_clean();$output = preg_replace("|[:([^#]+)#(\d+):]|i",'<img border="0" src="'.TEMPLATE_URL.'images/face/$1/$2.gif" />',$output);ob_start();echo $output;?>


本代码只在5.3.1中测试过,其他环境未测试,演示效果图:

213123123123123.png转自舍力博客
标签: emlog

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

给Emlog博客评论外链自动添加nofollow emlog

在文章中出现外部链接却没有自动添加,如果手动为外链添加外链跳转或访问这个网址就需要复制到浏览器中才能打开,这样的确有些不利于用户体验。

    怎么办呢?那么,我们现在要做的就是在为 文章 的文章" target="_blank">文章中的外链添加”nofollow”属性.如果能够将博客为 文章 的文章" target="_blank">文章里的导出外链都加上nofollow标签,这样既能够阻止权重的流失,也能提升用户体验,何乐而不为!


第一步、找到模版里module.php,在最后一行加入如下代码(ps:如果本代码无法使用,请把$_SERVER['HTTP_HOST']改为 "你的域名" ,包含那个引号,如有疑问请留言咨询)


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
function com_url($text) {
if(strstr($text,$_SERVER['HTTP_HOST'])){return $text;
}else{return str_replace('<a href="', '<a href=', '<a rel="nofollow" href=', $text);}
}
?>
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">第二步、找到模板module.php,将其中的是<?php echo $comment['poster']; ?>替换为<?php echo com_url($comment['poster']); ?>一共有2处需要替换。
第二步:把上面的代码稍稍修改一下,具体如下



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
function com_url($text) {
if(strstr($text,$_SERVER['HTTP_HOST'])){return $text;
}else{return str_replace('<a href="', '<a href="'.BLOG_URL.'go/?url=', $text);}
}
?>


标签: emlog

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

非插件实现Emlog评论链接本地化的方法 emlog

玩Emlog的朋友都知道,Emlog评论是可以带链接的,可能有很多朋友会加在链接上加入nofollow标签或直接用外链本地化插件,今天将给大家讲一下非插件实现Emlog评论实现链接本地化的方法

    首先建立一个php文件(PS:命名的话由你自己来定,例如:sheli.php;最好放在根目录下,以便更好的调用),代码如下:[推荐使用]


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
$go=$_REQUEST["go"];
function if_http($http_url)
{
$url=$http_url;
$preg='|^http://|';
if(!preg_match($preg,$url))
{$url='http://'.$url;}
$tz_url=$url;
return $tz_url;
}
$web=if_http($go);
header("Location:$web");
?>
是的 然后去content/templates/模板文件夹名/module.php到博客评论列表那里找到



href="'.$comment['url'].'"

的替换为

href="/sheli.php?go='.$comment['url'].'"

其中的sheli.php为你自己放入根目录的文件,这样就搞定了,自己动手试试吧


  如何用php实现这个url跳转呢?只用简单的几行代码,就可以实现;新件一个文件夹[例:sheli.php],代码如下(ps:已经加入判断看是否有http://,有就直接跳转,没有就加上http://后跳转)

<?php $url=$_GET["go"]; header("Location:"."http://".$url); ?>

调用示例:路径/sheli.php?go=跳转的网址

以上方法使用于所有php程序,主要区别在于,第一个方法不管你加不加http://都可以跳转,第二个方法如果加了http://跳转就会出错,当然你可以去掉其中的后台http://,当不加http://访问同样出错。

刚刚用360检测时发现有漏洞,强烈建议使用时加上如下代码(2014-12-5):

<pre style="overflow:auto" ;class="prettyprint lang-php linenums">$post = trim($post); $post = strip_tags($post,""); //清除HTML等代码 $post = ereg_replace("\t","",$post); //去掉制表符号 $post = ereg_replace("\r\n","",$post); //去掉回车换行符号 $post = ereg_replace("\r","",$post); //去掉回车 $post = ereg_replace("\n","",$post); //去掉换行 $post = ereg_replace(" ","",$post); //去掉空格 $post = ereg_replace("'","",$post); //去掉单引号
当然如果要改变跳转路径,还可以把方法变变,例如在根目录创建一个go的文件夹,在里面创建一个index.php,代码使用上面推荐使用的代码,这样跳
转的路径就可以变更为go/?url= ;测试 http://www.shuyong.net/go/?url=www.baidu.com


标签: emlog

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

EMLOG文章外链自动本地化或直接外链加nofollow属性的方法 emlog

做网站的都或多或少动那么一点SEO
知识,在发文章的时候对于站外链接都想加上一个nofollow的属性,以防止本站的权重不流失,手动给每个链接增加nofollow有些费事,于是乎就
想到了用PHP代码自动把非本站网址的链接加上nofollow属性,今天分享的这个PHP代码就是这个用处,你只需要把下面代码复制粘贴到指定位置后,
你就不用担心每次都手动给文章内容里的站外链接添加nofollow属性了;链接添加nofollow属性不易过多,适当才好,这个还是站长自己把握吧,
有需要的就从下方把代码复制去吧。

    将下面代码复制到module.php文件里去


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
function content_nofollow($log_content, $domain){
preg_match_all('/href="(.?)"/', $log_content, $matches);
if ($matches) {
foreach ($matches[1] as $val) {
if (strpos($val, $domain) === false) {
$log_content = str_replace('href="'.$val.'"', 'href="'.$val.'" rel="external nofollow" ', $log_content);
}}}
preg_match_all('/src="(.
?)"/', $log_content, $matches);
if ($matches) {
foreach ($matches[1] as $val) {
if (strpos($val, $domain) === false) {
$log_content = str_replace('src="'.$val.'"', 'src="'.$val.'" rel="external nofollow" ', $log_content);
}}}
return $log_content;
}?>
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">将<?php echo content_nofollow($log_content,BLOG_URL);?>下面代码复制到echo_log.php、page.php里替换<?php echo $log_content; ?>
也可以把外链本地化(ps:如果不懂,请直接使用上面的方法即可,本方法为本人自己使用),第一步:请参考《非插件实现Emlog评论链接本地化的方法》中推荐使用放方法

第二步:把上面的代码稍稍修改一下,具体如下



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
function content_nofollow($log_content, $domain){
preg_match_all('/href="(.?)"/', $log_content, $matches);
if ($matches) {
foreach ($matches[1] as $val) {
if (strpos($val, $domain) === false) {
$log_content = str_replace('href="'.$val.'"', 'href="'.BLOG_URL.'go/?url='.$val.'"', $log_content);
}}}
preg_match_all('/src="(.
?)"/', $log_content, $matches);
if ($matches) {
foreach ($matches[1] as $val) {
if (strpos($val, $domain) === false) {
$log_content = str_replace('src="'.$val.'"', 'src="'.BLOG_URL.'go/?url='.$val.'"', $log_content);
}}}
return $log_content;
}?>


标签: emlog

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

分享一个emlog非插件实现读者排行榜的方法 emlog

代码由flyercn分享,本站只做转载登记之用,代码可能要自己稍稍修改才能使用,如有疑问,留言咨询,这个创建一个文件,例如:comtop.php,把代码放入这个文件中,然后直接把这个文件放入网站根目录即可。


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php //读者墙汇总页面
require_once 'init.php';
define('TEMPLATE_PATH', TPLS_PATH.Option::get('nonce_templet').'/');
$CACHE = Cache::getInstance();
$options_cache = $CACHE->readCache('options');
extract($options_cache);
$navibar = unserialize($navibar);
$curpage = CURPAGE_HOME;
$site_title = "分享一个emlog非插件实现读者排行榜的方法";
$site_key = 'emlog评论者排行榜';
$site_description = '统计访问舍力博客且有留言的网友,前9名评论者有外链,已经去除作者和无链接者评论';
include View::getView('header');
?>
<style>
.dzq{margin:auto;margin:10px 0 0-10px;}
.dzq ul{clear:both;overflow:hidden;}
.dzq ul li{width:33.333333333333333%;float:left; line-height:20px; }
.dzq ul li dd{border:1px solid #ccc;clear:both;overflow:hidden;margin:0 0px 5px 10px;background:url(vip.png) no-repeat left -1px}
.dzq ul li p{float:left;margin:10px 10px 10px 10px;}
.dzq1{margin:auto; margin-left:-5px;}
.dzq1 ul{width:8.333333333333333333333333%;float:left;}
.dzq1 ul li{border:1px solid #ccc;margin:5px 0 5px 5px;clear:both;overflow:hidden;}
.dzq1 ul li p{text-align:center; margin-top:5px;}
.dzq1 ul li h4{text-align:center; height:25px; overflow:hidden; line-height:25px;}
.sm{clear:both;overflow:hidden; font-size:14px; border:1px solid #ccc; padding:10px;}
</style>
<?php
global $CACHE;$user_cache = $CACHE->readCache('user');$name = $user_cache[1]['name'];
$DB = MySql :: getInstance();
$sql = "SELECT count(*) AS comment_nums,poster,mail,url FROM ".DB_PREFIX."comment where date >0 and poster !='".$name ."' and url!='' and hide ='n' group by poster order by comment_nums DESC limit 0,200";
$result = $DB -> query($sql );$x=1; while($row = $DB -> fetch_array($result ) )if ($x<=1) {{if($row['url']){$tmp = "
<ul><li><dd><a target=\"_blank\" href=".$row['url']."><p><img alt='' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /></p>
<h4>第一名:".$row['poster']."<br />在本站共评论".$row['comment_nums']."次<br />".$row['url']."</h4></a></li></dd>";
}else{$tmp = $img;}$output .= $tmp;$x++;}}elseif($x<=2){if($row['url']){$tmp = "
<li><dd><a target=\"_blank\" href=".$row['url']."><p><img alt='' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /></p>
<h4>第二名:".$row['poster']."<br />在本站共评论".$row['comment_nums']."次<br />".$row['url']."</h4></a></dd></li>";
}else{$tmp = $img;}$output .= $tmp;$x++;}elseif($x<=3){if($row['url']){$tmp = "
<li><dd><a target=\"_blank\" href=".$row['url']."><p><img alt='' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /></p>
<h4>第三名:".$row['poster']."<br />在本站共评论".$row['comment_nums']."次<br />".$row['url']."</h4></a></dd></li>";
}else{$tmp = $img;}$output .= $tmp;$x++;}elseif($x<=4){if($row['url']){$tmp = "
<li><dd><a target=\"_blank\" href=".$row['url']."><p><img alt='' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /></p>
<h4>第四名:".$row['poster']."<br />在本站共评论".$row['comment_nums']."次<br />".$row['url']."</h4></a></dd></li>";
}else{$tmp = $img;}$output .= $tmp;$x++;}elseif($x<=5){if($row['url']){$tmp = "
<li><dd><a target=\"_blank\" href=".$row['url']."><p><img alt='' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /></p>
<h4>第五名:".$row['poster']."<br />在本站共评论".$row['comment_nums']."次<br />".$row['url']."</h4></a></dd></li>";
}else{$tmp = $img;}$output .= $tmp;$x++;}elseif($x<=6){if($row['url']){$tmp = "
<li><dd><a target=\"_blank\" href=".$row['url']."><p><img alt='' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /></p>
<h4>第六名:".$row['poster']."<br />在本站共评论".$row['comment_nums']."次<br />".$row['url']."</h4></a></dd></li>";
}else{$tmp = $img;}$output .= $tmp;$x++;}elseif($x<=7){if($row['url']){$tmp = "
<li><dd><a target=\"_blank\" href=".$row['url']."><p><img alt='' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /></p>
<h4>第七名:".$row['poster']."<br />在本站共评论".$row['comment_nums']."次<br />".$row['url']."</h4></a></dd></li>";
}else{$tmp = $img;}$output .= $tmp;$x++;}elseif($x<=8){if($row['url']){$tmp = "
<li><dd><a target=\"_blank\" href=".$row['url']."><p><img alt='' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /></p>
<h4>第八名:".$row['poster']."<br />在本站共评论".$row['comment_nums']."次<br />".$row['url']."</h4></a></dd></li>";
}else{$tmp = $img;}$output .= $tmp;$x++;}elseif($x<=9){if($row['url']){$tmp = "
<li><dd><a target=\"_blank\" href=".$row['url']."><p><img alt='' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /></p>
<h4>第九名:".$row['poster']."<br />在本站共评论".$row['comment_nums']."次<br />".$row['url']."</h4></a></dd></li></ul></div><div class=\"dzq1\">";
}else{$tmp = $img;}$output .= $tmp;$x++;}elseif($x>=10){$img = "";
if($row['url']){$tmp = "
<ul><li><a target=\"_blank\" href=\"".BLOG_URL."go/?url=".$row['url']."\" title=\"【第".$x."名】 评论:".$row['comment_nums']."\"><p><img alt='".$row['poster']."' src=".myGravatar($row['mail'])." height=\"40\" width=\"40\" /><p><h4>".$row['poster']."</h4></a></li></ul>";
}else{$tmp = $img;}$output .= $tmp;$x++;}
$output = '
<div class="sm">说明(以下链接的来源,仅显示前200名评论者;顺序:留言数 —> 最新评论者):<br />
在舍力博客随便一篇文章中留言(图像为Gravatar),通过审核即可上榜。<br />
排名为留言次数最多(审核通过的次数),前9名评论者加红显示,已经去除作者和无链接者评论</div>
<div class="dzq">'.$output .'</div>';
echo $output ;?>
<?php include View::getView('footer');?>


标签: emlog

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

如何让置顶文章只显示标题不显示摘要 emlog

如何让置顶的文章只显示标题而不显示摘要,而其他没有置顶的文章依然显示标题和摘要,如图所示:

其实只要判断一下是不是置顶文章就可以了,<?php if($value['top']=='n'):?>非首页置顶文章显示内容<?php endif; ?>,如果是分类置顶的话就用<?php if($value['sortop']=='n'):?>非分类置顶文章显示内容<?php endif; ?>下面以模板为例,修改log_list.php


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"> <h2><?php topflg($value['top'], $value['sortop'], isset($sortid)?$sortid:''); ?><a href="<?php echo $value['log_url']; ?>"><?php echo $value['log_title']; ?></a></h2>
<?php if($value['top']=='n'):?><!--判断开始,注释可以去掉-->
<p class="date">作者:<?php blog_author($value['author']); ?> 发布于:<?php echo gmdate('Y-n-j G:i', $value['date']); ?>
<?php blog_sort($value['logid']); ?>
<?php editflg($value['logid'],$value['author']); ?>
</p>
<?php echo $value['log_description']; ?>
<p class="tag"><?php blog_tag($value['logid']); ?></p>
<p class="count">
<a href="<?php echo $value['log_url']; ?>#comments">评论(<?php echo $value['comnum']; ?>)</a>
<a href="<?php echo $value['log_url']; ?>">浏览(<?php echo $value['views']; ?>)</a>
</p>
<?php endif; ?><!--判断结束,注释可以去掉-->
本方法来源于论坛hackhp之手,舍力用5.3.1测试正常显示,如有疑问可下面留言。


题外话:使用此方法也可以不显示首页置顶文章,只需要把<?php if($value['top']=='n'):?>放在


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><h2><?php topflg($value['top'], $value['sortop'], isset($sortid)?$sortid:''); ?><a href="<?php echo $value['log_url']; ?>"><?php echo $value['log_title']; ?></a></h2>
前面即可

当然,如果要实现分类置顶不显示,只需要把<?php if($value['top']=='n'):?>改为<?php if($value['sortop']=='n'):?>,如何需要同时不显示,都加上就好了,但是也要把<?php endif; ?>改为<?php endif; endif;?>


标签: emlog

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

实现内页和首页显示不同的友链的方法 emlog

友链链接如何实现内页和首页的链接不同。。

就是添加友链是时候可以选择是内页还是首页。。

有个简单的思路,可以在链接影藏时放在内页。显示时在首页。。。这样应该就不需要在数据库添加字段了。。

以下是EM论坛hackhp给出的方法(在需要调用的地方放入<?php page_like(); ?>): 注:以下方法产生的友链是当你后台点击隐藏的才会显示的,不然是不显示的

在模板文件module.php最后加入如下代码:(推荐使用)


<pre style="overflow:auto" ;class="prettyprint lang-php linenums"> <?php
function page_like(){
$db = MySql::getInstance();
$sql = "SELECT * FROM " . DB_PREFIX . "link WHERE hide='y' ORDER BY taxis ASC";
$result = $db->query($sql);
while($row = $db->fetch_array($result)){ ?>
<li><a href="<?php echo $row['siteurl']; ?>" title="<?php echo $row['description']; ?>" target="_blank"><?php echo $row['sitename']; ?></a></li>
<?php } ?>
<?php } ?>
第二种方法:

在模板文件module.php最后加入如下代码:



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
function link_n(){$db = MySql::getInstance();?>
<?php $sql = "SELECT sitename,id,description,siteurl,hide FROM ".DB_PREFIX."link ORDER BY id "; $list = $db->query($sql);while($row = $db->fetch_array($list)){
if($row['hide']=='n'){$yes="1";}else{$yes="2";}?>
<?php if($yes=='2'): ?>
<a title="<?php echo $row['description']; ?>" href="<?php echo $row['siteurl']; ?>" target="_blank"><?php echo $row['sitename']; ?></a>
<?php else:endif; }} ?>
今天有个网友说到全站调用内页友链(首页除外),舍力在这里分享一下自己的方法,要稍微修改一下上面的代码,以默认模板为例(ps:肯定还有更好的方法,如果你有好的方法,望留言给我,大家共同学习);在模板文件module.php最后加入如下代码:



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php //内页链接
function ny_links(){$db = MySql::getInstance();$sql = "SELECT * FROM " . DB_PREFIX . "link WHERE hide='y' ORDER BY taxis ASC";$result = $db->query($sql);?>
<li><h3><span>友链链接(内页)</span></h3><ul id="link">
<?php while($row = $db->fetch_array($result)){ ?>
<li><a href="<?php echo $row['siteurl']; ?>" title="<?php echo $row['description']; ?>"><div style="background:url(<?php echo $row['siteurl']; ?>/favicon.ico) no-repeat;background-size:16px; background-position: 50% center;float:left;width:16px;height:16px;margin:5px 2px 0 0px;"></div><?php echo $row['sitename']; ?></a></li>
<?php }?></ul></li><?php }?>
在模板文件side.php的</ul>前面加入如下代码:



<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL) {}else{ny_links();}?>



标签: emlog

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