如何在表达式引擎中创建内部链接?

时间:2012-09-10 14:46:05

标签: html expressionengine

我有一个条目列表,我正在尝试在顶部创建一个可以单击的标题列表,以便页面滚动到正文。以下是行不通的,因为当我使用entry_id时,它会写出整个URL / entry_id

<div class="list">
    {exp:channel:entries channel="mychan" category="2"}    
        <div class="mytitle"><a href="{entry_id}">{title}</a></div>
    {/exp:channel:entries} 
</div>

{exp:channel:entries channel="mychan" category="2"}    
    <div class="ele">
        <div class="mytitle"><a href="#entry_id">{title}</a></div>
        <div class="mybody">{mybody}</div>
     </div>
{/exp:channel:entries}   

1 个答案:

答案 0 :(得分:3)

它没有写出整个URL / entry_id。 href只是entry_id,浏览器会自动转换为http://your-site.com/entry_id。对于内部链接,它需要有#符号。

此外,内部链接名称为some other requirements

  

ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。

所以他们不能只是一个数字;你需要至少从一封信开始。

因此,在链接到条目的第一个{exp:channel:entries}循环中,将链接href更改为此(或类似的东西):

<a href="#entry_{entry_id}">{title}</a></div>

在第二个循环中,重复(不#)作为包裹div上的ID:

<div class="ele" id="entry_{entry_id}">
  ...
</div>