最新消息:文章中包含代码时,请遵守代码高亮规范!

Twig模板入门总结2【原创】

Symfony2 ada 757浏览 0评论

三个月前,写了一个twig模板入门总结,这次继续总结twig模板,之前说的就不在重复,这次说一下项目中遇到的新的问题:

1. 数据的排序

序号 姓名 电话
1 Abc 131********
2 ABC 131********
3 Bca 131********
序号 姓名 电话
3 Abc 131********
2 ABC 131********
1 Bca 131********

通常我们 排序是从1开始排,一次递增,这样很简单,直接设置一个变量i为1,一次递增,代码如下:

 
{% set i = 1 %}
 {% for key,item in reward_item %}
 <div class="reward{{ i }}">
 {% if item.score != '' %}
 <p>{{ item.score }}积分</p>
 <img src="{{ asset('bundles/user/images/lottery/pic1.png') }}" class="one-pic" alt="">
 {% else %}
 <p>{{ item.product }}</p>
 <img src="{{ asset('upload/') }}{{ item.upload }}" class="one-pic" alt="">
 {% endif %}
 </div>
 {% set i = i+1 %}
 {% endfor %}

但是我们要从大到小的排序,就需要考虑几个问题,第一是递减问题,第二是分页问题,那么,我们就需要三个变量,第一个是设置的变量i=数据总共的条数(假设为total),分页(就是一共分了多少页,假设为page),则代码如下:

{% set i = total %}
 {% for value in data %}
 <li>
 <span class="text-center" style="display: inline-block;width: 77px;" >{{ i - (page-1)*100 }}</span>
 <span style="margin-right: 5px;float: right;">
 <a href="{{ path('delet_user') }}?ID={{ value.id }}" onclick="return window.confirm('确定删除吗?')">
 <span class="sx-icon-common icon08-position pull-left"></span>
 <span class="option3">删除</span>
 </a>
 </span>
 <span style="margin-right: 18px;float: right;">
 <a href="{{ path('update_mess') }}?ID={{ value.id }}">
 <span class="sx-icon-common icon07-position pull-left"></span>
 <span class="option2">编辑</span>
 </a>
 </span>
 <span style="margin-right: 18px;float: right;">
 <a href="{{ path('look_message') }}?ID={{ value.id }}">
 <span class="sx-icon-common icon06-position pull-left"></span>
 <span class="option1">查看</span>
 </a>
 </span>
 </li>
 {% set i = i - 1 %}
 {% endfor %}
 

2、ajax经常用到的一句话:var json = $.parseJSON(res);

 
$.ajax({
 url: "{{ path('user_check_salt') }}",
 type: 'POST',
 data: {salt: codeYzm},
 success: function(res){
 var json = $.parseJSON(res);
 if(json.errorCode == 2){
 alert(json.message);
 result = false;

 } else if (json.errorCode == 1) {
 $("#myForm").submit();
 result = true;
 }
 }
 })

百度了一下$.parseJSON的用法,函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。我个人理解,就是后端传过来json格式的数组,而在JavaScript中,并不能直接用,需要将之转换为JavaScript的对象,才能打印出;但是这句话又不是必要的,有时候后端传值并不是以json格式传值,此时盲目用就会报错,所以要看后端以什么形式传值。

 

3、js传带有参数的路由,用replace进行转换,代码如下:

$('.store_product_type_edit').click(function(){ 
 $('.big-mask').show();
 $('.product_type_box').show();
 edit_name = $(this).data('name');
 edit_ids = $(this).data('id');
 list_order = $(this).data('order');
 $('.product_type_box_name').val(edit_name);
 $('.product_order').val(list_order);
 $('.product_type_box form').attr('action',"{{ path('store_product_type_edit' , {id:'text', list_order:'list_order'}) }}".replace("text",edit_ids).replace("list_order",list_order));
 })

 

 

 

 

转载时请注明出处及相应链接,本文永久地址:http://blog.it985.com/19991.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者ada的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!