虚拟表使用支持独立使用,也可以附加其它表上使用。
一、独立使用
对应的前台入口为/index.php?m=table_data
含list\show\add。
二、附加使用
1、数据发布
$tableid=$cat["ex_table_id"]; $fieldsList=array(); if($tableid){ if($data["ex_table_data_id"]){ $fieldsList=M("table_data")->get($tableid,$data["ex_table_data_id"]); }else{ $fieldsList=M("table_fields")->select(array( "where"=>"tableid=".$tableid, "order"=>"orderindex ASC" )); } }
{if $fieldsList} <div class="pd-10">扩展属性</div> {/if} {foreach item=c from=$fieldsList} {if $c.fieldtype eq 'text'} <div class="input-flex"> <div class="input-flex-label">{$c.title}</div> <input class="input-flex-text" type="text" name="tablefield[{$c.fieldname}]" value="{$c.value}" /> </div> {elseif $c.fieldtype eq 'textarea'} <div class="textarea-flex"> <div class="textarea-flex-label">{$c.title}</div> <textarea name="tablefield[{$c.fieldname}]" class="textarea-flex-text h60">{$c.value}</textarea> </div> {elseif $c.fieldtype eq 'html'} <div class="textarea-flex"> <div class="textarea-flex-label">{$c.title}</div> <div class="js-html-item"> <textarea name="tablefield[{$c.fieldname}]" class="none js-html-textarea">{$c.value}</textarea> <div contenteditable="true" class="sky-editor-content textarea-flex-text ">{$c.value}</div> </div> </div> {elseif $c.fieldtype eq 'img'} <div class="input-flex"> <div class="input-flex-label">{$c.title}</div> <div class="flex-1"> <div class="js-upload-item upimg-box"> <input type="file" id="tablefield{$c.id}" class="js-upimg-file" style="display: none;" /> <div class="upimg-btn js-upimg-btn">+</div> <input type="hidden" name="tablefield[{$c.fieldname}]" class="imgurl" value="{$c.value}" /> <div class="upimg-img-box"> {if $c.value} <img src="{$c.value|images_site}.100x100.jpg" class="upimg-img" /> {/if} </div> </div> </div> </div> {elseif $c.fieldtype eq 'map'} <div class="bg-white"> <div class="pd-10">{$c.title}</div> <div class="js-map"> <input type="hidden" class="map-value" name="tablefield[{$c.fieldname}]" value="{$c.value}" /> <div class="flex mgb-5 pdl-10"> <input type="text" id="mapWord" /> <div id="mapSearch" class="input-flex-btn">搜一下</div> </div> <div class="map" id="map" style="width: 100%; height: 300px;"></div> </div> </div> {/if} {/foreach}
2、数据显示
$fieldsList=M("table_data")->get($cat["ex_table_id"],$data["ex_table_data_id"]);
<!--扩展属性--> {if $fieldsList} <div class="row-box mgb-5"> {foreach item=c from=$fieldsList} {if $c.fieldtype=='text'} <div class="flex bd-mp-10 flex-ai-center"> <div class="w100">{$c.title}</div> <div class="flex-1">{$c.value}</div> </div> {elseif $c.fieldtype=='textarea'} <div class="flex bd-mp-10 flex-ai-center"> <div class="w100">{$c.title}</div> <div class="flex-1"> {$c.value} </div> </div> {elseif $c.fieldtype=='html'} <div class="flex bd-mp-10 flex-ai-center"> <div class="w100">{$c.title}</div> <div class="flex-1 d-content"> {$c.value} </div> </div> {elseif $c.fieldtype=='img'} <div class="flex bd-mp-10 flex-ai-center"> <div class="w100">{$c.title}</div> <div class="flex-1"> <img src="{$c.value}" class="wmax" /> </div> </div> {elseif $c.fieldtype=='map'} <div class="flex bd-mp-10 flex-ai-center"> <div class="w100">{$c.title}</div> <div class="flex-1 flex"> <img src="http://api.map.baidu.com/staticimage/v2?ak={const.BDMAPKEY}&mcode=666666¢er={$c.value}&markers={$c.value}&width=300&height=200&zoom=11 " class="wmax" /> </div> </div> {/if} {/foreach} </div> {/if}