/** 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;
 }
Пример #2
0
 /** 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;
 }