/** * 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()); }
/** * 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(); }
/** * 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()) . '/'; }