Piwik\Plugins\Goals\Pages::createGoalsOverviewPage PHP Method

createGoalsOverviewPage() public method

public createGoalsOverviewPage ( array $goals ) : WidgetConfig[]
$goals array
return Piwik\Widget\WidgetConfig[]
    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);
    }

Usage Example

Example #1
0
File: Get.php Project: piwik/piwik
 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));
     }
 }