$DEDE_Rewrite
变量获取当前文章的URL地址。 DedeCms获取当前文章URL地址的方法
方法一:使用全局函数GetCurUrl()
DedeCMS提供了一个全局函数GetCurUrl()
,可以用来获取当前页面的URL地址,在模板文件中,可以通过{dede:geturl}
标签来调用这个函数,具体代码如下:
{dede:geturl runphp='yes'} @me = GetCurUrl(); {/dede:geturl}
将上述代码插入到你需要显示当前文章URL地址的位置,然后生成文章内容页面即可。
方法二:使用arcurl字段
如果你只需要获取当前文档的静态URL地址,可以直接使用arcurl
字段,这种方法相对简单,只需一个标签即可实现,具体代码如下:
{dede:field name='arcurl' /}
将这段代码放在文章内容页面的模板文件中,即可显示当前文档的URL地址。
方法三:通过SQL语句调用静态文档地址
如果你需要更灵活地控制URL的获取方式,可以通过SQL语句来获取静态文档地址,具体代码如下:
{dede:field.id runphp='yes'} $id=@me; @me=''; $url=GetOneArchive($id); @me=$url['arcurl']; {/dede:field.id}
将上述代码添加到内容页模板适当的位置后生成相关文章即可。
方法四:结合网站根目录
为了确保URL的完整性和正确性,可以将相对地址转换为绝对地址,这可以通过结合网站根目录标签来实现,具体代码如下:
{dede:global.cfg_basehost /}{dede:field name='arcurl' /}
这里的{dede:global.cfg_basehost /}
标签会输出网站的根目录URL,而{dede:field name='arcurl' /}
则是当前文档的相对URL,两者结合即为完整的URL地址。
相关问答FAQs
问题一:如何确保获取到的URL是绝对路径而不是相对路径?
答:可以通过结合网站根目录标签来实现,具体代码为:
{dede:global.cfg_basehost /}{dede:field name='arcurl' /}
这里的{dede:global.cfg_basehost /}
标签会输出网站的根目录URL,而{dede:field name='arcurl' /}
则是当前文档的相对URL,两者结合即为完整的URL地址。
问题二:为什么有时候使用{dede:field name=’arcurl’ /}无法获取到正确的URL?
答:如果在使用{dede:field name='arcurl' /}
时无法获取到正确的URL,可能是因为该标签只能获取静态文档地址,如果你的网站开启了动态链接或者伪静态链接,建议使用方法一或方法三来获取正确的URL。
方法 | 描述 | 示例代码 |
DedeCms变量获取 | 使用DedeCms内置变量获取当前文章URL | {dede:field.url/} |
系统函数getCurUrl() | 使用DedeCms提供的系统函数获取当前URL | {dede:field.url/} 或{dede:field.url/}{dede:global.name/} |
模板标签{dede:global.name/} | 获取当前文章的名称,用于构造URL | {dede:field.url/}{dede:global.name/} |
模板标签{dede:global.autoindex/} | 获取当前文章的ID,用于构造URL | {dede:field.url/}{dede:global.autoindex/} |
模板标签{dede:field.id/} | 获取当前文章的ID,用于构造URL | {dede:field.url/}{dede:field.id/} |
PHP代码构造URL | 通过PHP代码拼接URL,包括文章ID和名称 | 文章链接 |
URL重写 | 使用DedeCms的URL重写功能,自定义URL格式 | 在URL规则中设置规则,如article/{dede:global.autoindex/} |
注意:以上示例中的{dede:field.url/}
、{dede:global.name/}
、{dede:global.autoindex/}
和{dede:field.id/}
是DedeCms模板标签,用于在模板中获取当前文章的相关信息,实际使用时,需要根据具体的DedeCms版本和配置进行相应的调整。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。