public createGoalsOverviewPage ( array $goals ) : |
||
$goals | array | |
return |
public function createGoalsOverviewPage($goals)
{
$subcategory = 'General_Overview';
$widgets = array();
$config = $this->factory->createWidget();
$config->forceViewDataTable(Evolution::ID);
$config->setSubcategoryId($subcategory);
$config->setAction('getEvolutionGraph');
$config->setOrder(5);
$config->setIsNotWidgetizable();
$widgets[] = $config;
$config = $this->factory->createWidget();
$config->forceViewDataTable(Sparklines::ID);
$config->setSubcategoryId($subcategory);
$config->setName('');
$config->setOrder(15);
$config->setIsNotWidgetizable();
$widgets[] = $config;
foreach ($goals as $goal) {
$name = Common::sanitizeInputValue($goal['name']);
$goalTranslated = Piwik::translate('Goals_GoalX', array($name));
$config = $this->factory->createWidget();
$config->setName($goalTranslated);
$config->setSubcategoryId($subcategory);
$config->forceViewDataTable(Sparklines::ID);
$config->setParameters(array('idGoal' => $goal['idgoal']));
$config->setOrder(25);
$config->setIsNotWidgetizable();
$config->addParameters(array('allow_multiple' => (int) $goal['allow_multiple'], 'only_summary' => '1'));
$widgets[] = $config;
}
$container = $this->createWidgetizableWidgetContainer('GoalsOverview', $subcategory, $widgets);
$config = $this->factory->createContainerWidget('Goals');
$config->setSubcategoryId($subcategory);
$config->setName('Goals_ConversionsOverviewBy');
$config->setOrder(35);
$config->setIsNotWidgetizable();
$this->buildGoalByDimensionView('', $config);
$config->setMiddlewareParameters(array('module' => 'Goals', 'action' => 'hasConversions'));
return array($container, $config);
}
public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory) { $idSite = Common::getRequestVar('idSite', 0, 'int'); if (empty($idSite)) { return; } $goals = $this->getGoals(); $reports = Goals::getReportsWithGoalMetrics(); $page = new Pages($factory, $reports); $widgetsList->addWidgetConfigs($page->createGoalsOverviewPage($goals)); if ($this->isEcommerceEnabled($idSite)) { $widgetsList->addWidgetConfigs($page->createEcommerceOverviewPage()); $widgetsList->addWidgetConfigs($page->createEcommerceSalesPage()); } foreach ($goals as $goal) { $widgetsList->addWidgetConfigs($page->createGoalDetailPage($goal)); } }