Code snippets for symfony 1.x

Navigation

Refine Tags

Snippets tagged "view modular"

sfModularPHPView

This module able you to get alternative template file from a default module

in app.yml

all:
    common_module: common_module_name
 
 
 
 
 
 
 
<?php
/**
 *
 * @subpackage lib
 * @author Benoit Montuelle
 *
 */
 
class sfModularPHPView extends sfPHPView
{
  /**
   * Configurer le template
   * Soit le fichier est défini pour le module en cours, soit on utilise le module commun
   *
   * @return void
   */
  public function configure()
  {
    parent::configure();
 
    if (!$this->directory)
    {
      $moduleTemplateDirs =  sfContext::getInstance()->getConfiguration()->getTemplateDirs($this->getModuleName());
 
      //tous les chemins possibles pour les templates du module courant
      foreach ($moduleTemplateDirs as $templateDir)
      {
        if (is_readable($templateDir.'/'.$this->getTemplate()))
        {
          $this->setDirectory($templateDir);
          return;
        }
      }
 
      //rien trouvé on regarde le module commun
      $moduleCommunTemplateDirs = str_replace($this->getModuleName(), sfConfig::get('app_common_module'), $moduleTemplateDirs);
      foreach ($moduleCommunTemplateDirs as $templateDir)
      {
        if (is_readable($templateDir.'/'.$this->getTemplate()))
        {
          $this->setDirectory($templateDir);
          return;
        }
      }
    }
  }
 
}
 
by Benoit Montuelle on 2010-07-30, tagged 14  modular  view