예제 #1
0
 function traverse_tree_down(&$mymenu_content, $category_id = '0', $level = '0', $shopper_group_id)
 {
     static $ibg = 0;
     global $Itemid, $urlpath, $sortparam;
     $db = JFactory::getDbo();
     $objhelper = new redhelper();
     $Itemid = JRequest::getInt('Itemid');
     $level++;
     $redproduct_menu = new modProMenuHelper();
     if ($shopper_group_id) {
         $shoppergroup_cat = $redproduct_menu->get_shoppergroup_cat($shopper_group_id);
     }
     $query = "SELECT category_name as cname, category_id as cid, category_child_id as ccid FROM #__redshop_category as a " . "LEFT JOIN #__redshop_category_xref as b ON a.category_id=b.category_child_id " . "WHERE a.published=1 " . "AND b.category_parent_id=" . (int) $category_id;
     if ($shopper_group_id && count($shoppergroup_cat) > 0) {
         $query .= " and category_id in (" . $shoppergroup_cat[0] . ")";
     }
     $query .= " ORDER BY " . $sortparam . "";
     $db->setQuery($query);
     $categories = $db->loadObjectList();
     if (!($categories == null)) {
         $i = 1;
         $numCategories = count($categories);
         foreach ($categories as $category) {
             $ibg++;
             $Treeid = $ibg;
             $cItemid = $objhelper->getCategoryItemid($category->cid);
             if ($cItemid != "") {
                 $tmpItemid = $cItemid;
             } else {
                 $tmpItemid = $Itemid;
             }
             $mymenu_content .= str_repeat("\t", $level - 1);
             if ($level > 1 && $i == 1) {
                 $mymenu_content .= ",";
             }
             $mymenu_content .= "['" . $category->cname;
             //$mymenu_content.= "','href='".JRoute::_($urlpath.'index.php?option=com_redshop&view=category&layout=detail&cid='.$category->cid.'&Treeid='.$Treeid.$itemid)."\''\n ";
             $mymenu_content .= "','href=\\'" . JRoute::_('index.php?option=com_redshop&view=category&layout=detail&cid=' . $category->cid . '&Treeid=' . $Treeid . '&Itemid=' . $tmpItemid) . "\\''\n ";
             /* recurse through the subcategories */
             $this->traverse_tree_down($mymenu_content, $category->ccid, $level, $shopper_group_id);
             $mymenu_content .= str_repeat("\t", $level - 1);
             /* let's see if the loop has reached its end */
             if ($i == sizeof($categories) && $level == 1) {
                 $mymenu_content .= "]\n";
             } else {
                 $mymenu_content .= "],\n";
             }
             $i++;
         }
     }
 }
예제 #2
0
 function traverse_tree_down(&$mymenu_content, $category_id = '0', $level = '0', $params = '', $shopper_group_id)
 {
     static $ibg = 0;
     global $urlpath, $redproduct_menu;
     $db = JFactory::getDbo();
     $level++;
     $redproduct_menu = new modProMenuHelper();
     if ($params->get('categorysorttype') == "catnameasc") {
         $sortparam = "category_name ASC";
     }
     if ($params->get('categorysorttype') == "catnamedesc") {
         $sortparam = "category_name DESC";
     }
     if ($params->get('categorysorttype') == "newest") {
         $sortparam = "category_id DESC";
     }
     if ($params->get('categorysorttype') == "catorder") {
         $sortparam = "ordering ASC";
     }
     if ($shopper_group_id) {
         $shoppergroup_cat = $redproduct_menu->get_shoppergroup_cat($shopper_group_id);
     }
     $query = "SELECT category_name, category_id, category_child_id FROM #__redshop_category AS a " . "LEFT JOIN #__redshop_category_xref as b ON a.category_id=b.category_child_id " . "WHERE a.published='1' " . "AND b.category_parent_id= " . (int) $category_id;
     if ($shopper_group_id && count($shoppergroup_cat) > 0) {
         $query .= " and category_id IN(" . $shoppergroup_cat[0] . ")";
     }
     $query .= " ORDER BY " . $sortparam . "";
     //	."ORDER BY ".$sortparam."";
     $db->setQuery($query);
     $traverse_results = $db->loadObjectList();
     $objhelper = new redhelper();
     $Itemid = JRequest::getInt('Itemid');
     foreach ($traverse_results as $traverse_result) {
         $cItemid = $objhelper->getCategoryItemid($traverse_result->category_id);
         if ($cItemid != "") {
             $tmpItemid = $cItemid;
         } else {
             $tmpItemid = $Itemid;
         }
         if ($ibg != 0) {
             $mymenu_content .= ",";
         }
         $mymenu_content .= "\n[ '<img src=\"' + ctThemeXPBase + 'darrow.png\" alt=\"arr\" />','" . $traverse_result->category_name . "','" . JRoute::_('index.php?option=com_redshop&view=category&layout=detail&cid=' . $traverse_result->category_id . '&Itemid=' . $tmpItemid) . "',null,'" . $traverse_result->category_name . "'\n ";
         $ibg++;
         /* recurse through the subcategories */
         $this->traverse_tree_down($mymenu_content, $traverse_result->category_child_id, $level, $params, $shopper_group_id);
         /* let's see if the loop has reached its end */
         $mymenu_content .= "]";
     }
 }
예제 #3
0
 function loadMenu($shopper_group_id)
 {
     global $my, $database, $cur_template, $Itemid, $urlpath;
     $redproduct_menu = new modProMenuHelper();
     if ($this->_params->get('categorysorttype') == "catnameasc") {
         $sortparam = "category_name ASC";
     }
     if ($this->_params->get('categorysorttype') == "catnamedesc") {
         $sortparam = "category_name DESC";
     }
     if ($this->_params->get('categorysorttype') == "newest") {
         $sortparam = "category_id DESC";
     }
     if ($this->_params->get('categorysorttype') == "catorder") {
         $sortparam = "ordering ASC";
     }
     if ($shopper_group_id) {
         $shoppergroup_cat = $redproduct_menu->get_shoppergroup_cat($shopper_group_id);
     }
     $query = "SELECT category_id as id, category_parent_id as parent, category_name as name, '' as type,\r\n\t\t\t\t\t\t\tCONCAT('index.php?option=com_redshop&view=category&layout=detail&cid=', category_id ) AS link,\r\n\t\t\t\t\t\t\t'-1' as browserNav, ordering\r\n\t\t\t\t\t\t\t\tFROM #__redshop_category, #__redshop_category_xref\r\n\t\t\t\t\t\t\t\tWHERE #__redshop_category.published='1'\r\n\t\t\t\t\t\t\t\tAND #__redshop_category.category_id=#__redshop_category_xref.category_child_id ";
     if ($shopper_group_id && count($shoppergroup_cat) > 0) {
         $query .= " and category_id in (" . $shoppergroup_cat[0] . ")";
     }
     $query .= " ORDER BY " . $sortparam . "";
     $this->_db->setQuery($query);
     $rows = $this->_db->loadObjectList('id');
     // establish the hierarchy of the menu
     $this->children = array();
     // first pass - collect children
     foreach ($rows as $v) {
         $pt = $v->parent;
         $list = @$this->children[$pt] ? $this->children[$pt] : array();
         array_push($list, $v);
         $this->children[$pt] = $list;
     }
     // second pass - collect 'open' menus
     $this->open = array(@$_REQUEST['cid']);
 }
예제 #4
0
// what category_id is selected?
$category_id = JRequest::getInt('cid');
if ($params->get('categorysorttype') == "catnameasc") {
    $sortparam = "category_name ASC";
}
if ($params->get('categorysorttype') == "catnamedesc") {
    $sortparam = "category_name DESC";
}
if ($params->get('categorysorttype') == "newest") {
    $sortparam = "category_id DESC";
}
if ($params->get('categorysorttype') == "catorder") {
    $sortparam = "ordering ASC";
}
if ($shopper_group_id) {
    $shoppergroup_cat = $redproduct_menu->get_shoppergroup_cat($shopper_group_id);
}
// select menu items from database
$query = "SELECT category_id,category_parent_id,category_name FROM #__redshop_category AS c " . "LEFT JOIN #__redshop_category_xref AS cx ON c.category_id=cx.category_child_id " . "WHERE c.published=1 ";
if ($shopper_group_id && count($shoppergroup_cat) > 0) {
    $query .= " and category_id IN(" . $shoppergroup_cat[0] . ")";
}
$query .= " ORDER BY " . $sortparam . "";
//."ORDER BY ".$sortparam." ";
$db->setQuery($query);
$catdatas = $db->loadObjectList();
// how many menu items in this menu?
// create a unique tree identifier, in case multiple dtrees are used
// (max one per module)
$tree = "d" . uniqid("tree_");
// start creating the content