smarty笔记

1. 文字拼接,文字查找,计数,截取

 1 <div class="upcoming_content">
 2     {assign var="comp" value=""}
 3     {assign var="count" value="0"}
 4     {utilCall fn="utilGetCalendarTimeSlice" rn="calendar" cat_id="43" start_date=$start_date end_date=$end_date culture="en" limit="" sort_by="startDate"}
 5     {if $calendar}
 6         <ul class="upcoming_list">
 7         {foreach from=$calendar item=curr_item name=curr_item}
 8             {foreach from=$curr_item item=event name=event}
 9                 {assign var="c" value=$event.id|cat:','}
10                 {if $comp|strpos:$c === false}  //文字查找
11                     {assign var="comp" value=$comp|cat:$event.id|cat:','}  //文字拼接
12                     {assign var="count" value=$count+1} //计数
13                 {/if}
14                 {if $count <= 10} //获取Top 10
15                 <li class="event-{$event.id}">
16                     <a href="/index.php?t=calendar.tpl&id={$event.id}&cat_id={$event.cat_id}&start_date={$event.start_date}&end_date={$event.end_date}" target="_blank">{$event.title|truncate:60:'...'}</a><br/>//文字截取
17                     <span class="time02">{$event.start_date|date_format:"%B %e, %Y"}-{$event.end_date|date_format:"%B %e, %Y"}</span>
18                 </li>
19                 {/if}
20             {/foreach}
21         {/foreach}
22         </ul>
23     {/if}
24 </div>

2. 分页

 1 <div id="pagelist" class="clearfix">
 2     <a href="/canadian-sailing-team-p191117&preview=1&pager=1">First</a> //第一页
 3     {if $pagerInfo.currentPage > 1} //如果当前页大于1,则有pre链接
 4         <a href="/canadian-sailing-team-p191117&preview=1&pager={$pagerInfo.previousPage}"><span>Pre</span></a>
 5     {else}
 6         <span>Pre</span>
 7     {/if}
 8     {section name=forpage loop=$pagerInfo.pageCount} //loop循环总数
 9         {assign var="pindex" value=$smarty.section.forpage.index+1} //index从0开始计数
10         <a href="/canadian-sailing-team-p191117&preview=1&pager={$pindex}"><span {if $pagerInfo.currentPage == $pindex} class="cur" {/if}>{$pindex}</span></a>
11     {/section}
12  {if $pagerInfo.currentPage < $pagerInfo.pageCount}//如果当前页小于总页数,则有next链接
13         <a href="/canadian-sailing-team-p191117&preview=1&pager={$pagerInfo.nextPage}"><span>Next</span></a>
14     {else}
15         <span>Next</span>
16     {/if}
17     <a href="/canadian-sailing-team-p191117&preview=1&pager={$pagerInfo.pageCount}">Last</a>
18 </div>

3. 随机排序显示Page中的mediaObject

 1 {utilCall fn="utilGetPageById" rn="sliders" Id='156223'} //获取page
 2 <div class="img_ad">
 3     <div class="img_wrap">
 4         <img src="/files/SEMI_2011_logo_small.png" class="logo_wrap">
 5         {if $sliders->mediaObjects}
 6         <ul id="jimgs">
 7             {assign var="img" value=""}
 8             {assign var="title" value=""}
 9             {foreach from=$sliders->mediaObjects item=slider} //获取所有mediaObjects
10             {assign var="img" value=$img|cat:$slider->getHumanReadbleURL('')|cat:','}
11             //把mediaObject的url地址用逗号分割放入img 字符串
12             {assign var="title" value=$title|cat:$slider->title|cat:','} 
13             //把mediaObject的title用逗号分割放入title字符串
14             {/foreach}
15         </ul>
16         {/if}
17     </div>
18 </div>
19 {literal}
20 <script>
21 $(function () { 
22     var title_str = "{/literal}{$title}{literal}";
23     var img_str = "{/literal}{$img}{literal}";  //获取smarty参数
24     if(img_str != undefined && img_str != "undefined"){
25         randomSlider(img_str,title_str);  //随机排序
26     }
27     function randomSlider(img,title){ //随机排序函数
28         var arr_img = img.split(',');
29         var arr_title = title.split(',');
30         var arr = new Array;
31         var len = arr_title.length;
32         arr_title.length = len - 1;
33         arr_img.length = len - 1; //删除最后一个空值
34         var len = len - 1;
35         for(var i=0;i<len;i++){
36             arr[i] = i;
37         }
38         var new_arr = arr.sort(randomSort);
39         var _ul = $("#jimgs");
40         for(var i=0;i<len;i++){
41             var j = new_arr[i];
42             var temp = '<li><img src="'+arr_img[j]+'" alt="'+arr_title[j]+'" /></li>';
43             _ul.append(temp);
44         }
45         _ul.responsiveSlides({
46             auto: true,
47             pager: true,
48             speed: 500,
49             maxwidth: 949
50         });
51     }   
52     function randomSort(a,b){
53         return Math.random() - 0.5;
54     }
55 });
56 </script>
57 {/literal}

 

posted @ 2014-08-08 13:24  connie1120  阅读(238)  评论(0编辑  收藏  举报