123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- <form id="config-form" class="edit-form form-horizontal" role="form" data-toggle="validator" method="POST" action="">
- {if $addon.tips && $addon.tips.value}
- <div class="alert {$addon.tips.extend|default='alert-info-light'}" style="margin-bottom:10px;">
- {if $addon.tips.title}
- <b>{$addon.tips.title}</b><br>
- {/if}
- {$addon.tips.value}
- </div>
- {/if}
- <div class="panel panel-default panel-intro">
- {if count($groupList)>1}
- <div class="panel-heading mb-3">
- <ul class="nav nav-tabs nav-group">
- <li class="active"><a href="#all" data-toggle="tab">全部</a></li>
- {foreach name="groupList" id="tab"}
- <li><a href="#tab-{$key}" title="{$tab}" data-toggle="tab">{$tab}</a></li>
- {/foreach}
- </ul>
- </div>
- {/if}
- <div class="panel-body no-padding">
- <div id="myTabContent" class="tab-content">
- {foreach name="groupList" id="group" key="groupName"}
- <div class="tab-pane fade active in" id="tab-{$groupName}">
- <table class="table table-striped table-config mb-0">
- <tbody>
- {foreach name="$addon.config" id="item"}
- {if ((!isset($item['group']) || $item['group']=='') && $groupName=='other') || (isset($item['group']) && $item['group']==$group)}
- <tr data-favisible="{$item.visible|default=''|htmlentities}" data-name="{$item.name|htmlentities}" class="{if $item.visible??''}hidden{/if}">
- <td width="15%">
- {$item.title}
- {if $item.type=='array' && $item.tip}
- <a href="javascript:" class="text-info" data-toggle="popover" data-content="{$item.tip}" data-trigger="click" data-title="配置提示" data-html="true"><i class="fa fa-info-circle"></i></a>
- {/if}
- </td>
- <td>
- <div class="row">
- <div class="col-sm-8 col-xs-12">
- {switch $item.type}
- {case string}
- <input {$item.extend|htmlentities} type="text" name="row[{$item.name|htmlentities}]" value="{$item.value|htmlentities}" class="form-control" data-rule="{$item.rule}" data-tip="{$item.tip}"/>
- {/case}
- {case password}
- <input {$item.extend|htmlentities} type="password" name="row[{$item.name|htmlentities}]" value="{$item.value|htmlentities}" class="form-control" data-rule="{$item.rule}" data-tip="{$item.tip}"/>
- {/case}
- {case text}
- <textarea {$item.extend|htmlentities} name="row[{$item.name|htmlentities}]" class="form-control" data-rule="{$item.rule}" rows="5" data-tip="{$item.tip}">{$item.value|htmlentities}</textarea>
- {/case}
- {case array}
- <dl class="fieldlist" data-name="row[{$item.name|htmlentities}]">
- <dd>
- <ins>{:__('Array key')}</ins>
- <ins>{:__('Array value')}</ins>
- </dd>
- <dd>
- <a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> {:__('Append')}</a>
- {if $item.name=='rewrite'}
- <a href="javascript:" class="btn btn-sm btn-warning btn-removerewrite" data-text="/wwh">一键移除URL中的/wwh</a>
- {/if}
- </dd>
- <textarea name="row[{$item.name|htmlentities}]" cols="30" rows="5" class="hide">{$item.value|json_encode|htmlentities}</textarea>
- </dl>
- {/case}
- {case date}
- <input {$item.extend|htmlentities} type="text" name="row[{$item.name|htmlentities}]" value="{$item.value|htmlentities}" class="form-control datetimepicker" data-date-format="YYYY-MM-DD" data-tip="{$item.tip}" data-rule="{$item.rule}"/>
- {/case}
- {case time}
- <input {$item.extend|htmlentities} type="text" name="row[{$item.name|htmlentities}]" value="{$item.value|htmlentities}" class="form-control datetimepicker" data-date-format="HH:mm:ss" data-tip="{$item.tip}" data-rule="{$item.rule}"/>
- {/case}
- {case datetime}
- <input {$item.extend|htmlentities} type="text" name="row[{$item.name|htmlentities}]" value="{$item.value|htmlentities}" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-tip="{$item.tip}" data-rule="{$item.rule}"/>
- {/case}
- {case number}
- <input {$item.extend|htmlentities} type="number" name="row[{$item.name|htmlentities}]" value="{$item.value|htmlentities}" class="form-control" data-tip="{$item.tip}" data-rule="{$item.rule}"/>
- {/case}
- {case checkbox}
- {foreach name="item.content" item="vo"}
- <label for="row[{$item.name|htmlentities}][]-{$key}"><input id="row[{$item.name|htmlentities}][]-{$key}" name="row[{$item.name|htmlentities}][]" type="checkbox" value="{$key}" data-tip="{$item.tip}" {in name="key" value="$item.value" }checked{/in} /> {$vo}</label>
- {/foreach}
- <span class="msg-box n-right" for="c-{$item.name|htmlentities}"></span>
- {/case}
- {case radio}
- {foreach name="item.content" item="vo"}
- <label for="row[{$item.name|htmlentities}]-{$key}"><input id="row[{$item.name|htmlentities}]-{$key}" name="row[{$item.name|htmlentities}]" type="radio" value="{$key}" data-tip="{$item.tip}" {in name="key" value="$item.value" }checked{/in} /> {$vo}</label>
- {/foreach}
- <span class="msg-box n-right" for="c-{$item.name|htmlentities}"></span>
- {/case}
- {case value="select" break="0"}{/case}
- {case value="selects"}
- <select {$item.extend|htmlentities} name="row[{$item.name|htmlentities}]{$item.type=='selects'?'[]':''}" class="form-control selectpicker" data-tip="{$item.tip}" {$item.type=='selects'?'multiple':''}>
- {foreach name="item.content" item="vo"}
- <option value="{$key}" {in name="key" value="$item.value" }selected{/in}>{$vo}</option>
- {/foreach}
- </select>
- {/case}
- {case value="image" break="0"}{/case}
- {case value="images"}
- <div class="form-inline">
- <input id="c-{$item.name|htmlentities}" class="form-control" size="35" name="row[{$item.name|htmlentities}]" type="text" value="{$item.value|htmlentities}" data-tip="{$item.tip}">
- <span><button type="button" id="plupload-{$item.name|htmlentities}" class="btn btn-danger plupload" data-input-id="c-{$item.name|htmlentities}" data-mimetype="image/*" data-multiple="{$item.type=='image'?'false':'true'}" data-preview-id="p-{$item.name|htmlentities}"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
- <span><button type="button" id="fachoose-{$item.name|htmlentities}" class="btn btn-primary fachoose" data-input-id="c-{$item.name|htmlentities}" data-mimetype="image/*" data-multiple="{$item.type=='image'?'false':'true'}"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
- <ul class="row list-inline plupload-preview" id="p-{$item.name|htmlentities}"></ul>
- </div>
- {/case}
- {case value="file" break="0"}{/case}
- {case value="files"}
- <div class="form-inline">
- <input id="c-{$item.name|htmlentities}" class="form-control" size="35" name="row[{$item.name|htmlentities}]" type="text" value="{$item.value|htmlentities}" data-tip="{$item.tip}">
- <span><button type="button" id="plupload-{$item.name|htmlentities}" class="btn btn-danger plupload" data-input-id="c-{$item.name|htmlentities}" data-multiple="{$item.type=='file'?'false':'true'}"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
- <span><button type="button" id="fachoose-{$item.name|htmlentities}" class="btn btn-primary fachoose" data-input-id="c-{$item.name|htmlentities}" data-multiple="{$item.type=='file'?'false':'true'}"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
- </div>
- {/case}
- {case bool}
- <label for="row[{$item.name|htmlentities}]-yes"><input id="row[{$item.name|htmlentities}]-yes" name="row[{$item.name|htmlentities}]" type="radio" value="1" {$item.value?'checked':''} data-tip="{$item.tip}" /> {:__('Yes')}</label>
- <label for="row[{$item.name|htmlentities}]-no"><input id="row[{$item.name|htmlentities}]-no" name="row[{$item.name|htmlentities}]" type="radio" value="0" {$item.value?'':'checked'} data-tip="{$item.tip}" /> {:__('No')}</label>
- {/case}
- {default /}{$item.value}
- {/switch}
- </div>
- <div class="col-sm-4"></div>
- </div>
- </td>
- </tr>
- {/if}
- {/foreach}
- </tbody>
- </table>
- </div>
- {/foreach}
- <div class="form-group layer-footer">
- <label class="control-label col-xs-12 col-sm-2" style="width:15%;"></label>
- <div class="col-xs-12 col-sm-8">
- <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
- <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
- </div>
- </div>
- </div>
- </div>
- </div>
- </form>
- <script>
- require.callback = function () {
- var tabevent = function () {
- $(document).on("click", ".btn-removerewrite", function () {
- $("dd", $(this).closest("dl.fieldlist")).each(function () {
- });
- var reg = new RegExp($(this).data("text"));
- $(this).closest("dl.fieldlist").find("input[name$='[value]']").each(function () {
- $(this).val($(this).val().replace(reg, ''));
- });
- $(this).closest("dl.fieldlist").find("input[name$='[value]']:first").trigger("change");
- });
- }
- define('backend/addon', ['jquery', 'form'], function ($, Form) {
- var Controller = {
- config: function () {
- Form.api.bindevent($("form[role=form]"));
- tabevent();
- }
- };
- return Controller;
- });
- }
- </script>
|