Magento获取顾客评价列表

来源:互联网 发布:c语言表白代码立体爱心 编辑:程序博客网 时间:2024/06/07 10:05

magento中对于评论,系统内部建了6个数据表,这里我们使用我们需要的进行联表查询筛选出对应顾客的评价列表,代码及封装的方法如下:

$isReview = $this->getRequest()->getParam('is_review', 0);$review = Mage::helper('fun_review');$page_size = $this->getRequest()->getParam('page_size');$page_index= $this->getRequest()->getParam('page_index');$orderItemCollection = $review->getReviewListByCustomerId($this->_customer_id, $isReview,$page_index,$page_size);
/** * 获取顾客评论列表 * * @param int $customerId           * @param boolean $reviewed             * @param number $page          * @param number $pageSize          * @return array() */public function getReviewListByCustomerId($customerId, $reviewed = false, $page = 1, $pageSize = self::REVIEW_PAGE_SIZE) {    $orderItems = Mage::getResourceModel ( 'sales/order_item_collection' );    $orderTable = $orderItems->getTable ( 'sales/order' );    $customerId = ( int ) $customerId;    $page = ( int ) $page;    $pageSize = ( int ) $pageSize;    $status = self::REVIEW_ORDER_STATUS;    $orderItems->removeAllFieldsFromSelect ();    $orderItems->addFieldToSelect ( 'product_id' );    $orderItems->addFieldToSelect ( 'is_reviewed' );    $orderItems->addFieldToFilter ( 'is_reviewed', array (            'eq' => intval ( $reviewed )     ) );    $orderItems->getSelect ()->joinInner ( array (            'o' => $orderTable     ), "o.entity_id = main_table.order_id and o.customer_id = {$customerId} and o.status = '{$status}' ", null );    $orderItems->setOrder ( 'item_id', 'DESC' );    $orderItems->setPage ( $page, $pageSize );    $reviewList = $orderItems->load ();    return $reviewList;}