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']; ?>
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()) { ?> rowsActionsMore(['statistic', $list::ACTION_DELETE]); $list->perPage(-1); $list->jsStart('jBannersListing'); ?> jsStop();