public function renderCached($cachedContent, $componentId, $config) { if (!$cachedContent) { return ''; } $targetPage = unserialize($cachedContent); $config['dataAttributes'] = $targetPage[3]; $config['title'] = $targetPage[4]; $componentLinkModifiers = $targetPage[5]; $linkClass = isset($targetPage[6]) ? $targetPage[6] : ''; $text = $config['text'] ? $config['text'] : $targetPage[2]; $text = str_replace('{name}', $targetPage[2], $text); if (!isset($config['skipAppendLinkText']) || !$config['skipAppendLinkText']) { foreach ($componentLinkModifiers as $s) { if ($s['type'] == 'appendLinkText') { $text .= '<span class="appendText">' . $s['text'] . '</span>'; } } } $text = self::replaceHtmlKwfUp($text); if (isset($config['cssClass'])) { if (is_array($config['cssClass'])) { foreach ($config['cssClass'] as &$i) { $i = self::_replaceKwfUp($i); } unset($i); } else { $config['cssClass'] = self::_replaceKwfUp($config['cssClass']); } } else { $config['cssClass'] = ''; } if ($linkClass) { $config['cssClass'] .= ' ' . self::_replaceKwfUp($linkClass); } $url = $targetPage[0]; if ($this->_getRenderer() instanceof Kwf_Component_Renderer_Mail) { $url = '*redirect*' . $url . '*'; } $helper = new Kwf_View_Helper_Link(); $ret = $helper->getLink($url, $targetPage[1], $text, $config); if (!isset($config['skipAppendText']) || !$config['skipAppendText']) { foreach ($componentLinkModifiers as $s) { if ($s['type'] == 'appendText') { $ret .= '<span class="appendText">' . $s['text'] . '</span>'; } else { if ($s['type'] == 'callback') { $ret = "<rcd {$componentId} " . $this->_getType() . ' ' . json_encode($s) . ">{$ret}</rcd {$componentId}>"; } } } } return $ret; }
public function link($target, $text = null, $config = array()) { $helper = new Kwf_View_Helper_Link(); return new Twig_Markup($helper->link($target, $text, $config), 'utf-8'); }