fields.html 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. {foreach $fields as $item}
  2. <div class="form-group">
  3. <div class="control-label col-xs-12 col-sm-2">{$item.title}</div>
  4. <div class="col-xs-12 col-sm-8">
  5. {switch $item.type_list}
  6. {case string}
  7. <input type="text" name="row[{$item.name}]" id="c-{$item.name}" value="{$item.value|htmlentities}" class="form-control" data-rule="{$item.rule}" placeholder="{$item.notice}" {$item.extend}/>
  8. {/case}
  9. {case value="text"}
  10. <div style="padding-top: 7px;">{$item.value|htmlentities}</div>
  11. {/case}
  12. {case value="editor|textarea"}
  13. <textarea name="row[{$item.name}]" id="c-{$item.name}" class="form-control {eq name='$item.type_list' value='editor'}editor{/eq}" data-rule="{$item.rule}" rows="5" placeholder="{$item.notice}" {$item.extend}>{$item.value|htmlentities}</textarea>
  14. {/case}
  15. {case array}
  16. {php}$arrList=isset($values[$item['name']])?(array)json_decode($item['value'],true):$item['values_list'];{/php}
  17. <dl class="fieldlist" rel="{$arrList|count}" data-name="row[{$item.name}]">
  18. <dd>
  19. <ins>{:__('Array key')}</ins>
  20. <ins>{:__('Array value')}</ins>
  21. </dd>
  22. {foreach $arrList as $key => $vo}
  23. <dd class="form-inline">
  24. <input type="text" name="row[{$item.name}][field][{$key}]" class="form-control" value="{$key}" size="10"/>
  25. <input type="text" name="row[{$item.name}][value][{$key}]" class="form-control" value="{$vo}"/>
  26. <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
  27. <span class="btn btn-sm btn-primary btn-dragsort"><i class="fa fa-arrows"></i></span>
  28. </dd>
  29. {/foreach}
  30. <dd><a href="javascript:;" class="append btn btn-sm btn-success"><i class="fa fa-plus"></i> {:__('Append')}</a></dd>
  31. </dl>
  32. {/case}
  33. {case date}
  34. <input type="text" name="row[{$item.name}]" id="c-{$item.name}" value="{$item.value}" class="form-control datetimepicker" data-date-format="YYYY-MM-DD" data-tip="{$item.notice}" data-rule="{$item.rule}" {$item.extend}/>
  35. {/case}
  36. {case time}
  37. <input type="text" name="row[{$item.name}]" id="c-{$item.name}" value="{$item.value}" class="form-control datetimepicker" data-date-format="HH:mm:ss" data-tip="{$item.notice}" data-rule="{$item.rule}" {$item.extend}/>
  38. {/case}
  39. {case datetime}
  40. <input type="text" name="row[{$item.name}]" id="c-{$item.name}" value="{$item.value}" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-tip="{$item.notice}" data-rule="{$item.rule}" {$item.extend}/>
  41. {/case}
  42. {case number}
  43. <input type="number" name="row[{$item.name}]" id="c-{$item.name}" value="{$item.value}" class="form-control" data-tip="{$item.notice}" data-rule="{$item.rule}" {$item.extend}/>
  44. {/case}
  45. {case checkbox}
  46. {foreach name="item.values_list" item="vo"}
  47. <label for="row[{$item.name}][]-{$key}"><input id="row[{$item.name}][]-{$key}" name="row[{$item.name}][]" type="checkbox" value="{$key}" data-rule="{$item.rule}" data-tip="{$item.notice}" {in name="key" value="$item.value" }checked{/in} /> {$vo}</label>
  48. {/foreach}
  49. {/case}
  50. {case radio}
  51. {foreach name="item.values_list" item="vo"}
  52. <label for="row[{$item.name}]-{$key}"><input id="row[{$item.name}]-{$key}" name="row[{$item.name}]" type="radio" value="{$key}" data-rule="{$item.rule}" data-tip="{$item.notice}" {in name="key" value="$item.value" }checked{/in} /> {$vo}</label>
  53. {/foreach}
  54. {/case}
  55. {case value="select" break="0"}{/case}
  56. {case value="selects"}
  57. <select name="row[{$item.name}]{$item.type_list=='selects'?'[]':''}" class="form-control selectpicker" data-rule="{$item.rule}" data-tip="{$item.notice}" {$item.extend} {$item.type_list=='selects'?'multiple':''}>
  58. {foreach name="item.values_list" item="vo"}
  59. <option value="{$key}" {in name="key" value="$item.value" }selected{/in}>{$vo}</option>
  60. {/foreach}
  61. </select>
  62. {/case}
  63. {case value="image" break="0"}{/case}
  64. {case value="images"}
  65. <div class="input-group">
  66. <input id="c-{$item.name}" class="form-control" name="row[{$item.name}]" type="text" value="{$item.value|htmlentities}" data-rule="{$item.rule}" data-tip="{$item.notice}">
  67. <div class="input-group-addon no-border no-padding">
  68. <span><button type="button" id="plupload-{$item.name}" class="btn btn-danger plupload" data-input-id="c-{$item.name}" data-preview-id="p-{$item.name}" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp" data-multiple="{$item.type_list=='image'?'false':'true'}" {if $item.maximum}data-maxcount="{$item.maximum}" {/if}><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  69. <span><button type="button" id="fachoose-{$item.name}" class="btn btn-primary fachoose" data-input-id="c-{$item.name}" data-preview-id="p-{$item.name}" data-mimetype="image/*" data-multiple="{$item.type_list=='image'?'false':'true'}" {if $item.maximum}data-maxcount="{$item.maximum}" {/if}><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  70. </div>
  71. <span class="msg-box n-right" for="c-{$item.name}"></span>
  72. </div>
  73. <ul class="row list-inline plupload-preview" id="p-{$item.name}"></ul>
  74. {/case}
  75. {case value="file" break="0"}{/case}
  76. {case value="files"}
  77. <div class="input-group">
  78. <input id="c-{$item.name}" class="form-control" name="row[{$item.name}]" type="text" value="{$item.value|htmlentities}" data-rule="{$item.rule}" data-tip="{$item.notice}">
  79. <div class="input-group-addon no-border no-padding">
  80. <span><button type="button" id="plupload-{$item.name}" class="btn btn-danger plupload" data-input-id="c-{$item.name}" data-preview-id="p-{$item.name}" data-multiple="{$item.type_list=='file'?'false':'true'}" {if $item.maximum}data-maxcount="{$item.maximum}" {/if}><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
  81. <span><button type="button" id="fachoose-{$item.name}" class="btn btn-primary fachoose" data-input-id="c-{$item.name}" data-preview-id="p-{$item.name}" data-multiple="{$item.type_list=='file'?'false':'true'}" {if $item.maximum}data-maxcount="{$item.maximum}" {/if}><i class="fa fa-list"></i> {:__('Choose')}</button></span>
  82. </div>
  83. <span class="msg-box n-right" for="c-{$item.name}"></span>
  84. </div>
  85. <ul class="row list-inline plupload-preview" id="p-{$item.name}"></ul>
  86. {/case}
  87. {case switch}
  88. <input id="c-{$item.name}" name="row[{$item.name}]" type="hidden" value="{:$item.value?1:0}">
  89. <a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-{$item.name}" data-yes="1" data-no="0">
  90. <i class="fa fa-toggle-on text-success {if !$item.value}fa-flip-horizontal text-gray{/if} fa-2x"></i>
  91. </a>
  92. {/case}
  93. {case bool}
  94. <label for="row[{$item.name}]-yes"><input id="row[{$item.name}]-yes" name="row[{$item.name}]" type="radio" value="1" {$item.value?'checked':''} data-tip="{$item.notice}" /> {:__('Yes')}</label>
  95. <label for="row[{$item.name}]-no"><input id="row[{$item.name}]-no" name="row[{$item.name}]" type="radio" value="0" {$item.value?'':'checked'} data-tip="{$item.notice}" /> {:__('No')}</label>
  96. {/case}
  97. {case city}
  98. <input type="text" name="row[{$item.name}]" id="c-{$item.name}" data-toggle="city-picker" value="{$item.value|htmlentities}" class="form-control" data-rule="{$item.rule}" placeholder="{$item.notice}" {$item.extend}/>
  99. {/case}
  100. {case custom}
  101. {$item.content}
  102. {/case}
  103. {/switch}
  104. </div>
  105. </div>
  106. {/foreach}