织梦列表页获取当前链接和当前分页链接

织梦列表页获取当前链接和当前分页链接

功能描述

  • 兼容静态 动态 伪静态
  • 支持第一页直接是栏目链接,第二页,第三页。。。。按当前分页
  • 支持在开启绝对路径和没开启绝对路径不同输出

实现教程

1.打开 include/arc.listview.class.php 找到

else if($PageNo!=1 && $ctag->GetName()==‘field‘ && $ctag->GetAtt(‘display‘)!=‘‘)

在它的上面加入

else if($ctag->GetName()=="itemcururl")
{
    if($ismake==0)
    {
        $this->dtp->Assign($tagid,$this->GetItemsCurUrlDM());
    }
    else
    {
        $this->dtp->Assign($tagid,$this->GetItemsCurUrlST());
    }
}

继续找到

获得当前的页面文件的url

在它的注释上面加入

/**
 *  获得当前栏目链接与当前分页链接
 *
 * @access    public
 * @return    string
 * @return    {dede:itemcururl/}
 */
function GetItemsCurUrlDM()
{
	global $cfg_basehost,$cfg_multi_site;
	$purl = $this->GetCurUrl();
    // 如果开启为静态,则对规则进行替换
    if($cfg_rewrite == ‘Y‘)
    {
        $nowurls = preg_replace("/-/", ".php?", $purl);
        $nowurls = explode("?", $nowurls);
        $purl = $nowurls[0];
    }
	if($this->PageNo==1)
	{
		$geturl = "tid=".$this->TypeID;
		$purl .= ‘?‘.$geturl;
	}
	else
	{
		$geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
		$purl .= ‘?‘.$geturl."PageNo=".$this->PageNo;
	}
	$cururl = ($cfg_multi_site==‘Y‘) ? $purl : $cfg_basehost.$purl;
	return $cururl;
}
function GetItemsCurUrlST()
{
	global $cfg_basehost;
    $tnamerule = $this->GetMakeFileRule($this->Fields[‘id‘],"list",$this->Fields[‘typedir‘],$this->Fields[‘defaultname‘],$this->Fields[‘namerule2‘]);
    $tnamerule = preg_replace("/^(.*)\//", ‘‘, $tnamerule);
	$cfg_basehost = preg_replace(‘#/$#‘,‘‘,$cfg_basehost);
	$tnamerule = MfTypedir($this->Fields[‘typedir‘]).‘/‘.$tnamerule;
	if($this->PageNo==1)
	{
		$purl = MfTypedir($this->Fields[‘typedir‘]).‘/‘;
	}
	else
	{
		$purl = str_replace("{page}",$this->PageNo,$tnamerule);
	}
	$cururl = ($cfg_multi_site==‘Y‘) ? $purl : $cfg_basehost.$purl;
	return $cururl;
}

列表页模板调用标签写法

{dede:itemcururl/}

原文地址:https://www.cnblogs.com/dedevip/p/9901154.html

时间: 2024-08-22 11:22:16

织梦列表页获取当前链接和当前分页链接的相关文章

dedecms织梦列表页调用TAG标签并带上链接的实现方法

在需要调用的地方添加如下代码: [field:id runphp='yes'] global $cfg_cmspath; $tags = GetTags(@me); $revalue = ''; $tags = explode(',', $tags); foreach($tags as $key => $value){ if($value){ $revalue .= '<a href="'.$cfg_cmspath.'/tags.php?/'.$value.'/">'

dede织梦列表页如何调用全站子栏目

网站源代码:{dede:channel type='son'} <a href="[field:typelink/]">[field:typename/]</a> {/dede:channel} 我们在原代码中加上一个调用频道命令就可以了typeid='1','1'表示调用的是1频道.你可以改成你想调用的频道ID号.频道ID你在你的后台就可以查到.改成后如下: {dede:channel typeid='1' type='son'} <a href=&qu

DEDECMS织梦列表页每隔N行文章添加一条分隔线

这是给一个朋友做模板的时候,用到的一个小小的技巧,今天正好用上了,以前看到有人问过不知道解决没有,今天整理了一下,本想保存在自己的电脑里,后来一想,不如咱们一起共享一下,也是对织梦的感恩,有好东西就来分享.  也就是实现下面每隔5行,显示一条虚线,当然,这里可以是实线可以是其它的任何一种线,任何一种颜色的线,这些线都是由css定义的.先上图: 代码如下: 本部分设定了隐藏,您已回复过了,以下是隐藏的内容 {dede:arclist row=30 titlelen=50 orderby=pubda

织梦列表页和内容页调用缩略图的方法

有很多朋友都知道如何在dedecms的列表页调用缩略图,但是却不知道如何在文章内容页调用该文档的缩略图.其实很简单,只需要在内容页模板里需要调用缩略图的地方插入下面的标签代码就可以了. <img src="{dede:field.litpic /}"> 还可以做个扩展,在文档有缩略图的时候才显示,没有缩略图则不显示.代码如下: {dede:field.litpic runphp="yes"}if (@me!=''){@me= "<img

织梦列表页调用文章内容里的图片在列表显示。

/* *获取字符串的第一个图片地址 */ function getbodyfirstpic($str_img){ preg_match_all("/<img.*\>/isU",$str_img,$ereg);//正则表达式把图片的整个都获取出来了 $img=$ereg[0][0];//图片 $p="#src=('|\")(.*)('|\")#isU";//正则表达式 preg_match_all ($p, $img, $img1);

织梦列表页每5行一个ul标签写法

<ul class="news-list"> {dede:list} [field:global name='autoindex' runphp='yes'] @me = ((@me-1)%5==0 && @me != 1) ? '</ul><ul class="news-list">':''; [/field:global] <li><span>[field:pubdate functio

织梦列表页数据重复解决方法

dede:list 列表调用出来的新闻,每一个都重复了两次,怎么解决? 解决方法 注意:以下操作,所有文档会被清空,栏目不会清空 后台-系统-SQL命令行工具-执行 TRUNCATE #@_addonarticle; TRUNCATE #@_arccache; TRUNCATE #@_arctiny; TRUNCATE #@_archives; 如果你的文档只有文章模型的话执行上面几行SQL就行了,如果还有其他模型,需要加上 TRUNCATE #@_其他模型附加表 例如下图 那就要加上这几句 T

织梦列表页,标题重复解决办法

清空三张表 dede_addonarticle 文章附加表dede_archives 文档主表dede_arctiny 文档微表 DELETE FROM dede_addonarticle WHERE aid >= 1 and aid<=200000; DELETE FROM dede_archives WHERE id>=1 and id<=200000; DELETE FROM dede_arctiny WHERE id>=1 and id<=200000; 注意:

织梦列表页调相关文章

{dede:arclist row='1'  addfields='body' channelid='1' }        <h2>[field:title/]</h2> [field:body/]         {/dede:arclist}