【问题标题】:how to show all VirtueMart Product list如何显示所有 VirtueMart 产品列表
【发布时间】:2012-03-06 08:06:02
【问题描述】:

我正在 Joomla 中创建一个组件,该组件显示了 mercurial 产品的列表

要求是不能直接使用sql表中的代码。

所以我使用components/com_virtuemart/virtuemart_parser.php

对于代码,我得到数组中的类别列表,代码是

require_once( CLASSPATH . 'ps_product_category.php');
$ps_product_category = new ps_product_category();
$tpl = new $GLOBALS['VM_THEMECLASS']();
$category_childs = $ps_product_category->get_child_list(0);
$tpl->set( 'categories', $category_childs );
$categories = ps_product_category::getCategoryTreeArray(true);

从这段代码中我得到所有已发布的类别,但是如何从类别中获取所有产品

how to show product list, how to get product list in array ?

【问题讨论】:

    标签: joomla1.5 virtuemart


    【解决方案1】:

    现有的唯一函数 products_in_category(),但这不能满足您的需要,因为它只返回产品的数量。

    一个非SQL的解决方案是创建一个自定义的VM函数并放入

    root\components\com_virtuemart\themes\default\theme.php  
    

    如果你克隆/修改 ps_product::featuredProducts(),你应该很容易得到你想要的。 (此外,该文件位置假定您使用的是默认 VM 主题,已安装)

    【讨论】:

      【解决方案2】:

      要在另一个组件中显示类别产品,您可以使用:

      if (!class_exists( 'VmConfig' )) require(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart'.DS.'helpers'.DS.'config.php');
      VmConfig::loadConfig();
      if (!class_exists( 'VmModel' )) require(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart'.DS.'helpers'.DS.'vmmodel.php');
      $categoryModel = VmModel::getModel('Category');
      $cats = $categoryModel->getCategoryTree();//Params $parentId=0, $level = 0, $onlyPublished = true,$keyword = ''
      if (!class_exists('VirtueMartModelProduct')) require(JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'product.php');
      $product_model = new VirtueMartModelProduct();
      for ($x = 0; $x < count($cats); $x++) {
          echo $cats[$x]->category_name."<Br/>";
          $products = $product_model->getProductsInCategory($cats[$x]->virtuemart_category_id);
          for ($i = 0; $i < count($products); $i++) {
              echo "- ".$products[$i]->product_name."<Br/>";
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-31
        • 2023-01-10
        • 1970-01-01
        • 2015-08-21
        • 1970-01-01
        • 1970-01-01
        • 2012-09-18
        • 1970-01-01
        相关资源
        最近更新 更多