Piwik\Plugins\Goals\Pages::createGoalDetailPage PHP Метод

createGoalDetailPage() публичный Метод

public createGoalDetailPage ( array $goal ) : WidgetConfig[]
$goal array
Результат Piwik\Widget\WidgetConfig[]
    public function createGoalDetailPage($goal)
    {
        $widgets = array();
        $idGoal = (int) $goal['idgoal'];
        $name = Common::sanitizeInputValue($goal['name']);
        $params = array('idGoal' => $idGoal);
        $config = $this->factory->createWidget();
        $config->setSubcategoryId($idGoal);
        $config->forceViewDataTable(Evolution::ID);
        $config->setAction('getEvolutionGraph');
        $config->setParameters($params);
        $config->setOrder(5);
        $config->setIsNotWidgetizable();
        $widgets[] = $config;
        $config = $this->factory->createWidget();
        $config->setSubcategoryId($idGoal);
        $config->setName('');
        $config->forceViewDataTable(Sparklines::ID);
        $config->setParameters($params);
        $config->addParameters(array('allow_multiple' => (int) $goal['allow_multiple']));
        $config->setOrder(15);
        $config->setIsNotWidgetizable();
        $widgets[] = $config;
        $config = $this->factory->createWidget();
        $config->setAction('goalConversionsOverview');
        $config->setSubcategoryId($idGoal);
        $config->setName('Goals_ConversionsOverview');
        $config->setParameters($params);
        $config->setOrder(25);
        $config->setIsNotWidgetizable();
        $config->setMiddlewareParameters(array('module' => 'Goals', 'action' => 'hasConversions', 'idGoal' => $idGoal));
        $widgets[] = $config;
        $container = $this->createWidgetizableWidgetContainer('Goal_' . $idGoal, $name, $widgets);
        $configs = array($container);
        $config = $this->factory->createContainerWidget('Goals' . $idGoal);
        $config->setName(Piwik::translate('Goals_GoalConversionsBy', array($name)));
        $config->setSubcategoryId($idGoal);
        $config->setParameters(array());
        $config->setOrder(35);
        $config->setIsNotWidgetizable();
        $config->setMiddlewareParameters(array('module' => 'Goals', 'action' => 'hasConversions', 'idGoal' => $idGoal));
        $this->buildGoalByDimensionView($idGoal, $config);
        $configs[] = $config;
        return $configs;
    }

Usage Example

Пример #1
0
 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));
     }
 }