/** * A landing page... * * @return $this */ public function actionView() { $template_name = $this->getParam('template'); if (!Template::exists($template_name)) { return $this->forward('404', 'error', array('uri' => LP_URI)); } // Find the right variation if (Template::hasVariations($template_name)) { // Get the session variation (if the current user have seen before this template) $template_variation = Mvc::getModel('visits')->getSessionVariation($template_name); // If current user has seen this template for first time... if (!$template_variation) { // Get the less visited variation $template_variation = Mvc::getModel('stats')->getLessVisitedVariation($template_name); } $template = "{$template_name}/{$template_variation}"; } else { // No variations template $template_variation = null; $template = $template_name; } $this->getConfig()->setData('template_name', $template_name)->setData('template_variation', $template_variation); return $this->getResponse()->setTemplate($template); }