1);
$list->wrapper()->title(_t('@banners', 'Banners / List'));
$list->formsHeader([
'title.add' => _t('@banners', 'Adding New Banner'),
'title.edit' => _t('@banners', 'Editing Banner'),
'title.add.link' => _t('@banners', 'Add Banner'),
]);
$list->tabs()
->add(0, _t('@', 'All'), true)
->add(1, _t('@', 'Disabled'))
->add(2, _t('@', 'Enabled'));
;
$list->filters()
->text('q', _t('@', 'Search by Title'), ['width' => 140])
->select('pos', _t('@banners', 'All Positions'), function() use ($positions) {
$result = [];
foreach ($positions as $v) {
$result[$v['id']] = $v['title'].' ('.$v['sizes'].')';
}
return $result;
}, 0, ['width' => 130])
; if ($localeFilter) { $list->filters()
->select('locale', _t('@banners', 'Localization'), function() use($locales) {
$result = [Banners::LOCALE_ALL => _t('@banners', 'All localizations')];
foreach ($locales as $k => $v) {
$result[$k] = $v['title'];
}
return $result;
}, '', ['width' => 120])
; } $list->filters()
->date('show_start', _t('@banners', 'Showing'), ['attr' => ['placeholder' => _t('@date', 'Start') ], 'width' => 90])
->date('show_finish', _t('@date', 'End'), ['width' => 90])
;
$list
->column('id', 'ID', 70, ['order' => $list::COLUMN_ORDER_DESC])
->column('title', _t('@banners', 'Banner'), false, [
'attrRow' => function($attr, $row) {
if( ! $row['enabled']) {
Block::attrAdd($attr, 'class', 'desc');
}
return $attr;
}
], function($v, $row) use ($list) { tpl::start();
$title = ! empty($row['description']) ? tpl::truncate(strip_tags($row['description']), 35, '...', true) : $row['pos']['title'];
?>
= $row['pos']['title'] ?>
column('locale', '', false, [], function($v, $row) use($localeFilter, & $locales){ tpl::start();
if($localeFilter && ! empty($row['locale']) && ! in_array(Banners::LOCALE_ALL, $row['locale'])) {
foreach ($row['locale'] as $l) {
if (! empty($locales[$l]['icon'])) {
?>
column('show_limit', _t('@banners', 'Limit'), 60, ['align'=>$list::COLUMN_ALIGN_CENTER], function($v){ return ( ! empty($v) ? $v : '—'); })
->column('show_start', _t('@banners', 'Start of Showing'), 120, ['order' => $list::COLUMN_ORDER_DESC], function($v){ return tpl::date_format3($v, 'd.m.Y'); })
->column('show_finish', _t('@banners', 'End of Showing'), 120, ['order' => $list::COLUMN_ORDER_DESC], function($v){ return tpl::date_format3($v, 'd.m.Y'); })
->column('shows', _t('@banners', 'Viewed'), 75, ['order' => $list::COLUMN_ORDER_DESC, 'align'=>$list::COLUMN_ALIGN_CENTER], function($v){ return ( ! empty($v) ? $v : '0'); })
->column('clicks', _t('@banners', 'Clicks'), 75, ['order' => $list::COLUMN_ORDER_DESC, 'align'=>$list::COLUMN_ALIGN_CENTER], function($v){ return ( ! empty($v) ? $v : '0'); })
->column('ctr', _t('@banners', 'CTR(%)'), 65, ['order' => $list::COLUMN_ORDER_DESC, 'align'=>$list::COLUMN_ALIGN_CENTER])
->isRotation(function() use ($list){
$pos = $list->filter('pos');
return ! empty($pos);
})
;
$list
->rowsActionAdd('statistic', function($row) use ($list){
$url = Admin::url('banners/statistic', ['banner_id' => $row['id']]);
if (Admin::themeV2()) { ?>
= _t('@', 'Statistics') ?>
rowsActionsMore(['statistic', $list::ACTION_DELETE]);
$list->perPage(-1);
$list->jsStart('jBannersListing');
?>
jsStop();