如何在此.TPL文件中创建“显示更多”按钮

时间:2013-06-12 20:57:14

标签: button module show

我已经下载了一个名为Publications的模块的模板。加载新闻页面时,它会调用此.tpl文件:

{title}{$category.title}{/title}
<div class="newsPage">
    <h1>Latest News</h1>

    {foreach from=$articles item=entry name=articles}
        {if $smarty.foreach.articles.first}<dl><br />{/if}
        <dt><a href="{$GLOBALS.site_url}/publications/{$category.id}/{$entry.id}/{$entry.title|replace:' ':'-'|escape:"urlpathinfo"}.html" class="title"></dt>
        <dd>{$entry.description}</dd>
        {if $smarty.foreach.articles.last}</dl></a>{/if}
    {foreachelse}
        [[There are no articles available at this time]]
    {/foreach}
</div>

而且存在问题。如果有1000篇文章,则会加载所有文章,不会创建任何页面。

我正在尝试创建一个“显示更多”按钮,首先只显示最新的4篇文章,然后当点击“显示更多”按钮时,将显示接下来的4篇文章,依此类推......

这可能吗?任何人都可以帮助我创建一个动态新闻部分的新方法吗?

2 个答案:

答案 0 :(得分:0)

我仍然没有安装我的编辑器,但你可以给一个div或任何东西一些属性,这使得该对象隐藏,我不确定它是阻止,还是隐藏它自己,

然后你也可以给它一个id,并用java脚本引用它,并且你已经知道像jQuery这样的查询语言,你甚至可以更简单地引用div元素,并改变它的属性,(我没有使用jQuery),如果它将作为toltip,你可以使用你的父div /图像/按钮/任何东西:

[style]:hover{display:block;}

对于正常的样式:

[style]{display:none;}

或代替显示,你可以使用

[style]:hover{visibility:visible;}

对于这样的stle:

[style]{visibility:hidden;}

这是大多数网站菜单利用的方式

答案 1 :(得分:0)

解决。将<dl> <dt> <dd>更改为<ul> <li>,然后:

    var vis = 5;
$('.news li').slice(vis).hide();

var $more = $('<a href="#">Mais</a>')
    $more.click(function(){
        $('.news li:hidden').slice(0,vis).show();
        if($('.news li:hidden').length == 0)
            $more.hide();
    });
$('.newsPage ul').after($more);