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)); } }