Files
kupshop/admin/templates/utils/blocks.tpl
2025-08-02 16:30:27 +02:00

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>&nbsp;{"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>&nbsp;{"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">&nbsp;</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">&nbsp;</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">&nbsp;</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>