可视化装修优化
parent
5c0b5715e0
commit
47829f616d
|
|
@ -345,6 +345,13 @@ class BaseLayout
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$res = self::GoodsDataList($p);
|
$res = self::GoodsDataList($p);
|
||||||
|
if(!empty($res['data']) && is_array($res['data']))
|
||||||
|
{
|
||||||
|
foreach($res['data'] as &$g)
|
||||||
|
{
|
||||||
|
$g['goods_url'] = self::LayoutUrlValueHandle('goods', $g);
|
||||||
|
}
|
||||||
|
}
|
||||||
$vss['config']['data_list'] = $res['data'];
|
$vss['config']['data_list'] = $res['data'];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
<div class="module-{{$vss.value}}-container" style="{{if isset($vss['config']['frontend_config']['style'])}}{{$vss.config.frontend_config.style}}{{/if}}">
|
<div class="module-{{$vss.value}}-container" style="{{if isset($vss['config']['frontend_config']['style'])}}{{$vss.config.frontend_config.style}}{{/if}}">
|
||||||
{{switch vss.value}}
|
{{switch vss.value}}
|
||||||
{{case images}}
|
{{case images}}
|
||||||
<a href="javascript:ModuleToPrompt('{{$vss.config.content_to_name}}');" class="{{$vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{$vss.config.frontend_config.media_fixed.media_container_style}}">
|
<a href="javascript:ModuleToPrompt('{{$vss.config.content_to_name}}');" class="module-images-content {{$vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{$vss.config.frontend_config.media_fixed.media_container_style}}">
|
||||||
<img src="{{$vss.config.content_images}}" class="{{$vss.config.frontend_config.media_fixed.media_ent}}" />
|
<img src="{{$vss.config.content_images}}" class="{{$vss.config.frontend_config.media_fixed.media_ent}}" />
|
||||||
</a>
|
</a>
|
||||||
{{/case}}
|
{{/case}}
|
||||||
|
|
@ -63,14 +63,14 @@
|
||||||
{{/switch}}
|
{{/switch}}
|
||||||
{{/case}}
|
{{/case}}
|
||||||
{{case video}}
|
{{case video}}
|
||||||
<div class="module-video-content" class="{{$vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{$vss.config.frontend_config.media_fixed.media_container_style}}">
|
<div class="module-video-content {{$vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{$vss.config.frontend_config.media_fixed.media_container_style}}">
|
||||||
<video src="{{$vss.config.content_video}}" poster="{{if !empty($vss['config']['content_images'])}}{{$vss.config.content_images}}{{/if}}" controls class="{{$vss.config.frontend_config.media_fixed.media_ent}}">your browser does not support the video tag</video>
|
<video src="{{$vss.config.content_video}}" poster="{{if !empty($vss['config']['content_images'])}}{{$vss.config.content_images}}{{/if}}" controls class="{{$vss.config.frontend_config.media_fixed.media_ent}}">your browser does not support the video tag</video>
|
||||||
</div>
|
</div>
|
||||||
{{/case}}
|
{{/case}}
|
||||||
{{case goods}}
|
{{case goods}}
|
||||||
{{switch vss.config.view_list_show_style}}
|
{{switch vss.config.view_list_show_style}}
|
||||||
{{case rolling}}
|
{{case rolling}}
|
||||||
<div class="am-slider am-slider-default am-slider-carousel {{$vss.config.frontend_config.nav_dot_ent}}" data-am-flexslider="{itemWidth: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_width'])}}200{{else /}}{{$vss.config.view_list_show_style_value_arr.item_width}}{{/if}}, itemMargin: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_margin'])}}0{{else /}}{{$vss.config.view_list_show_style_value_arr.item_margin}}{{/if}}, slideshow: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_auto_play']) or $vss['config']['view_list_show_style_value_arr']['is_auto_play'] eq 0}}false{{else /}}true{{/if}}, controlNav: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_nav_dot']) or $vss['config']['view_list_show_style_value_arr']['is_nav_dot'] eq 0}}false{{else /}}true{{/if}}}">
|
<div class="am-slider am-slider-default am-slider-carousel module-goods-content {{$vss.config.frontend_config.nav_dot_ent}}" data-am-flexslider="{itemWidth: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_width'])}}200{{else /}}{{$vss.config.view_list_show_style_value_arr.item_width}}{{/if}}, itemMargin: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_margin'])}}0{{else /}}{{$vss.config.view_list_show_style_value_arr.item_margin}}{{/if}}, slideshow: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_auto_play']) or $vss['config']['view_list_show_style_value_arr']['is_auto_play'] eq 0}}false{{else /}}true{{/if}}, controlNav: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_nav_dot']) or $vss['config']['view_list_show_style_value_arr']['is_nav_dot'] eq 0}}false{{else /}}true{{/if}}}">
|
||||||
<div class="am-viewport">
|
<div class="am-viewport">
|
||||||
<ul class="am-slides module-list-content">
|
<ul class="am-slides module-list-content">
|
||||||
{{foreach $vss.config.data_list as $g}}
|
{{foreach $vss.config.data_list as $g}}
|
||||||
|
|
@ -92,7 +92,7 @@
|
||||||
</div>
|
</div>
|
||||||
{{/case}}
|
{{/case}}
|
||||||
{{default /}}
|
{{default /}}
|
||||||
<ul class="module-list-content {{$vss.config.frontend_config.list_ent}}">
|
<ul class="module-goods-content module-list-content {{$vss.config.frontend_config.list_ent}}">
|
||||||
{{foreach $vss.config.data_list as $g}}
|
{{foreach $vss.config.data_list as $g}}
|
||||||
<li>
|
<li>
|
||||||
<div class="module-item" style="{{$vss.config.frontend_config.item_style}}">
|
<div class="module-item" style="{{$vss.config.frontend_config.item_style}}">
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,14 @@
|
||||||
<div class="module-{{$vss.value}}-container" style="{{if isset($vss['config']['frontend_config']['style'])}}{{$vss.config.frontend_config.style}}{{/if}}">
|
<div class="module-{{$vss.value}}-container" style="{{if isset($vss['config']['frontend_config']['style'])}}{{$vss.config.frontend_config.style}}{{/if}}">
|
||||||
{{switch vss.value}}
|
{{switch vss.value}}
|
||||||
{{case images}}
|
{{case images}}
|
||||||
<a {{if empty($vss['config']['url'])}}href="javascript:;"{{else /}}href="{{$vss.config.url}}" target="_blank"{{/if}} class="{{$vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{$vss.config.frontend_config.media_fixed.media_container_style}}">
|
<a {{if empty($vss['config']['url'])}}href="javascript:;"{{else /}}href="{{$vss.config.url}}" target="_blank"{{/if}} class="module-images-content {{$vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{$vss.config.frontend_config.media_fixed.media_container_style}}">
|
||||||
<img src="{{$vss.config.images}}" class="{{$vss.config.frontend_config.media_fixed.media_ent}}" />
|
<img src="{{$vss.config.images}}" class="{{$vss.config.frontend_config.media_fixed.media_ent}}" />
|
||||||
</a>
|
</a>
|
||||||
{{/case}}
|
{{/case}}
|
||||||
{{case many-images}}
|
{{case many-images}}
|
||||||
{{switch vss.config.view_list_show_style}}
|
{{switch vss.config.view_list_show_style}}
|
||||||
{{case rolling}}
|
{{case rolling}}
|
||||||
<div class="am-slider am-slider-default am-slider-carousel {{$vss.config.frontend_config.nav_dot_ent}}" data-am-flexslider="{itemWidth: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_width'])}}200{{else /}}{{$vss.config.view_list_show_style_value_arr.item_width}}{{/if}}, itemMargin: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_margin'])}}0{{else /}}{{$vss.config.view_list_show_style_value_arr.item_margin}}{{/if}}, slideshow: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_auto_play']) or $vss['config']['view_list_show_style_value_arr']['is_auto_play'] eq 0}}false{{else /}}true{{/if}}, controlNav: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_nav_dot']) or $vss['config']['view_list_show_style_value_arr']['is_nav_dot'] eq 0}}false{{else /}}true{{/if}}}">
|
<div class="am-slider am-slider-default am-slider-carousel module-list-content {{$vss.config.frontend_config.nav_dot_ent}}" data-am-flexslider="{itemWidth: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_width'])}}200{{else /}}{{$vss.config.view_list_show_style_value_arr.item_width}}{{/if}}, itemMargin: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_margin'])}}0{{else /}}{{$vss.config.view_list_show_style_value_arr.item_margin}}{{/if}}, slideshow: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_auto_play']) or $vss['config']['view_list_show_style_value_arr']['is_auto_play'] eq 0}}false{{else /}}true{{/if}}, controlNav: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_nav_dot']) or $vss['config']['view_list_show_style_value_arr']['is_nav_dot'] eq 0}}false{{else /}}true{{/if}}}">
|
||||||
<ul class="am-slides">
|
<ul class="am-slides">
|
||||||
{{foreach $vss.config.data_list as $i}}
|
{{foreach $vss.config.data_list as $i}}
|
||||||
<li>
|
<li>
|
||||||
|
|
@ -55,14 +55,14 @@
|
||||||
{{/switch}}
|
{{/switch}}
|
||||||
{{/case}}
|
{{/case}}
|
||||||
{{case video}}
|
{{case video}}
|
||||||
<div class="module-video-content" class="{{$vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{$vss.config.frontend_config.media_fixed.media_container_style}}">
|
<div class="module-video-content {{$vss.config.frontend_config.media_fixed.media_container_ent}}" style="{{$vss.config.frontend_config.media_fixed.media_container_style}}">
|
||||||
<video src="{{$vss.config.video}}" poster="{{if !empty($vss['config']['content_images'])}}{{$vss.config.content_images}}{{/if}}" controls class="{{$vss.config.frontend_config.media_fixed.media_ent}}">your browser does not support the video tag</video>
|
<video src="{{$vss.config.video}}" poster="{{if !empty($vss['config']['content_images'])}}{{$vss.config.content_images}}{{/if}}" controls class="{{$vss.config.frontend_config.media_fixed.media_ent}}">your browser does not support the video tag</video>
|
||||||
</div>
|
</div>
|
||||||
{{/case}}
|
{{/case}}
|
||||||
{{case goods}}
|
{{case goods}}
|
||||||
{{switch vss.config.view_list_show_style}}
|
{{switch vss.config.view_list_show_style}}
|
||||||
{{case rolling}}
|
{{case rolling}}
|
||||||
<div class="am-slider am-slider-default am-slider-carousel {{$vss.config.frontend_config.nav_dot_ent}}" data-am-flexslider="{itemWidth: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_width'])}}200{{else /}}{{$vss.config.view_list_show_style_value_arr.item_width}}{{/if}}, itemMargin: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_margin'])}}0{{else /}}{{$vss.config.view_list_show_style_value_arr.item_margin}}{{/if}}, slideshow: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_auto_play']) or $vss['config']['view_list_show_style_value_arr']['is_auto_play'] eq 0}}false{{else /}}true{{/if}}, controlNav: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_nav_dot']) or $vss['config']['view_list_show_style_value_arr']['is_nav_dot'] eq 0}}false{{else /}}true{{/if}}}">
|
<div class="am-slider am-slider-default am-slider-carousel module-goods-content {{$vss.config.frontend_config.nav_dot_ent}}" data-am-flexslider="{itemWidth: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_width'])}}200{{else /}}{{$vss.config.view_list_show_style_value_arr.item_width}}{{/if}}, itemMargin: {{if empty($vss['config']['view_list_show_style_value_arr']) or empty($vss['config']['view_list_show_style_value_arr']['item_margin'])}}0{{else /}}{{$vss.config.view_list_show_style_value_arr.item_margin}}{{/if}}, slideshow: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_auto_play']) or $vss['config']['view_list_show_style_value_arr']['is_auto_play'] eq 0}}false{{else /}}true{{/if}}, controlNav: {{if empty($vss['config']['view_list_show_style_value_arr']) or !isset($vss['config']['view_list_show_style_value_arr']['is_nav_dot']) or $vss['config']['view_list_show_style_value_arr']['is_nav_dot'] eq 0}}false{{else /}}true{{/if}}}">
|
||||||
<div class="am-viewport">
|
<div class="am-viewport">
|
||||||
<ul class="am-slides module-list-content">
|
<ul class="am-slides module-list-content">
|
||||||
{{foreach $vss.config.data_list as $g}}
|
{{foreach $vss.config.data_list as $g}}
|
||||||
|
|
@ -84,7 +84,7 @@
|
||||||
</div>
|
</div>
|
||||||
{{/case}}
|
{{/case}}
|
||||||
{{default /}}
|
{{default /}}
|
||||||
<ul class="module-list-content {{$vss.config.frontend_config.list_ent}}">
|
<ul class="module-goods-content module-list-content {{$vss.config.frontend_config.list_ent}}">
|
||||||
{{foreach $vss.config.data_list as $g}}
|
{{foreach $vss.config.data_list as $g}}
|
||||||
<li>
|
<li>
|
||||||
<div class="module-item" style="{{$vss.config.frontend_config.item_style}}">
|
<div class="module-item" style="{{$vss.config.frontend_config.item_style}}">
|
||||||
|
|
@ -127,8 +127,6 @@
|
||||||
{{/case}}
|
{{/case}}
|
||||||
{{/switch}}
|
{{/switch}}
|
||||||
</div>
|
</div>
|
||||||
{{else /}}
|
|
||||||
<div class="am-text-center am-padding-vertical-sm am-text-primary">{{$vss.name}}</div>
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -67,15 +67,11 @@ class LayoutService
|
||||||
*/
|
*/
|
||||||
public static function LayoutConfigAdminData($key)
|
public static function LayoutConfigAdminData($key)
|
||||||
{
|
{
|
||||||
// key 值是否存在
|
if(array_key_exists($key, self::$layout_key))
|
||||||
if(!array_key_exists($key, self::$layout_key))
|
|
||||||
{
|
{
|
||||||
return DataReturn('布局key值有', -1);
|
return BaseLayout::ConfigAdminHandle(MyC(self::$layout_key[$key]));
|
||||||
}
|
}
|
||||||
|
return '';
|
||||||
// 配置数据
|
|
||||||
$config = BaseLayout::ConfigAdminHandle(MyC(self::$layout_key[$key]));
|
|
||||||
return DataReturn('success', 0, $config);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -89,15 +85,11 @@ class LayoutService
|
||||||
*/
|
*/
|
||||||
public static function LayoutConfigData($key)
|
public static function LayoutConfigData($key)
|
||||||
{
|
{
|
||||||
// key 值是否存在
|
if(array_key_exists($key, self::$layout_key))
|
||||||
if(!array_key_exists($key, self::$layout_key))
|
|
||||||
{
|
{
|
||||||
return DataReturn('布局key值有', -1);
|
return BaseLayout::ConfigHandle(MyC(self::$layout_key[$key]));
|
||||||
}
|
}
|
||||||
|
return '';
|
||||||
// 配置数据
|
|
||||||
$config = BaseLayout::ConfigHandle(MyC(self::$layout_key[$key]));
|
|
||||||
return DataReturn('success', 0, $config);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
@ -82,9 +82,6 @@
|
||||||
/**
|
/**
|
||||||
* 布局容器-内容
|
* 布局容器-内容
|
||||||
*/
|
*/
|
||||||
.layout-view {
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
.layout-view .drag-submit {
|
.layout-view .drag-submit {
|
||||||
background: #e6e6e6;
|
background: #e6e6e6;
|
||||||
cursor: move !important;
|
cursor: move !important;
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,6 @@
|
||||||
* 模块类型样式 - 数据列表
|
* 模块类型样式 - 数据列表
|
||||||
*/
|
*/
|
||||||
.module-list-content li{float:left}
|
.module-list-content li{float:left}
|
||||||
.module-list-content .module-item{background:#fff}
|
|
||||||
.module-list-content .module-item .item-bottom{margin-top:5px}
|
|
||||||
.module-list-content .module-item .module-title{margin-bottom:5px}
|
|
||||||
.module-list-content .module-item .module-title{max-width:100%;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:18px;height:34px;white-space:initial !important}
|
|
||||||
.module-list-content .module-item .module-price{color:#c00;font-weight:bold;word-wrap:normal;text-overflow:ellipsis;white-space:nowrap}
|
|
||||||
.module-list-content-avg-1{width:calc(100% + 1px);margin-left:-1px;margin-top:-1px;}
|
.module-list-content-avg-1{width:calc(100% + 1px);margin-left:-1px;margin-top:-1px;}
|
||||||
.module-list-content-avg-2{width:calc(100% + 2px);margin-left:-2px;margin-top:-2px;}
|
.module-list-content-avg-2{width:calc(100% + 2px);margin-left:-2px;margin-top:-2px;}
|
||||||
.module-list-content-avg-3{width:calc(100% + 3px);margin-left:-3px;margin-top:-3px;}
|
.module-list-content-avg-3{width:calc(100% + 3px);margin-left:-3px;margin-top:-3px;}
|
||||||
|
|
@ -90,6 +85,15 @@
|
||||||
.module-list-sm-12 li{width:8.33%;}
|
.module-list-sm-12 li{width:8.33%;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品列表
|
||||||
|
*/
|
||||||
|
.module-goods-content .module-item{background:#fff}
|
||||||
|
.module-goods-content .module-item .item-bottom{margin-top:5px}
|
||||||
|
.module-goods-content .module-item .module-title{margin-bottom:5px}
|
||||||
|
.module-goods-content .module-item .module-title{max-width:100%;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:18px;height:34px;white-space:initial !important}
|
||||||
|
.module-goods-content .module-item .module-price{color:#c00;font-weight:bold;word-wrap:normal;text-overflow:ellipsis;white-space:nowrap}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 布局圆角
|
* 布局圆角
|
||||||
|
|
@ -1890,12 +1894,6 @@
|
||||||
.module-list-content li .module-item .module-title,
|
.module-list-content li .module-item .module-title,
|
||||||
.module-list-content li .module-item .module-price {overflow: hidden;}
|
.module-list-content li .module-item .module-price {overflow: hidden;}
|
||||||
|
|
||||||
/**
|
|
||||||
* 模块类型样式 - 图片
|
|
||||||
*/
|
|
||||||
.module-content-type-images{text-align:center}
|
|
||||||
.module-content-type-images a{display:block}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 模块类型样式 - 标题
|
* 模块类型样式 - 标题
|
||||||
*/
|
*/
|
||||||
|
|
@ -1914,6 +1912,7 @@
|
||||||
*/
|
*/
|
||||||
.layout-content img,
|
.layout-content img,
|
||||||
.layout-content video{display:block;max-width:100%;max-height:100%}
|
.layout-content video{display:block;max-width:100%;max-height:100%}
|
||||||
|
.layout-content .am-slider-default{background-color:transparent;}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 不展示滚动导航点
|
* 不展示滚动导航点
|
||||||
|
|
|
||||||
|
|
@ -892,7 +892,7 @@ function FormBackModuleConfigGoodsHandle(data)
|
||||||
nav_dot_ent = show_style_value.is_nav_dot ? '' : 'slides-rolling-not-dot';
|
nav_dot_ent = show_style_value.is_nav_dot ? '' : 'slides-rolling-not-dot';
|
||||||
|
|
||||||
// html拼接
|
// html拼接
|
||||||
html += '<div class="am-slider am-slider-default am-slider-carousel '+nav_dot_ent+'">';
|
html += '<div class="am-slider am-slider-default am-slider-carousel module-goods-content '+nav_dot_ent+'">';
|
||||||
html += '<ul class="am-slides module-list-content">';
|
html += '<ul class="am-slides module-list-content">';
|
||||||
html += item_html;
|
html += item_html;
|
||||||
html += '</ul>';
|
html += '</ul>';
|
||||||
|
|
@ -915,7 +915,7 @@ function FormBackModuleConfigGoodsHandle(data)
|
||||||
// 列表class
|
// 列表class
|
||||||
list_ent = avg+' module-list-sm-'+sm+' module-list-md-'+md+' module-list-lg-'+md+' ';
|
list_ent = avg+' module-list-sm-'+sm+' module-list-md-'+md+' module-list-lg-'+md+' ';
|
||||||
|
|
||||||
html += '<ul class="module-list-content '+list_ent+'">';
|
html += '<ul class="module-goods-content module-list-content '+list_ent+'">';
|
||||||
html += item_html;
|
html += item_html;
|
||||||
html += '</ul>';
|
html += '</ul>';
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue