※ただしsmarty3限定
freoで新着メディアを表示したい場合、たぶん大抵の人は手動でリンク貼ってやるか、freoの公式で配布されているメディア一括表示プラグインで表示領域を限定して固定数のみ表示するような感じで実装しているかと思いますが、後者の場合だとすこし無駄なリソースができてしまうのが困るって感じですよね。
てかうちのブログもトップページに載ってる新着は以前そうでした。すべてのメディアを読み込ませてたので非表示部分のリソースが無駄無駄。
てことでsmarty3限定となってしまいますが、対処法を載せておきます。
というかsmarty3にできる人なら自分ですぐ思いつきそうなのは間違っても思ってはいけない(´・ω・`)
メディア一括表示プラグインのmedia_all.htmlが編集対象です。
<ul>
<li>
<span title="{$media_all.id}" class="directory">{$media_all_names[$media_all.id]|default:$media_all.name}</span>
<p class="attention">このディレクトリには、閲覧制限が設定されています。</p>
<a href="{if $media_all.restriction}{$freo.core.http_file}/file/media/{$media_all.directory}{$media_all.name}{else}{$freo.core.http_url}{$media_all.id}{/if}"{if $media_all.memo} title="{$media_all.memo}"{/if}><img src="{if $media_all.restriction}{$freo.core.http_file}/file/media/{$media_all.directory}{$media_all.name}{if $media_all.thumbnail.id}?type=thumbnail{/if}{else}{$freo.core.http_url}{if $media_all.thumbnail.id}{$media_all.thumbnail.id}{else}{$media_all.id}{/if}{/if}" alt="{$media_all.name}({$media_all.width}px × {$media_all.height}px)" title="{$media_all.name}({$media_all.width}px × {$media_all.height}px)" /></a>
<a href="{if $media_all.restriction}{$freo.core.http_file}/file/media/{$media_all.directory}{$media_all.name}{else}{$freo.core.http_url}{$media_all.id}{/if}"{if $media_all.memo} title="{$media_all.memo}"{/if}>{$media_all.name}</a>
{include file='plugins/media_all/media_all.html'}
</li>
</ul>
デフォルトだとこうなっていると思います。
これにいくつか記述を追加するだけです。
{if $count < 8}
<ul>
<li>
<span title="{$media_all.id}" class="directory">{$media_all_names[$media_all.id]|default:$media_all.name}</span>
<p class="attention">このディレクトリには、閲覧制限が設定されています。</p>
<a href="{if $media_all.restriction}{$freo.core.http_file}/file/media/{$media_all.directory}{$media_all.name}{else}{$freo.core.http_url}{$media_all.id}{/if}"{if $media_all.memo} title="{$media_all.memo}"{/if}><img src="{if $media_all.restriction}{$freo.core.http_file}/file/media/{$media_all.directory}{$media_all.name}{if $media_all.thumbnail.id}?type=thumbnail{/if}{else}{$freo.core.http_url}{if $media_all.thumbnail.id}{$media_all.thumbnail.id}{else}{$media_all.id}{/if}{/if}" alt="{$media_all.name}({$media_all.width}px × {$media_all.height}px)" title="{$media_all.name}({$media_all.width}px × {$media_all.height}px)" /></a>
{$count = $count + 1}
<a href="{if $media_all.restriction}{$freo.core.http_file}/file/media/{$media_all.directory}{$media_all.name}{else}{$freo.core.http_url}{$media_all.id}{/if}"{if $media_all.memo} title="{$media_all.memo}"{/if}>{$media_all.name}</a>
{$count = $count + 1}
{include file='plugins/media_all/media_all.html' count=$count scope=parent}
</li>
{/if}
</ul>
で、例だと8回表示させるようになります。
smrty3限定なのはincludeの変数スコープを変更できるのが3からだからです。2は内部で変更された変数を戻すことはできないのでこの方法は使用できません(´・ω・`)