虚拟表使用支持独立使用,也可以附加其它表上使用。
一、独立使用
对应的前台入口为/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}