Files
AtomicOld/simpla/design/html/services.tpl
2026-02-14 19:50:25 +03:00

220 lines
9.5 KiB
Smarty
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{* Вкладки *}
{capture name=tabs}
<li class="active"><a href="index.php?module=ServicesAdmin">Услуги</a></li>
<li><a href="index.php?module=ServicesMenuAdmin">Меню услуг</a></li>
{/capture}
{* Title *}
{$meta_title =$menu->name scope=parent}
{* Поиск *}
<form id="search" method="get">
<input type="hidden" name="module" value="ServicesAdmin">
<input type="hidden" name="filter" value='{$filter}'>
<input type="hidden" name="brand_id" value="{$brand_id}">
<input type="hidden" name="parent" value="{$parent}">
<input class="search" type="text" name="keyword" value="{$keyword|escape}">
<input class="search_button" type="submit" value="">
</form>
{* Заголовок *}
<div id="header">
{if $keyword && $services_count>0}
<h1>{$services_count|plural:'Нашлась':'Нашлось':'Нашлись'} {$services_count}
{$services_count|plural:'услуга':'услуг':'услуги'}</h1>
{elseif $services_count>0}
<h1>{$services_count} {$services_count|plural: 'услуга':'услуг':'услуги'}</h1>
<a class="add" href="{url module=ServiceAdmin return=$smarty.server.REQUEST_URI}">Добавить услугу</a>
{else}
<h1>Нет услуг</h1>
<a class="add" href="{url module=ServiceAdmin return=$smarty.server.REQUEST_URI}">Добавить услугу</a>
{/if}
</div>
<style>
</style>
{if $services}
<div id="main_list" class="">
{include file='pagination.tpl'}
<form id="list_form" method="post">
<input type="hidden" name="session_id" value="{$smarty.session.id}">
<div id="list" class="pb-3">
{foreach $services as $service}
<div class="row {cycle values="even,odd"}">
<div class="checkbox cell pr-1">
<input type="checkbox" name="check[]" value="{$service->id}">
</div>
<div class="cell">
<a href="index.php?module=ServiceAdmin&id={$service->id}"><b>{$service->header|escape}</b></a>
</div>
<div class="icons cell">
<a class="preview" title="Предпросмотр в новом окне" href="../{$root_url}{$service->url}/"
target="_blank"></a>
<a class="enable{if $service->visible} a-visible{else} a-invisible{/if}" title="Активна"
href="#"></a>
{if !$service->has_children}
<a class="delete" title="Удалить" href="#"></a>
{/if}
</div>
<div class="clear"></div>
</div>
{/foreach}
</div>
<div id="action">
<label id="check_all" class="dash_link">Выбрать все</label>
<span id="select">
<select name="action">
<option value="enable">Сделать видимыми</option>
<option value="disable">Сделать невидимыми</option>
<option value="delete">Удалить</option>
</select>
</span>
<input id="apply_action" class="button_green" type="submit" value="Применить">
</div>
</form>
{include file='pagination.tpl'}
</div>
{else}
Нет услуг
{/if}
{* Правое меню *}
<div id="right_menu">
<h3 class="mb-3 mt-2">Фильтр услуг</h3>
<ul id="service_filter">
<li {if !$filter}class="selected"{/if}>
<a href="{url page=null filter=null}">Все услуги</a>
</li>
<li {if $filter=='branded'}class="selected"{/if}>
<a href="{url page=null filter='branded'}" class="d-inline-flex align-items-center p-1">
Только брендовые
</a>
</li>
<li {if $filter=='home'}class="selected"{/if}>
<a href="{url page=null filter='home'}" class="d-inline-flex align-items-center p-1">
Услуги на главной
</a>
</li>
<li {if $filter=='main'}class="selected"{/if}>
<a href="{url page=null filter='main'}" class="d-inline-flex align-items-center p-1">
Главные услуги
</a>
</li>
<li {if $filter=='enabled'}class="selected"{/if}>
<a href="{url page=null filter='enabled'}" class="d-inline-flex align-items-center p-1">
<img class="mr-1" src="design/images/lightbulb.png">Активные
</a>
</li>
<li {if $filter=='disabled'}class="selected"{/if}>
<a href="{url page=null filter='disabled'}" class="d-inline-flex align-items-center p-1">
<img class="mr-1" src="design/images/lightbulb_off.png">Отключенные
</a>
</li>
</ul>
{if $brands}
<h3 class="mb-2 mt-2">по маркам</h3>
<select id="brand_selector" name="brand">
<option value=""> -- Выберите марку --</option>
{foreach $brands as $brand}
<option value="{$brand->id}" {if $brand->id==$brand_id}selected{/if}>{$brand->name}</option>
{/foreach}
</select>
{/if}
{if $tree}
<h3 class="mb-2 mt-4">по родителю</h3>
<select id="parent_selector" class="mw-100">
<option value=""> -- Выберите родителя --</option>
{function name=services_tree level=0}
{if $services}
{foreach $services as $service}
<option {if $parent==$service->id}selected{/if}
value="{$service->id}">{'&nbsp;'|str_repeat:($level*2)}{$service->name|escape}</option>
{if $service->children}
{services_tree services=$service->children level=$level+1}
{/if}
{/foreach}
{/if}
{/function}
{services_tree services=$tree}
</select>
{/if}
<div class="clearfix"></div>
<a class="text-danger text-center d-block mt-5" href="index.php?module=ServicesAdmin" title="Сбросить все фильтры">Сбросить
все фильтры</a>
</div>
{literal}
<script>
$(document).ready(function () {
var $search_form = $('#search');
$('#brand_selector').on('change', function () {
$('[name="brand_id"]', $search_form).val(this.value);
$search_form.submit();
});
$('#parent_selector').on('change', function () {
$('[name="parent"]', $search_form).val(this.value);
$search_form.submit();
});
// Выделить все
$("#check_all").click(function () {
$('#list input[type="checkbox"][name*="check"]:not(:disabled)').attr('checked', $('#list input[type="checkbox"][name*="check"]:not(:disabled):not(:checked)').length > 0);
});
// Активировать
$("a.enable").click(function () {
var icon = $(this);
/*var line = icon.closest(".row");
var id = line.find('input[type="checkbox"][name*="check"]').val();*/
$('#list input[type="checkbox"][name*="check"]').attr('checked', false);
$(this).closest("div.row").find('input[type="checkbox"][name*="check"]:first').attr('checked', true);
$(this).closest("form").find('select[name="action"]').val(icon.hasClass('a-invisible') ? 'enable' : 'disable');
$(this).closest("form").submit();
/*icon.addClass('loading_icon');
$.ajax({
type: 'POST',
url: 'ajax/update_object.php',
dataType: 'json',
data: {
'object': 'page',
'action': 'enable',
'id': id,
'values': {'visible': icon.hasClass('a-invisible') ? 1 : 0},
'session_id': '{/literal}{$smarty.session.id}{literal}'
},
beforeSend: function () {
icon.addClass('loading_icon');
},
success: function (data) {
$('a.enable:first', line).toggleClass('a-invisible').toggleClass('a-visible');
icon.removeClass('loading_icon');
}
});*/
return false;
});
// Удалить
$("a.delete").click(function () {
$('#list input[type="checkbox"][name*="check"]').attr('checked', false);
$(this).closest("div.row").find('input[type="checkbox"][name*="check"]:first').attr('checked', true);
$(this).closest("form").find('select[name="action"] option[value=delete]').attr('selected', true);
$(this).closest("form").submit();
});
// Подтвердить удаление
$("#list_form").submit(function () {
if ($('select[name="action"]').val() == 'delete' && !confirm("Подтвердите удаление.\n\nВнимание!\nУслуги будут удалены ТОЛЬКО если не имеют дочерних."))
return false;
});
});
</script>
{/literal}