dimension = new PageUrl(); $this->name = Piwik::translate('Actions_PageUrls'); $this->documentation = Piwik::translate('Actions_PagesReportDocumentation', '
') . '
' . Piwik::translate('General_UsePlusMinusIconsDocumentation'); $this->actionToLoadSubTables = $this->action; $this->order = 2; $this->metrics = array('nb_hits', 'nb_visits'); $this->processedMetrics = array( new AverageTimeOnPage(), new BounceRate(), new ExitRate(), new AveragePageGenerationTime() ); $this->subcategoryId = 'General_Pages'; $this->hasGoalMetrics = true; } public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory) { $widgetsList->addWidgetConfig($factory->createWidget()->setName($this->subcategoryId)); } public function getMetrics() { $metrics = parent::getMetrics(); $metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviews'); return $metrics; } protected function getMetricsDocumentation() { $metrics = parent::getMetricsDocumentation(); $metrics['nb_visits'] = Piwik::translate('General_ColumnUniquePageviewsDocumentation'); $metrics['bounce_rate'] = Piwik::translate('General_ColumnPageBounceRateDocumentation'); return $metrics; } public function configureView(ViewDataTable $view) { $view->config->addTranslation('label', $this->dimension->getName()); $view->config->columns_to_display = array('label', 'nb_hits', 'nb_visits', 'bounce_rate', 'avg_time_on_page', 'exit_rate'); if (version_compare(DbHelper::getInstallVersion(), '4.0.0-b1', '<')) { $view->config->columns_to_display[] = 'avg_time_generation'; } $this->addPageDisplayProperties($view); $this->addBaseDisplayProperties($view); $view->config->show_goals = true; // related reports are only shown on performance page if ($view->requestConfig->getRequestParam('performance') !== '1') { $view->config->related_reports = []; } } public function getRelatedReports() { return [ ReportsProvider::factory('Actions', 'getEntryPageUrls'), ReportsProvider::factory('Actions', 'getExitPageUrls'), ]; } }