Piwik\Plugins\Ecommerce\Reports\BaseItem::configureView PHP Méthode

configureView() public méthode

public configureView ( ViewDataTable $view )
$view Piwik\Plugin\ViewDataTable
    public function configureView(ViewDataTable $view)
    {
        $idSite = Common::getRequestVar('idSite');
        $view->config->show_ecommerce = true;
        $view->config->show_table = false;
        $view->config->show_all_views_icons = false;
        $view->config->show_exclude_low_population = false;
        $view->config->show_table_all_columns = false;
        if (!$view instanceof Evolution) {
            $moneyColumns = array('revenue');
            $formatter = array(new Formatter(), 'getPrettyMoney');
            $view->config->filters[] = array('ColumnCallbackReplace', array($moneyColumns, $formatter, array($idSite)));
        }
        $view->requestConfig->filter_limit = 10;
        $view->requestConfig->filter_sort_column = 'revenue';
        $view->requestConfig->filter_sort_order = 'desc';
        $view->config->custom_parameters['isFooterExpandedInDashboard'] = true;
        // set columns/translations which differ based on viewDataTable TODO: shouldn't have to do this check...
        // amount of reports should be dynamic, but metadata should be static
        $columns = array_merge($this->getMetrics(), $this->getProcessedMetrics());
        $columnsOrdered = array('label', 'revenue', 'quantity', 'orders', 'avg_price', 'avg_quantity', 'nb_visits', 'conversion_rate');
        // handle old case where viewDataTable is set to ecommerceOrder/ecommerceAbandonedCart. in this case, we
        // set abandonedCarts accordingly and remove the ecommerceOrder/ecommerceAbandonedCart as viewDataTable.
        $viewDataTable = Common::getRequestVar('viewDataTable', '');
        if ($viewDataTable == 'ecommerceOrder') {
            $view->config->custom_parameters['viewDataTable'] = 'table';
            $abandonedCart = false;
        } else {
            if ($viewDataTable == 'ecommerceAbandonedCart') {
                $view->config->custom_parameters['viewDataTable'] = 'table';
                $abandonedCart = true;
            } else {
                $abandonedCart = $this->isAbandonedCart($fetchIfNotSet = true);
            }
        }
        if ($abandonedCart) {
            $columns['abandoned_carts'] = Piwik::translate('General_AbandonedCarts');
            $columns['revenue'] = Piwik::translate('Goals_LeftInCart', $columns['revenue']);
            $columns['quantity'] = Piwik::translate('Goals_LeftInCart', $columns['quantity']);
            $columns['avg_quantity'] = Piwik::translate('Goals_LeftInCart', $columns['avg_quantity']);
            unset($columns['orders']);
            unset($columns['conversion_rate']);
            $columnsOrdered = array('label', 'revenue', 'quantity', 'avg_price', 'avg_quantity', 'nb_visits', 'abandoned_carts');
            $view->config->custom_parameters['abandonedCarts'] = '1';
        } else {
            $view->config->custom_parameters['abandonedCarts'] = '0';
        }
        $view->requestConfig->request_parameters_to_modify['abandonedCarts'] = $view->config->custom_parameters['abandonedCarts'];
        $translations = array_merge(array('label' => $this->name), $columns);
        $view->config->addTranslations($translations);
        $view->config->columns_to_display = $columnsOrdered;
    }