/** * Compiles the given snippet block if the content parameter is filled. * @param $params * @param $content * @param Smarty_Internal_TemplateBase $template * @return string */ public static function compileSnippetBlock($params, $content, Smarty_Internal_TemplateBase $template = null) { if ($content === null) { return ''; } if (empty($content) && !empty($params['name'])) { $content = '#' . $params['name'] . '#'; } if (!empty($params['tag']) && !empty($params['namespace'])) { if (!empty($params['class'])) { $params['class'] .= ' ' . str_replace('/', '_', $params['namespace']); } else { $params['class'] = str_replace('/', '_', $params['namespace']); } } if (!empty($params['tag'])) { $params['tag'] = strtolower($params['tag']); //if (!empty($params['class'])) { // $params['class'] .= ' shopware_studio_snippet'; //} else { // $params['class'] = 'shopware_studio_snippet'; //} $attr = ''; foreach ($params as $key => $param) { if (in_array($key, array('name', 'tag', 'assign', 'name', 'namespace', 'default', 'force'))) { continue; } $attr .= ' ' . $key . '="' . htmlentities($param, ENT_COMPAT, mb_internal_encoding(), false) . '"'; } $content = htmlentities($content, ENT_COMPAT, mb_internal_encoding(), false); $content = "<{$params['tag']}{$attr}>" . $content . "</{$params['tag']}>"; } if (isset($params['assign'])) { if ($template !== null) { $template->assign($params['assign'], $content); } return ''; } else { return $content; } }