protected function postDataTableLoadedFromAPI() { parent::postDataTableLoadedFromAPI(); Piwik_Controller::setPeriodVariablesView($this); $columnUniqueVisitors = false; if($this->period == 'day') { $columnUniqueVisitors = 'nb_uniq_visitors'; } // only display conversion rate for the plugins that do not provide "per goal" metrics // otherwise, conversion rate is meaningless as a whole (since we don't process 'cross goals' conversions) $columnConversionRate = false; if(empty($this->viewProperties['show_goals'])) { $columnConversionRate = 'conversion_rate'; } $this->setColumnsToDisplay(array('label', 'nb_visits', $columnUniqueVisitors, 'nb_actions_per_visit', 'avg_time_on_site', 'bounce_rate', $columnConversionRate )); $this->dataTable->filter('ColumnCallbackReplace', array('avg_time_on_site', create_function('$averageTimeOnSite', 'return Piwik::getPrettyTimeFromSeconds($averageTimeOnSite);'))); }
protected function postDataTableLoadedFromAPI() { parent::postDataTableLoadedFromAPI(); $this->columnsToPercentageFilter[] = 'goals_conversion_rate'; foreach ($this->columnsToPercentageFilter as $columnName) { $this->dataTable->filter('ColumnCallbackReplace', array($columnName, create_function('$rate', 'return $rate."%";'))); } $this->dataTable->filter('ColumnCallbackReplace', array('revenue_per_visit', array("Piwik", "getPrettyMoney"))); }
protected function postDataTableLoadedFromAPI() { parent::postDataTableLoadedFromAPI(); Piwik_Controller::setPeriodVariablesView($this); $columnUniqueVisitors = false; if ($this->period == 'day') { $columnUniqueVisitors = 'nb_uniq_visitors'; } $this->setColumnsToDisplay(array('label', 'nb_visits', $columnUniqueVisitors, 'nb_actions_per_visit', 'avg_time_on_site', 'bounce_rate', 'conversion_rate')); $this->dataTable->filter('ColumnCallbackReplace', array('avg_time_on_site', create_function('$averageTimeOnSite', 'return Piwik::getPrettyTimeFromSeconds($averageTimeOnSite);'))); }
protected function postDataTableLoadedFromAPI() { $valid = parent::postDataTableLoadedFromAPI(); if ($valid === false) { return false; } foreach ($this->getColumnsToDisplay() as $columnName) { if (strpos($columnName, 'conversion_rate')) { $this->dataTable->filter('ColumnCallbackReplace', array($columnName, create_function('$rate', 'if($rate==0) return "0%"; else return $rate;'))); } } $this->columnsToRevenueFilter[] = 'revenue_per_visit'; foreach ($this->columnsToRevenueFilter as $columnName) { $this->dataTable->filter('ColumnCallbackReplace', array($columnName, create_function('$value', 'return sprintf("%.1f",$value);'))); $this->dataTable->filter('ColumnCallbackReplace', array($columnName, array("Piwik", "getPrettyMoney"), array($this->getIdSite()))); } foreach ($this->columnsToConversionFilter as $columnName) { // this ensures that the value is set to zero for all rows where the value was not set (no conversion) $this->dataTable->filter('ColumnCallbackReplace', array($columnName, create_function('$value', 'return $value;'))); } return true; }