<?php global $params; // Хлебные крошки if (!empty($params['filter_str'])) { $i = 1; $all_data_params = array('filter' => array(), 'group_by' => 'out_id', 'subgroup_by' => 'out_id', 'conv' => 'all'); // Режим Популярные доступен при выборе хотя бы одного фильтра if ($params['mode'] == 'popular') { $all_data_params['mode'] = ''; } echo '<div><ol class="breadcrumb"> <li><a href="' . report_lnk($params, $all_data_params) . '">Все данные</a></li>'; // Для ссылок преобразуем ID в название foreach ($params['filter_str'] as $k => $v) { $source_type = param_name($k, $params['filter'][0]['source_name']) . ': '; list($v, $type) = explode(':', $v); $v = current(explode('|', $v)); $source_name = param_val($v, $k, $params['filter'][0]['source_name']); // Текущая ссылка if ($i == count($params['filter_str'])) { if ($params['group_by'] != '') { //echo 1; if ($params['mode'] == 'lp_offers') { echo '<li class="active">' . $source_type . '' . _e($source_name) . '</li> <li class="active">' . col_name($params) . '</a></li>'; //$group_types[$params['group_by']][0] } else { echo '<li class="active">' . $source_type . '<a href="' . report_lnk($params, array('group_by' => '', 'mode' => 'popular', 'subgroup_by' => '')) . '">' . _e($source_name) . '</a></li> <li class="active">' . col_name($params) . '</a></li>'; //$group_types[$params['group_by']][0]
/** * Название ведущей колонки в отчёте (для специальных настроек источников) */ function col_name($params, $only_name = false) { // Для режима подчинённых страниц нужно брать второй уровень (subgroup_by) $group_by = $params['mode'] == 'lp_offers' ? $params['subgroup_by'] : $params['group_by']; return param_name($group_by, $params['filter'][0]['source_name'], $only_name); }
<tbody> <?php $column_total_data = array(); foreach ($var['arr_report_data'] as $k => $r) { if ($var['report_params']['group_by'] == '') { // Если популярное значение "Не определено" //if($r['popular'] == $group_types[$r['name']][1]) continue; // Если популярное значение отфильтровано //if(!empty($var['report_params']['filter'][$r['name']])) continue; //echo $var['report_params']['conv']. '<br >'; //dmp($r); // Если конверсия по действию, а действий нет if (in_array($var['report_params']['conv'], array('act', 'sale', 'lead')) and $r[$var['report_params']['conv']] == 0) { continue; } $name = param_name($r['name'], $var['report_params']['filter'][0]['source_name']); $popular_str = substr(param_val($r['popular'], $k), 0, 50); // Ограничиваем глубину фильтров if (empty($var['report_params']['filter'][0]) or count($var['report_params']['filter'][0]) < 5) { $r['popular'] = '<a href="' . report_lnk($var['report_params'], array('filter_str' => array_merge($var['report_params']['filter_str'], array($r['name'] => _e($r['popular']))))) . '" title="' . _e($r['popular']) . '">' . _e($popular_str) . '</a>'; } else { $r['popular'] = _e($popular_str); } echo '<tr><td nowrap=""><b><a href="' . report_lnk($var['report_params'], array('mode' => '', 'group_by' => $r['name'])) . '">' . $name . '</a></b></td><td>' . $r['popular'] . '</td>'; } else { echo '<tr><td nowrap=""><a href="' . report_lnk($var['report_params'], array('group_by' => '', 'filter_str' => array_merge($var['report_params']['filter_str'], array($var['report_params']['group_by'] => _e($k))))) . '">' . $k . '</a></td>'; } echo '<td>' . $r['cnt'] . '</td><td>' . round3($r['cnt'] / $r['total'] * 100) . '%</td>'; if ($var['report_params']['conv'] != 'none') { echo '<td class="col_s">' . $r['sale'] . '</td><td class="col_l">' . $r['lead'] . '</td><td class="col_a">' . $r['act'] . '</td><td class="col_s">' . t_conversion($r) . '</td><td class="col_l">' . t_conversion_l($r) . '</td><td class="col_a">' . t_conversion_a($r) . '</td>'; }