可移动类型:如何生成一定范围的随机数?

时间:2011-08-25 06:27:06

标签: movabletype

我不确定只使用Movable Type标签是否可行,但是,如何在一定范围内显示随机数?

例如我有10张名为1~10的图像,每次重建时我想显示该范围内的随机图像。

我使用MT5。

提前谢谢!

3 个答案:

答案 0 :(得分:2)

您可以试用我的MTCollate plugin with random filter版本。原始文档在这里:http://www.nonplus.net/software/mt/MTCollate.htm - 不同之处在于它添加了sort =“〜”或“random”过滤器,但使用MTShuffleList块可能会很好。

答案 1 :(得分:1)

我认为如果你想要显示一张图像并且图像数量是十,那么也许你可以显示这条线。

<MTSetVarBlock name="imageID"><MTDate format="%S"></MTSetVarBlock>
<MTSetVarBlock name="imageID"><mt:GetVar name="imageID" op="div" value="6" sprintf="%d"></MTSetVarBlock>
<MTSetVar name="imageID" op="++">
src="/images/hoge<mt:GetVar name='imageID'>.jpg"

答案 2 :(得分:0)

如果您愿意,可以使用PHP实际执行此操作。 Movable Type支持发布到PHP的功能,您只需将要随机化的内容放在PHP块中即可。您需要做的就是在博客设置中将已发布的存档文件类型更改为“php”。这是MTML样本:

<?php
    $images = array();
    <mt:Asset id="1">
    $images[] = '<mt:AssetURL/>';
    </mt:Asset>
    <mt:Asset id="2">
    $images[] = '<mt:AssetURL/>';
    </mt:Asset>
    <mt:Asset id="3">
    $images[] = '<mt:AssetURL/>';
    </mt:Asset>
    $selected_asset = array_rand($images);
?>

只需为所需的每个特定资产重复资产标记即可。这将生成十个操作,将每个图像资源的URL推送到数组中。或者,如果您想公开最后十个,那么您只需要<mt:Assets lastn="10">

相关问题