示例#1
0
    /**
     *
     * @param type $content			 : inner shortcode elements of this column
     * @param string $shortcode_data
     * @return string
     */
    public function elementInMegamenu($content = '', $shortcodeData = '')
    {
        $columnHtml = empty($content) ? '' : JSNTplMMHelperShortcode::doShortcodeAdmin($content, true);
        $span = !empty($this->params['span']) ? $this->params['span'] : 'span12';
        $shortcodeData = '[' . $this->config['shortcode'] . ' span="' . $span . '"]';
        // Remove empty value attributes of shortcode tag.
        $shortcodeData = preg_replace('/\\[*([a-z_]*[\\n\\s\\t]*=[\\n\\s\\t]*"")/', '', $shortcodeData);
        $rnd_id = JSNTplMMHelperCommon::randomString();
        $column[] = '<div class="jsn-column-container clearafter shortcode-container ">
						<div class="jsn-column ' . $span . '">
							<div class="thumbnail clearafter">
								<textarea class="hidden" name="shortcode_content[]" >' . $shortcodeData . '</textarea>
								<div class="jsn-column-content item-container" data-column-class="' . $span . '" >
								<div class="jsn-handle-drag jsn-horizontal jsn-iconbar-trigger"><div class="jsn-iconbar layout"><a class="jsn-mm-item-delete column" onclick="return false;" title="' . JText::_('JSN_TPLFW_MEGAMENU_DELETE_COLUMN', true) . '" href="#"><i class="icon-trash"></i></a></div></div>
								<div class="jsn-element-container item-container-content">' . $columnHtml . '</div>
								<a class="jsn-add-more jsn-mm-more-element" href="javascript:void(0);"><i class="icon-plus"></i>' . JText::_('JSN_TPLFW_MEGAMENU_ADD_ELEMENT', true) . '</a>
							</div>
								<textarea class="hidden" name="shortcode_content[]" >[/' . $this->config['shortcode'] . ']</textarea>
							</div>
						</div>
					</div>';
        return $column;
    }
示例#2
0
 public static function shortcodeToMegamenuFrontend($shortcodeName, $content = '', $shortcodeData = '', $shortcodeParams = '')
 {
     $class = self::getShortcodeClass($shortcodeName);
     if (class_exists($class)) {
         $tmpElements = array();
         //global $wr_megamenu_element;
         $objJSNTplMMElement = new JSNTplMMElement();
         $objJSNTplMMElement->init();
         $elements = $objJSNTplMMElement->getElements();
         $tmpElements = array_merge($tmpElements, $elements['layout']);
         $tmpElements = array_merge($tmpElements, $elements['element']);
         $instance = isset($tmpElements[strtolower($class)]) ? $tmpElements[strtolower($class)] : null;
         if (!is_object($instance)) {
             $instance = new $class();
         }
         $el_title = '';
         if (isset($instance->config['extract_param'])) {
             parse_str(trim($shortcodeParams), $output);
             foreach ($instance->config['extract_param'] as $param) {
                 if (isset($output[$param])) {
                     $instance->params[$param] = JSNTplMMHelperCommon::removeQuotes($output[$param]);
                 }
             }
         }
         $params = self::shortcodeParseAtts($shortcodeParams);
         $shortcodeView = $instance->elementShortcode($params, $content);
         return $shortcodeView;
     }
 }