可移动类型4:如何显示最后一项资产?

时间:2010-11-22 14:18:48

标签: movabletype

我知道我可以使用

  <mt:EntryAssets lastn="1">      
       <img src="<$mt:AssetThumbnailURL width="100"$>" />
  </mt:EntryAssets>

显示“最后”资产...如何显示“第一个”或“最早”的资产?

1 个答案:

答案 0 :(得分:1)

[我在这里指出“第一”和“最老”不一定是同一个问题 你会明白为什么这在下面很重要。鉴于您使用的代码段,我将假设您首先要求的是在条目内容中的位置。对不起,但这是我的宠物虫之一。]

技术上,you can't。这个错误(如果你没有Fbz帐户,则进一步总结)最终被附加到一个里程碑,所以希望情况并非总是这样。

实际上,反转排序顺序通常可能会输出您期望的结果:

<mt:entryassets limit="1" sort_order="ascend">

...只要您自上而下地撰写条目,并且以后不要乱用资产

根本问题是当前的EntryAssets实现实际上并没有考虑您的内容。它只是加载一个关联资产列表,然后按资产本身的created_on日期对它们进行排序,而不是它们出现在哪个物理顺序中,甚至当它们附加到该特定条目时。所以作为一个极端的例子,如果您在帖子中插入五个图像,我上面的代码片段将返回第一个图像,如预期的那样。如果你以后反转他们的顺序并保存,它仍然会输出相同的图像,现在是(序数)最后一个图像。所以,回到我在顶部所说的,你在想“第一”,而MT总是给你“最老的”。这需要进一步假设您总是在撰写时上传资产。如果两年前其中一个已经在系统中,那么它将会被归还,因为它比其他任何东西都要老。

如果你在组合屏幕的侧边栏中使用MT4.3x和Entry Asset Manager并使用它来附加(而不是插入)资产,这将变得更加复杂,因为没有办法区分通过各种方式与条目相关联的资产之间。

因此。
如果您绝对需要返回的资产是可预测的,那么您需要以某种方式将其与组进行实际区分。有this suggestion用“@first”或类似名称来标记资产。这不是很好,但你至少会知道你得到了什么(假设你每个条目只标记一个资产)。如果您有可用的自定义字段,您可能会看到创建一个单独的“特色/缩略图”资产字段是否更有意义,以便您可以明确地测试它。它最终将取决于为什么你想要提取这一特定资产。