Exemplo n.º 1
0
 /**
  * Returns the template directory of the passed shop template.
  * To get this use the getDirectory function.
  *
  * @param Shop\Template $template
  * @return string
  */
 private function getTemplateDirectory(Shop\Template $template)
 {
     return $this->templateManager->resolveTemplateDir($template->getTemplate());
 }
Exemplo n.º 2
0
 /**
  * Generates the Theme.php file for the theme.
  *
  * @param array $data
  * @param Template $parent
  */
 private function generateThemePhp(array $data, Template $parent = null)
 {
     $source = str_replace('$TEMPLATE$', $data['template'], $this->phpSource);
     if ($parent instanceof Template) {
         $source = str_replace('$PARENT$', $parent->getTemplate(), $source);
     } else {
         $source = str_replace('$PARENT$', 'null', $source);
     }
     $source = $this->replacePlaceholder('name', $data['name'], $source);
     $source = $this->replacePlaceholder('author', $data['author'], $source);
     $source = $this->replacePlaceholder('license', $data['license'], $source);
     $source = $this->replacePlaceholder('description', $data['description'], $source);
     $output = new \SplFileObject($this->getThemeDirectory($data['template']) . DIRECTORY_SEPARATOR . 'Theme.php', "w+");
     $source = $this->eventManager->filter('Theme_Generator_Theme_Source_Generated', $source, array('data' => $data, 'parent' => $parent));
     $output->fwrite($source);
 }
 /**
  * {@inheritDoc}
  */
 public function getTemplate()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTemplate', array());
     return parent::getTemplate();
 }
Exemplo n.º 4
0
 /**
  * Returns the snippet namespace for the passed theme.
  *
  * @param Shop\Template $template
  * @return string
  */
 public function getSnippetNamespace(Shop\Template $template)
 {
     return 'themes/' . strtolower($template->getTemplate()) . '/';
 }