Example #1
0
 /**
  * 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);
 }