/** Get the content tree for this kind of content */ function getTree(&$xmap, &$parent, &$params) { if (defined('JPATH_SITE')) { $mosConfig_absolute_path = JPATH_SITE; } else { global $mosConfig_absolute_path; } $tree = array(); $menu =& JSite::getMenu(); $vmparams = $menu->getParams($parent->id); $link_query = parse_url($parent->link); parse_str(html_entity_decode($link_query['query']), $link_vars); $catid = intval(xmap_com_virtuemart::getParam($link_vars, 'category_id', 0)); $prodid = intval(xmap_com_virtuemart::getParam($link_vars, 'product_id', 0)); $params['Itemid'] = intval(xmap_com_virtuemart::getParam($link_vars, 'Itemid', $parent->id)); $page = xmap_com_virtuemart::getParam($link_vars, 'page', ''); if (!$catid) { $catid = intval($vmparams->get('category_id', 0)); } if (!$prodid) { $prodid = intval($vmparams->get('product_id', 0)); } if (!$page) { $page = $vmparams->get('page', ''); } if ($page && $page != 'shop.browse') { // We only expand VM category items or item return true; } if ($prodid) { return $tree; } $include_products = xmap_com_virtuemart::getParam($params, 'include_products', 1); $include_products = $include_products == 1 || $include_products == 2 && $xmap->view == 'xml' || $include_products == 3 && $xmap->view == 'html'; $params['include_products'] = $include_products; $priority = xmap_com_virtuemart::getParam($params, 'cat_priority', $parent->priority); $changefreq = xmap_com_virtuemart::getParam($params, 'cat_changefreq', $parent->changefreq); if ($priority == '-1') { $priority = $parent->priority; } if ($changefreq == '-1') { $changefreq = $parent->changefreq; } $params['cat_priority'] = $priority; $params['cat_changefreq'] = $changefreq; $priority = xmap_com_virtuemart::getParam($params, 'prod_priority', $parent->priority); $changefreq = xmap_com_virtuemart::getParam($params, 'prod_changefreq', $parent->changefreq); if ($priority == '-1') { $priority = $parent->priority; } if ($changefreq == '-1') { $changefreq = $parent->changefreq; } $params['prod_priority'] = $priority; $params['prod_changefreq'] = $changefreq; if (file_exists($mosConfig_absolute_path . '/components/com_virtuemart/virtuemart_parser.php')) { require_once $mosConfig_absolute_path . '/components/com_virtuemart/virtuemart_parser.php'; } else { return false; } xmap_com_virtuemart::getCategoryTree($xmap, $parent, $params, $catid); return true; }
/** Get the content tree for this kind of content */ function getTree(&$xmap, &$parent, &$params) { $menu =& JSite::getMenu(); $vmparams = $menu->getParams($parent->id); $link_query = parse_url($parent->link); parse_str(html_entity_decode($link_query['query']), $link_vars); $catid = intval(xmap_com_virtuemart::getParam($link_vars, 'category_id', 0)); $prodid = intval(xmap_com_virtuemart::getParam($link_vars, 'product_id', 0)); $params['Itemid'] = intval(xmap_com_virtuemart::getParam($link_vars, 'Itemid', $parent->id)); $page = xmap_com_virtuemart::getParam($link_vars, 'page', ''); if (!$catid) { $catid = intval($vmparams->get('category_id', 0)); } if (!$prodid) { $prodid = intval($vmparams->get('product_id', 0)); } if (!$page) { $page = $vmparams->get('page', ''); } //if ($page && $page != 'shop.browse') { // We only expand VM category items or item if ($page && ($page != 'shop.browse' || $catid == 0)) { // PW - We only expand VM browse menu items with a valid category_id return true; } if ($prodid) { return $tree; } $include_products = xmap_com_virtuemart::getParam($params, 'include_products', 1); $include_products = $include_products == 1 || $include_products == 2 && $xmap->view == 'xml' || $include_products == 3 && $xmap->view == 'html'; $params['include_products'] = $include_products; $priority = xmap_com_virtuemart::getParam($params, 'cat_priority', $parent->priority); $changefreq = xmap_com_virtuemart::getParam($params, 'cat_changefreq', $parent->changefreq); if ($priority == '-1') { $priority = $parent->priority; } if ($changefreq == '-1') { $changefreq = $parent->changefreq; } $params['cat_priority'] = $priority; $params['cat_changefreq'] = $changefreq; $priority = xmap_com_virtuemart::getParam($params, 'prod_priority', $parent->priority); $changefreq = xmap_com_virtuemart::getParam($params, 'prod_changefreq', $parent->changefreq); if ($priority == '-1') { $priority = $parent->priority; } if ($changefreq == '-1') { $changefreq = $parent->changefreq; } $params['prod_priority'] = $priority; $params['prod_changefreq'] = $changefreq; if (file_exists(JPATH_SITE . '/components/com_virtuemart/virtuemart_parser.php')) { require_once JPATH_SITE . '/components/com_virtuemart/virtuemart_parser.php'; // PW - Get the value of Itemid used by VirtueMart as the default value global $sess; if (!is_object($sess)) { return false; } $params['Itemid'] = $sess->getShopItemid(); // PW - Use the default VirtueMart Itemid value } else { return false; } xmap_com_virtuemart::getCategoryTree($xmap, $parent, $params, $catid); return true; }