[% PROCESS i_stat_select_target.html %]
[%~
# TODO: удалить эту строчку про валюту после выполнения DIRECT-15341
IF campaign.campaign.currency; campaign.currency = campaign.campaign.currency; END;
~%]
[% BLOCK metrics_help_td %]
| [% END %]
[% #Ячейка шапки с сортировкой %]
[% MACRO PrintHeaderTdContent(column, sorting) BLOCK %]
[% print_headers(
v1 = get_sort_table_header(column.id, iget("всего"), sorting.default_column, FORM , sorting.params),
v2 = get_sort_table_header(column.id _ "_0", iget("поиск"), sorting.default_column, FORM , sorting.params),
v3 = get_sort_table_header(column.id _ "_1", iget("контекст"), sorting.default_column, FORM , sorting.params),
v4 = get_sort_table_header(column.id, column.title, sorting.default_column, FORM , sorting.params),
v5 = get_sort_table_header(column.id _ "_0", column.title, sorting.default_column, FORM , sorting.params),
v6 = get_sort_table_header(column.id _ "_1", column.title, sorting.default_column, FORM , sorting.params),
vempty = column.title,
sep=" / ") %]
[% END %]
[% #Ячейка шапки без сортировки %]
[% MACRO PrintHeaderTdTotalContent(title) BLOCK %]
[% print_headers(
v1 = iget("всего"),
v2 = iget("поиск"),
v3 = iget("контекст"),
v4 = title,
v5 = title,
v6 = title,
vempty = title,
sep=" / ") %]
[% END %]
[% MACRO PrintMetrikaSwitcherTd BLOCK %]
; ELSE; iget('/i/ya-stat-close.gif'); END %]) |
[% END %]
[%- MACRO FraudClicksLine BLOCK -%]
[% IF fraud_clicks %]
1 %] colspan="[% tcl %]"[% END %]>
[% iget("Недействительные клики:") %] [% fraud_clicks || 0 %]
[%~ IF login_rights.role.match('^(super|support|superreader)$') ~%]
[% iget(", из них подарено:") %] [% fraud_gift_clicks %]
[%~ END ~%]
|
|
[% END %]
[%- END -%]
[%- MACRO MinusSlova(colspan) BLOCK -%]
[% iget("В статистике не отображаются единые минус-слова") %]
[% iget("посмотреть") %]
[% iget('Закрыть') %]
[% campaign.minus_words.replace('(\w+)', '-$1') %]
|
[% END %]
[%- MACRO TotalHeaders BLOCK -%]
[%~ SET formated_currency = no_data_found ? '' : ', ' _ format_currency(campaign.currency) ~%]
1 %] colspan="[% tcl %]"[% END %]>
[% iget("Всего по кампании ") %] |
[%~
#DIRECT-27233 - пока откатываем
SET periodName = (!group || group == 'day') ?
iget('день') :
group == 'week' ?
iget('неделю') :
group == 'month' ?
iget('месяц') :
group == 'quarter' ?
iget('квартал') :
iget('год');
~%]
[% PrintHeaderTdTotalContent(iget('Ср. расход за %s%s', periodName, formated_currency)) %]
|
|
[%~ IF had_discounts ~%]
|
[% PrintHeaderTdTotalContent(iget('Размер бонуса всего%s', formated_currency)) %]
[%~ END ~%]
|
|
[% PrintHeaderTdTotalContent(iget("Показы")) %]
|
|
[% PrintHeaderTdTotalContent(iget("Клики")) %]
|
|
[% PrintHeaderTdTotalContent(iget("CTR (%)")) %]
|
|
[% PrintHeaderTdTotalContent(iget('Расход всего%s', formated_currency)) %]
|
|
[% PrintHeaderTdTotalContent(iget('Ср. цена клика%s', formated_currency)) %]
|
[% PrintMetrikaSwitcherTd(); %]
[% IF !directya %]
[% PrintHeaderTdTotalContent(iget("Глубина (стр.)")) %]
|
|
[% PrintHeaderTdTotalContent(iget("Конверсии")) %]
|
|
[% PrintHeaderTdTotalContent(iget("Конверсия (%)")) %]
|
|
[% PrintHeaderTdTotalContent(iget('Цена цели%s', formated_currency)) %]
|
|
[% PrintHeaderTdTotalContent(iget('Рентабельность')) %]
|
|
[% PrintHeaderTdTotalContent(iget('Доход%s', formated_currency)) %]
|
[% INCLUDE metrics_help_td %]
[%END%]
[%- END -%]
[%- MACRO SliceHeaders(def_col,options) BLOCK -%]
[%~ SET formated_currency = no_data_found ? '' : ', ' _ format_currency(campaign.currency) ~%]
|
[%~ IF had_discounts ~%]
|
|
[%~ END ~%]
[% PrintHeaderTdContent({id => "shows", title=> iget("Показы")}, {params => options, default_column => def_col}) %]
|
|
[% PrintHeaderTdContent({id => "clicks", title=> iget("Клики")}, {params => options, default_column => def_col}) %]
|
|
[% PrintHeaderTdContent({id => "ctr", title=> iget("CTR (%)")}, {params => options, default_column => def_col}) %]
|
|
[% PrintHeaderTdContent({id => "sum", title=> iget("Расход всего%s", formated_currency)}, {params => options, default_column => def_col}) %]
|
|
[% PrintHeaderTdContent({id => "av_sum", title=> iget("Ср. цена клика%s", formated_currency)}, {params => options, default_column => def_col}) %]
|
[% IF !directya %]
|
[% PrintHeaderTdContent({id => "adepth", title=> iget("Глубина (стр.)")}, {params => options, default_column => def_col}) %]
|
|
[% PrintHeaderTdContent({id => "agoalnum", title=> iget("Конверсии")}, {params => options, default_column => def_col}) %]
|
|
[% PrintHeaderTdContent({id => "aconv", title=> iget("Конверсия (%)")}, {params => options, default_column => def_col}) %]
|
|
[% PrintHeaderTdContent({id => "agoalcost", title=> iget('Цена цели%s', formated_currency)}, {params => options, default_column => def_col}) %]
|
|
[% PrintHeaderTdContent({id => "agoalroi", title => iget('Рентабельность')}, {params => options, default_column => def_col}) %]
|
|
[% PrintHeaderTdContent({id => "agoalincome", title => iget('Доход%s', formated_currency)}, {params => options, default_column => def_col}) %]
|
[%END%]
[%- END -%]
[%- BLOCK SliceRow_as_block -%]
[% RAWPERL %]
my $Data = $stash->{Data};
my $FORM = $stash->{FORM};
my $spec = $stash->{spec} || 0;
my $spec_prefix = 'spec_';
my $all_prefix = 'all_';
my $prefix = ($spec)?$spec_prefix:'';
$stash->{spec} = 0;
my $all = $stash->{all};
$stash->{all} = 0;
my $holidayClass = $Data->{holiday} ? ' tholiday' : '';
my @fields = qw/tbonus shows clicks ctr sum/;
shift @fields unless $stash->{had_discounts};
for my $field (@fields) {
$output .= ' | ';
for my $suf ('', '_0', '_1') {
if ($FORM->{"target".($suf || "_all")}) {
my $v = $Data->{$prefix.$field.$suf};
$v += $Data->{$spec_prefix.$field.$suf} if ($all && $Data->{$spec_prefix.$field.$suf});
if ($all && $Data->{$all_prefix.$field.$suf} && $field eq 'ctr') {
$v = $Data->{$all_prefix.$field.$suf};
}
if ($field eq 'ctr' && $v > 100) {
# переменная ctr_dash_and_question определена в файле data/t/i_stat_select_target.html
$v = $stash->{ctr_dash_and_question};
}
$output .= qq// . ( $field eq 'tbonus' ? '' : ($v ? ($field eq 'sum' ? TTTools::format_price($v) : $v) : $field eq 'sum' ? '0.00' : '0') ) . ' | ';
}
}
}
@fields = qw/av_sum/;
if (! $stash->{directya}) {
push @fields, qw/adepth agoalnum aconv agoalcost agoalroi agoalincome/;
}
$prefix = $all_prefix if ($all);
for my $field (@fields) {
if (! $stash->{notd}) {
$output .= ' | ';
}
my $vline = $field eq 'adepth' ? ' style="border-left: 1px solid #CCCCCC;"' : '';
if ($FORM->{target_all}) {
my $val;
$val = $Data->{$prefix.$field} if defined $Data->{$prefix.$field} && $Data->{$prefix.$field} ne '';
$val = TTTools::format_price($val) if defined $val && List::MoreUtils::any { $field eq $_ } qw/agoalincome/;
$output .= qq// . ($val // '–') . ' | ';
$vline = '';
}
if ($FORM->{target_0}) {
my $val;
$val = $Data->{$prefix.$field . '_0'} if defined $Data->{$prefix.$field . '_0'} && $Data->{$prefix.$field . '_0'} ne '';
$val = TTTools::format_price($val) if defined $val && List::MoreUtils::any { $field eq $_ } qw/agoalincome/;
$output .= qq// . ($val // '–') . ' | ';
$vline = '';
}
if ($FORM->{target_1}) {
my $val;
$val = $Data->{$prefix.$field . '_1'} if defined $Data->{$prefix.$field . '_1'} && $Data->{$prefix.$field . '_1'} ne '';
$val = TTTools::format_price($val) if defined $val && List::MoreUtils::any { $field eq $_ } qw/agoalincome/;
$output .= qq// . ($val // '–') . ' | ';
$vline = '';
}
}
[%- END -%]
[%- END -%]
[%- MACRO SliceRow(Data) BLOCK; PROCESS SliceRow_as_block; END -%]
[%# используется для шаблонов campaignstat*.html %]
[%- IF !directya; colspan = 11; ELSE; colspan = 7; END; -%]
[%- MACRO TotalHeadersNstat BLOCK -%]
[%# используется для шаблонов campaignstat*.html %]
[%~ SET formated_currency = no_data_found ? '' : ', ' _ format_currency(campaign.currency) ~%]
|
[%~ IF had_discounts ~%]
[% iget('Размер бонуса всего%s', formated_currency) %] |
[%~ END ~%]
[% iget('Показы') %] |
[% iget('Клики') %] |
[% iget('CTR (%)') %] |
[% iget('Расход всего%s', formated_currency) %] |
[% iget('Ср. цена клика%s', formated_currency) %] |
; ELSE; iget('/i/ya-stat-close.gif'); END %]) |
[% IF !directya %]
[% iget('Глубина (стр.)') %] |
[% iget('Конверсии') %] |
[% iget('Конверсия (%)') %] |
[% iget('Цена цели%s', formated_currency) %] |
[% iget('Рентабельность') %] |
[% iget('Доход%s', formated_currency) %] |
[%END%]
[%- END -%]
[%- MACRO SliceHeadersNstat(def_col,options) BLOCK -%]
[%# используется для шаблонов campaignstat*.html %]
[%~ SET formated_currency = no_data_found ? '' : ', ' _ format_currency(campaign.currency) ~%]
[%~ IF had_discounts ~%]
|
[%~ END ~%]
[% get_sort_table_header("shows", iget("Показы"), def_col, FORM , options) %] |
[% get_sort_table_header("clicks", iget("Клики"), def_col, FORM , options) %] |
[% get_sort_table_header("ctr", iget("CTR (%)"), def_col, FORM , options) %] |
[% get_sort_table_header("sum", iget("Расход всего%s", formated_currency), def_col, FORM , options) %] |
[% get_sort_table_header("av_sum", iget("Ср. цена клика%s", formated_currency), def_col, FORM , options) %] |
[% IF !directya %]
|
[% get_sort_table_header("adepth", iget("Глубина (стр.)"), def_col, FORM , options) %] |
[% get_sort_table_header("agoalnum", iget("Конверсии"), def_col, FORM , options) %] |
[% get_sort_table_header("aconv", iget("Конверсия (%)"), def_col, FORM , options) %] |
[% get_sort_table_header("agoalcost", iget('Цена цели%s', formated_currency), def_col, FORM , options) %] |
[% get_sort_table_header("agoalroi", iget('Рентабельность'), def_col, FORM , options) %] |
[% get_sort_table_header("agoalincome", iget('Доход%s', formated_currency), def_col, FORM , options) %] |
[%END%]
[%- END -%]
[%- MACRO SliceRowNstat(Data) BLOCK -%]
[%# используется для шаблонов campaignstat*.html %]
[%~ IF had_discounts ~%]
|
[%~ END ~%]
[% Data.shows.defined ? Data.shows : 0 %] |
[% Data.clicks.defined ? Data.clicks : 0 %] |
[% Data.ctr.defined ? (Data.ctr > 100 ? ctr_dash_and_question : Data.ctr) : '0.00' %] |
[% Data.sum.defined ? format_price(Data.sum) : '0.00' %] |
[% Data.av_sum.defined ? Data.av_sum : "–" %] |
[% IF !directya %]
|
[% Data.adepth.defined ? Data.adepth : "–" %] |
[% Data.agoalnum.defined ? Data.agoalnum : "–" %] |
[% Data.aconv.defined ? Data.aconv : "–" %] |
[% Data.agoalcost.defined ? Data.agoalcost : "–" %] |
[% Data.agoalroi.defined ? format_price(Data.agoalroi) : "–" %] |
[% Data.agoalincome.defined ? format_price(Data.agoalincome) : "–" %] |
[%END%]
[%- END -%]
[%- MACRO TotalHeadersCustom BLOCK -%]
[%# используется для шаблонов campaign_stat_custom*.html %]
[%~ SET formated_currency = no_data_found ? '' : ', ' _ format_currency(campaign.currency) ~%]
1 %] colspan="[% tcl %]"[% END %]>
[% iget("Ср. расход за день%s", formated_currency) %]
[% iget("Всего по кампании") %]
|
[%~ IF had_discounts ~%]
[% iget("Размер бонуса всего%s", formated_currency) %] |
[%~ END ~%]
[% iget('Показы') %] |
[% iget('Клики') %] |
[% iget('CTR (%)') %] |
[% iget('Расход всего%s', formated_currency) %] |
[% iget('Ср. цена клика%s', formated_currency) %] |
; ELSE; iget('/i/ya-stat-close.gif'); END %]) |
[% IF !directya %]
[% iget('Глубина (стр.)') %] |
[% iget('Конверсии') %] |
[% iget('Конверсия (%)') %] |
[% iget('Цена цели%s', formated_currency) %] |
[% iget('Рентабельность') %] |
[% iget('Доход%s', formated_currency) %] |
[% INCLUDE metrics_help_td %]
[%END%]
[%- END -%]
[%- MACRO SliceHeadersCustom(def_col,options) BLOCK -%]
[%# используется для шаблонов campaign_stat_custom*.html %]
[%~ SET formated_currency = no_data_found ? '' : ', ' _ format_currency(campaign.currency) ~%]
[%~ IF had_discounts ~%]
|
[%~ END ~%]
[% get_sort_table_header("shows", iget("Показы"), def_col, FORM, options) %] |
[% get_sort_table_header("clicks", iget("Клики"), def_col, FORM, options) %] |
[% get_sort_table_header("ctr", iget("CTR (%)"), def_col, FORM, options) %] |
[% get_sort_table_header("sum", iget("Расход всего%s", formated_currency), def_col, FORM, options) %] |
[% get_sort_table_header("av_sum", iget("Ср. цена клика%s", formated_currency), def_col, FORM, options) %] |
[% IF !directya %]
|
[% get_sort_table_header("adepth", iget("Глубина (стр.)"), def_col, FORM, options) %] |
[% get_sort_table_header("agoalnum", iget("Конверсии"), def_col, FORM, options) %] |
[% get_sort_table_header("aconv", iget("Конверсия (%)"), def_col, FORM, options) %] |
[% get_sort_table_header("agoalcost", iget('Цена цели%s', formated_currency), def_col, FORM, options) %] |
[% get_sort_table_header("agoalroi", iget('Рентабельность'), def_col, FORM, options) %] |
[% get_sort_table_header("agoalincome", iget('Доход%s', formated_currency), def_col, FORM, options) %] |
[%END%]
[%- END -%]
[%- MACRO SliceRowCustom(Data) BLOCK -%]
[%# используется для шаблонов campaign_stat_custom*.html %]
[%~ IF had_discounts ~%]
|
[%~ END ~%]
[% Data.shows %] |
[% Data.clicks %] |
[% Data.ctr > 100 ? ctr_dash_and_question : Data.ctr %] |
[% format_price(Data.sum) %] |
[% Data.av_sum.defined ? Data.av_sum : "–" %] |
[% IF !directya %]
|
[% Data.adepth.defined ? Data.adepth : "–" %] |
[% Data.agoalnum.defined ? Data.agoalnum : "–" %] |
[% Data.aconv.defined ? Data.aconv : "–" %] |
[% Data.agoalcost.defined ? Data.agoalcost : "–" %] |
[% Data.agoalroi.defined ? Data.agoalroi : "–" %] |
[% Data.agoalincome.defined ? format_price(Data.agoalincome) : "–" %] |
[%END%]
[%- END -%]
[%# используется для шаблонов campaigns_stat_date.html campaigns_stat_clients.html %]
[%- MACRO TotalHeadersStatDateMod(def_col,options) BLOCK -%]
[% iget("По всем кампаниям") %] |
[% iget("Показы") %] |
[% iget("Клики") %] |
[% iget("CTR (%)") %] |
[% iget("Расход всего") %] |
[% iget("Ср. цена клика") %] |
[% iget("Ср. расход за день") %] |
; ELSE; iget('/i/ya-stat-close.gif'); END %]) |
[% IF !directya %]
[% iget("Глубина (стр.)") %] |
[% iget("Конверсии") %] |
[% iget("Конверсия (%)") %] |
[% iget('Цена цели') %] |
[% iget('Рентабельность') %] |
[% iget('Доход%s', formated_currency) %] |
[% INCLUDE metrics_help_td %]
[%END%]
[%- END -%]
[%# используется для шаблонов campaigns_stat_clients.html %]
[%- MACRO TotalHeadersStatDate(def_col,options) BLOCK -%]
[%- # deep copy options hash
SET options_with_reverse_sort = {};
FOR kk = options.keys;
options_with_reverse_sort.$kk = options.$kk;
END;
SET options_with_reverse_sort.default_reverse = 1;
-%]
[% get_sort_table_header("sorting", iget("Дата"), def_col, FORM, options) %] |
[% get_sort_table_header("shows", iget("Показы"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("clicks", iget("Клики"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("ctr", iget("CTR (%)"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("sum", iget("Расход всего"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("av_sum", iget("Ср. цена клика"), def_col, FORM, options_with_reverse_sort) %] |
[% iget("Ср. расход за день") %] |
; ELSE; iget('/i/ya-stat-close.gif'); END %]) |
[% IF !directya %]
[% get_sort_table_header("adepth", iget("Глубина (стр.)"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("agoalnum", iget("Конверсии"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("aconv", iget("Конверсия (%)"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("agoalcost", iget('Цена цели'), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("agoalroi", iget('Рентабельность'), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("agoalincome", iget('Доход%s', formated_currency), def_col, FORM, options_with_reverse_sort) %] |
[% INCLUDE metrics_help_td %]
[%END%]
[%- END -%]
[%# используется для шаблонов campaigns_stat_clients.html %]
[%- MACRO SliceHeadersStatDate(def_col,options) BLOCK -%]
[%- # deep copy options hash
SET options_with_reverse_sort = {};
FOR kk = options.keys;
options_with_reverse_sort.$kk = options.$kk;
END;
SET options_with_reverse_sort.default_reverse = 1;
-%]
[% get_sort_table_header("sorting", iget("Дата"), def_col, FORM, options) %] |
[% get_sort_table_header("shows", iget("Показы"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("clicks", iget("Клики"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("ctr", iget("CTR (%)"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("sum", iget("Расход всего"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("av_sum", iget("Ср. цена клика"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("av_day", iget("Ср. расход за день"), def_col, FORM, options_with_reverse_sort) %] |
[% IF !directya %]
|
[% get_sort_table_header("adepth", iget("Глубина (стр.)"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("agoalnum", iget("Конверсии"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("aconv", iget("Конверсия (%)"), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("agoalcost", iget('Цена цели'), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("agoalroi", iget('Рентабельность'), def_col, FORM, options_with_reverse_sort) %] |
[% get_sort_table_header("agoalincome", iget('Доход%s', formated_currency), def_col, FORM, options_with_reverse_sort) %] |
[%END%]
[%- END -%]
[% MACRO PrintTdsToColumn(column, data) BLOCK %]
[%
SET id_0 = column.id _ '_0';
SET id_1 = column.id _ '_1';
IF columns.mode == 'dashed';
print_dashed_tds(v1 = data.${column.id},
v2 = data.${id_0},
v3 = data.${id_1});
ELSIF columns.mode == 'price_dashed';
print_prices_dashed_tds(v1 = data.${column.id}, v2 = data.${id_0}, v3 = data.${id_1});
ELSIF columns.mode == 'price';
print_prices_tds(v1 = data.${column.id}, v2 = data.${id_0}, v3 = data.${id_1});
ELSE;
print_tds(v1 = data.${column.id}, v2 = data.${id_0}, v3 = data.${id_1});
END;
%]
[% END %]
[%# используется для шаблонов campaigns_stat_clients.html %]
[%- MACRO SliceRowStatDate(Data) BLOCK -%]
[% Data.shows %] |
[% Data.clicks %] |
[% Data.ctr > 100 ? ctr_dash_and_question : Data.ctr %] |
[% format_price(Data.sum) %] |
[% Data.av_sum != '' ? format_price(Data.av_sum) : "–" %] |
[% format_price(Data.av_day) %] |
[% IF !directya %]
|
[% Data.adepth != '' ? Data.adepth : "–" %] |
[% Data.agoalnum != '' ? Data.agoalnum : "–" %] |
[% Data.aconv != '' ? Data.aconv : "–" %] |
[% Data.agoalcost != '' ? Data.agoalcost : "–" %] |
[% Data.agoalroi != '' ? Data.agoalroi : "–" %] |
[% Data.agoalincome != '' ? format_price(Data.agoalincome) : "–" %] |
[%END%]
[%- END -%]
[%~ MACRO PrintDiscountInfo BLOCK ~%]
[%~ PrintDiscountInfo_currency = currency || campaign.currency ~%]
[%~ IF (had_nds || had_discounts) && PrintDiscountInfo_currency != 'YND_FIXED' ~%]
[%~ END ~%]
[%~ END ~%]