1

我想用来自使用 MT5.1 的博客的 MTTags 制作一个索引页面(就像你在字典开头看到的那样)。可能有一些 jQuery 解决方案,但我很想用 Movable 类型标签来完成这个。这是我到目前为止所拥有的。

<ul>
    <mt:Tags sort_by="Name">
      <li><mt:TagName></li>
    </mt:Tags>
</ul>

我希望结果如下:

A

- Apple
- apricot

B

- bee

C

- Cake
- Cinnamon

D

- Dog
- Dragon
4

1 回答 1

1

首先我们需要隔离第一个字符:

<$mt:TagName regex_replace="/(?<=.).*$/","" $>

(这是一个零宽度的正向后视断言),但我们希望它为大写字母,并将其保存到一个变量中:

<$mt:TagName regex_replace="/(?<=.).*$/","" upper_case="1" setvar="current_index" $>

现在我们只需要将它与最后一个索引进行比较,看看是否需要输出索引头:

<mt:Tags sort_by="Name">

  <$mt:TagName regex_replace="/(?<=.).*$/","" upper_case="1" setvar="current_index" $>
  <mt:unless name="last_index">
     # this is the first time
  <mt:else name="current_index" ne="last_index">
     # need to output the new index
  </mt:unless>
  <mt:var name="current_index" setvar="last_index">

  <li><mt:TagName></li>

</mt:Tags>

<mt:if name="last_index">
    # close the list
</mt:if>

html标签留给读者。:-)

于 2013-06-26T01:42:01.163 回答