250 lines
13 KiB
Smarty
250 lines
13 KiB
Smarty
<div id="pageBlocksOuterContainer">
|
|
<div class="row bottom-space">
|
|
|
|
<div class="col-md-3">
|
|
<a href="#" data-form-custom-add-root class="btn btn-success btn-block"><span class="glyphicon glyphicon-plus"></span> {"add"|translate:"blocks"}</a>
|
|
</div>
|
|
|
|
<div class="col-md-3 col-md-offset-1">
|
|
{if $editLink && $body.data.id}
|
|
<a href="{$editLink}?inlineEditable=1" class="btn btn-primary btn-block" target="_blank"><span class="glyphicon glyphicon-edit"></span> {"editBlocek"|translate:"menulinks"}</a>
|
|
{/if}
|
|
</div>
|
|
|
|
<div class="col-md-1 col-md-offset-4 text-center" data-form-mass-open>
|
|
<a class="btn btn-sm" style="margin-left:10px;">
|
|
<i class="glyphicon glyphicon-plus-sign"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="panel-group panel-group-lists collapse in">
|
|
|
|
<div class="panel">
|
|
<div class="panel-heading" style="padding-bottom:4px">
|
|
<div class="row">
|
|
<div class="col-md-1 text-center">
|
|
<small><strong>{"position"|translate:"blocks"}</strong></small>
|
|
</div>
|
|
<div class="col-md-10">
|
|
<small><strong>{"name"|translate:"blocks"}</strong></small>
|
|
</div>
|
|
<div class="col-md-1">
|
|
<small><strong>{"action"|translate:"blocks"}</strong></small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<ul id="pageBlocksContainer" class="ui-nested-sortable">
|
|
|
|
{** default reference block *}
|
|
<li class="panel blockItem" data-form-item="0" data-form-index="0" style="display:none;">
|
|
<div class="panel-heading collapsed row-orange" data-toggle="collapse" data-target="#collapse_0" >
|
|
<div class="row">
|
|
<div class="col-md-1 text-center">
|
|
<span class="drag-drop-mover pull-right">
|
|
<i class="bi bi-arrows-move handle"></i>
|
|
</span>
|
|
</div>
|
|
|
|
<div class="col-md-7">
|
|
<p class="input-height" data-block-heading-name>[{"new"|translate:"blocks"}]</p>
|
|
</div>
|
|
<div class="col-md-2">
|
|
{if isSuperuser()}
|
|
<p class="input-height" data-block-heading-identifier></p>
|
|
{/if}
|
|
</div>
|
|
|
|
<div class="col-md-2 text-right">
|
|
<div class="pull-right">
|
|
<a class="btn-sm btn btn-danger" data-form-delete>
|
|
<input class="hidden" type="checkbox" name="data[blocks][0][delete]" />
|
|
<span class="glyphicon glyphicon-remove"></span>
|
|
</a>
|
|
</div>
|
|
<div class="pull-right">
|
|
<span class="spacer"> </span>
|
|
</div>
|
|
<div class="pull-right">
|
|
<a class="btn-sm btn btn-default" data-form-custom-add>
|
|
<span class="glyphicon glyphicon-plus" title="{"add_subblock"|translate:"blocks"}"></span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="collapse_0" class="panel-collapse collapse">
|
|
<div class="panel-body">
|
|
<div class="row bottom-space">
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label"><label>{"name"|translate:"blocks"}</label></div>
|
|
<div class="col-md-3">
|
|
<input type="text" class="form-control input-sm" name="data[blocks][0][name]" size="30" maxlength="100" value="">
|
|
</div>
|
|
{if isSuperuser() or !empty($identifiers)}
|
|
<div class="col-md-2 control-label"><label>{"identifier"|translate:"blocks"}</label></div>
|
|
<div class="col-md-3">
|
|
{if !empty($identifiers)}
|
|
<select class="selecter" name="data[blocks][0][identifier]">
|
|
{foreach $identifiers as $key => $option}
|
|
<option value="{$key}">{$option.title}</option>
|
|
{/foreach}
|
|
</select>
|
|
{else}
|
|
<input type="text" class="form-control input-sm" name="data[blocks][0][identifier]" size="30" maxlength="255" value="">
|
|
{/if}
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
{if $hideImgBlock!=1 || $photos}
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label"><label>{"photos"|translate:"blocks"}</label></div>
|
|
<div class="col-md-9">
|
|
{if $photos}
|
|
<select multiple name="data[blocks][0][photos][]" class="photo-select">
|
|
{foreach $photos as $photo}
|
|
<option data-img-src="{get_photo id=$photo.id_photo image='admin'}" value="{$photo.id_photo}">#{$photo.id_photo}</option>
|
|
{/foreach}
|
|
</select>
|
|
{else}
|
|
<p style="padding-top: 5px;">
|
|
<a href="#" onclick="switchTab('flapPhotos');return false;">{"uploadImage"|translate:"sliders"}</a>
|
|
|
|
</p>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
|
|
{function renderBlocks level=0}
|
|
{foreach $blocks as $block}
|
|
<li class="panel blockItem" data-form-item="{$block.id}" data-form-index="{$block.id}" data-form-item-id="{$block.id}">
|
|
<div class="panel-heading collapsed row-green" data-toggle="collapse" data-target="#collapse_{$block.id}" >
|
|
<div class="row">
|
|
<div class="col-md-1 text-center">
|
|
<input type="hidden" name="data[blocks][{$block.id}][id]" value="{$block.id}">
|
|
<span class="drag-drop-mover pull-right">
|
|
<i class="bi bi-arrows-move handle"></i>
|
|
</span>
|
|
</div>
|
|
<div class="col-md-7">
|
|
<span data-toggle-subtree style="display:none;"><span class="glyphicon glyphicon-minus-sign"></span></span>
|
|
<p class="input-height" data-block-heading-name>
|
|
{if $block.name}
|
|
{$block.name}
|
|
{else}
|
|
{$block.content|strip_tags|truncate:50:"..."}
|
|
{/if}
|
|
</p>
|
|
</div>
|
|
<div class="col-md-2">
|
|
{if isSuperuser() || !empty($identifiers)}
|
|
<p class="input-height" data-block-heading-identifier>
|
|
{if !empty($identifiers)}
|
|
{$identifiers[$block.identifier].title}
|
|
{else}
|
|
{$block.identifier}
|
|
{/if}
|
|
</p>
|
|
{/if}
|
|
</div>
|
|
|
|
<div class="col-md-2 text-right">
|
|
<div class="pull-right">
|
|
<a class="btn-sm btn btn-danger" data-form-delete>
|
|
<input class="hidden" type="checkbox" name="data[blocks][{$block.id}][delete]" />
|
|
<span class="glyphicon glyphicon-remove"></span>
|
|
</a>
|
|
</div>
|
|
<div class="pull-right">
|
|
<span class="spacer"> </span>
|
|
</div>
|
|
{if $block.id}
|
|
<div class="pull-right">
|
|
<a class="btn-sm btn btn-primary" target="_blank" href="{path('kupshop_content_block_editblock', ['id' => $block.id, 'inlineEditable' => 1])}">
|
|
<span class="glyphicon glyphicon-edit"></span>
|
|
</a>
|
|
</div>
|
|
{/if}
|
|
<div class="pull-right">
|
|
<span class="spacer"> </span>
|
|
</div>
|
|
<div class="pull-right">
|
|
<a class="btn-sm btn btn-default" data-form-custom-add>
|
|
<span class="glyphicon glyphicon-plus" title="{"add_subblock"|translate:"blocks"}"></span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="collapse_{$block.id}" class="panel-collapse collapse">
|
|
<div class="panel-body">
|
|
<div class="row bottom-space">
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label"><label>{"name"|translate:"blocks"}</label></div>
|
|
<div class="col-md-3">
|
|
<input type="text" class="form-control input-sm" name="data[blocks][{$block.id}][name]" size="30" maxlength="100" value="{$block.name}">
|
|
</div>
|
|
{block "block-identifier"}
|
|
{if isSuperuser() || !empty($identifiers)}
|
|
<div class="col-md-2 control-label"><label>{"identifier"|translate:"blocks"}</label></div>
|
|
<div class="col-md-3">
|
|
{if !empty($identifiers)}
|
|
<select class="selecter" name="data[blocks][{$block.id}][identifier]">
|
|
{foreach $identifiers as $key => $option}
|
|
<option value="{$key}" {if $key == $block.identifier}selected{/if}>{$option.title}</option>
|
|
{/foreach}
|
|
</select>
|
|
{else}
|
|
<input type="text" class="form-control input-sm" name="data[blocks][{$block.id}][identifier]" size="30" maxlength="255" value="{$block.identifier}">
|
|
{/if}
|
|
</div>
|
|
{elseif $body.duplicate}
|
|
<input type="hidden" name="data[blocks][{$block.id}][identifier]" value="{$block.identifier}">
|
|
{/if}
|
|
{/block}
|
|
</div>
|
|
{if $hideImgBlock!=1 || $photos}
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label"><label>{"photos"|translate:"blocks"}</label></div>
|
|
<div class="col-md-9">
|
|
{if $photos}
|
|
{$block_photos = array_column($block.photos, 'id')}
|
|
<select multiple name="data[blocks][{$block.id}][photos][]" class="photo-select">
|
|
{foreach $photos as $photo}
|
|
<option data-img-src="{get_photo id=$photo.id_photo image='admin'}" value="{$photo.id_photo}" {$photo.id_photo|selected:$block_photos}>#{$photo.id_photo}</option>
|
|
{/foreach}
|
|
</select>
|
|
{else}
|
|
<p style="padding-top: 5px;">
|
|
<a href="#" onclick="switchTab('flapPhotos');return false;">{"uploadImage"|translate:"sliders"}</a>
|
|
</p>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{if $block.children}
|
|
<ul>{renderBlocks blocks=$block.children level=$level+1}</ul>
|
|
{/if}
|
|
</li>
|
|
{/foreach}
|
|
{*{if level > 0}</ul>{/if}*}
|
|
{/function}
|
|
|
|
{renderBlocks blocks=$blocks level=0}
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
<script>
|
|
var options = {['acn' => $acn, 'isSuperuser' => isSuperuser()]|json_encode nofilter};
|
|
$(".ui-nested-sortable").blocks(options);
|
|
</script>
|