Отображать названия продавцов в соответствии с их отпускными ценами

magento.stackexchange https://magento.stackexchange.com/questions/107596

Вопрос

у нас есть сайт marketplace с несколькими поставщиками / продавцами.

На нашем сайте у многих продавцов есть одинаковые товары, поэтому на странице просмотра товара мы показываем всех продавцов.

предположим, продукт загружен продавцом "kidsdial4", затем тот же продукт назначен другим продавцом "kidsdial6".

итак, на странице просмотра товара мы отображаем имена обоих продавцов следующим образом этот

вверху вы можете увидеть продавца kidsdial4 с ценой 20 рупий.:

enter image description here

внизу вы можете увидеть продавца kidsdial 6 с ценой 10 рупий.:

enter image description here

здесь у продавца kidsdial4 указана цена 20 рупий за этот товар.

У продавца kidsdial6 указана цена 10 рупий за этот товар.

поэтому я хочу покажите сверху продавца, который продает по самой низкой цене

здесь kidsdial 6 должен отображаться сверху , kidsdial 4 должен отображаться снизу.

мы пробуем нижеприведенный скрипт в view.phtml, теперь как вверху, так и внизу , Kidsdial6 seller name and his price displaying.

но я хочу display Kidsdial4 seller name & his price ниже.

jQuery(function($) {
    function getPriceFromString(str){
            return str.replace( /^\D+/g, '')
    }

    productPriceFormated = jQuery('#product_addtocart_form span.price').text();
    productPrice = getPriceFromString(productPriceFormated);
    lowestPrice = productPrice;
    productId = 0;
    soldBy = ''


    jQuery('#seller-list-new form').each(function(index){
        price = getPriceFromString(jQuery(this).find('span span.price').text());

        if(price < lowestPrice){
            lowestPrice = price;
            productId = jQuery(this).find('.mpassignproduct_id').val()
            soldBy =  jQuery(this).find('div.wk_seller_profile').html()
        }

    });

    if(productId > 0){
        jQuery('#product_addtocart_form span.price').text(productPriceFormated.replace(productPrice, lowestPrice));
        jQuery('input:hidden[name=product]').remove();
        jQuery('#product_addtocart_form').prepend('<input type="hidden" value="' + productId + '" name="mpassignproduct_id" class="mpassignproduct_id">');
        jQuery('#product_addtocart_form .soled-by-dealer span').html(soldBy)
    }
});

полный код app/design/frontend/default/default/template/mpassignproduct/sellerlist.phtml => http://pasted.co/13849662

wk_block.phtml

<?php
    $helper=Mage::helper('marketplace');
    $_product=Mage::registry('current_product');
    $productowner=Mage::getModel('marketplace/product')->isCustomerProduct($_product['entity_id']);
    if($productowner['userid']!=""){
        $captchenable = $percent = Mage::getStoreConfig('marketplace/marketplace_options/captcha');
        $rowsocial=Mage::getModel('marketplace/userprofile')->getPartnerProfileById($productowner['userid']);
?>

<div class="block wk-block block-viewed">
    <div class="block-title"><strong><span>
    <?php   if($rowsocial['shoptitle']!='')
            echo $rowsocial['shoptitle'];
        else
            echo  $rowsocial['profileurl']; ?>
    </span></strong></div>
    <div class="block-content">
        <div class="wk_blockdetail">   
            <ul class="partnerlinks">
                <li>
                    <a href="<?php echo  Mage::getUrl('marketplace/seller/collection').$rowsocial['profileurl'] ?>" title="<?php echo $helper->__('Visit Complete Collection') ?>" id="siteconnect"><?php echo $helper->__('View Collection') ?></a>
                </li>
                <li class="profile-view">
                    <a href="<?php echo  Mage::getUrl()."marketplace/seller/profile/".$rowsocial['profileurl'] ?>" title="<?php echo $helper->__('Visit Profile') ?>" id="profileconnect"><?php echo $helper->__('View Profile') ?></a>
                    <div class="wk-block-hover-div">
                        <div class="arrow"></div>
                        <?php echo $rowsocial['compdesi']; ?>
                    </div>
                </li>

                <?php echo $this->getChildHtml();?>

            </ul>
        </div>
    </div> 
</div>

полный код wk_block.phtml : http://pasted.co/0a221176

Sellerlist.php

app/code/local/Exam/Mpassignproduct/Block/Sellerlist.php

<?php

class Exam_Mpassignproduct_Block_Sellerlist extends Mage_Core_Block_Template
{
    public function _prepareLayout() {
        return parent::_prepareLayout();
    }

    public function sellerNewProductList() {
        $productid=Mage::registry('current_product')->getId();
        $collection=Mage::getModel('mpassignproduct/mpassignproduct')->getCollection()
                        ->addFieldToFilter('product_id',array('eq'=>$productid))
                        ->addFieldToFilter('qty',array('gt'=>0))
                        ->addFieldToFilter('flag',array('eq'=>'1'))
                        ->addFieldToFilter('product_condition', array('eq'=>'new'));
        $collection->setOrder("price",ASC);
        return $collection;
    }

    public function sellerUsedProductList() {
        $productid=Mage::registry('current_product')->getId();
        $collection = Mage::getModel('mpassignproduct/mpassignproduct')->getCollection()
                        ->addFieldToFilter('product_id',array('eq'=>$productid))
                        ->addFieldToFilter('qty',array('gt'=>0))
                        ->addFieldToFilter('product_condition',array('eq'=>'used'))
                        ->addFieldToFilter('flag',array('eq'=>'1'));
        $collection->setOrder("price",ASC);
        return $collection;
    }
}

я дам дополнительные 100 бонусных баллов, если получу ответ....

Это было полезно?

Решение

ваша цена не указана, попробуйте $collection->getSelect()->setOrder()

public function sellerNewProductList() {
    $productid=Mage::registry('current_product')->getId();
    $collection=Mage::getModel('mpassignproduct/mpassignproduct')->getCollection()
                    ->addFieldToFilter('product_id',array('eq'=>$productid))
                    ->addFieldToFilter('qty',array('gt'=>0))
                    ->addFieldToFilter('flag',array('eq'=>'1'))
                    ->addFieldToFilter('product_condition', array('eq'=>'new'));
        $collection->getSelect()->order("price",ASC);
        return $collection;
    }


public function sellerUsedProductList() {
    $productid=Mage::registry('current_product')->getId();
    $collection = Mage::getModel('mpassignproduct/mpassignproduct')->getCollection()
                    ->addFieldToFilter('product_id',array('eq'=>$productid))
                    ->addFieldToFilter('qty',array('gt'=>0))
                    ->addFieldToFilter('product_condition',array('eq'=>'used'))
                    ->addFieldToFilter('flag',array('eq'=>'1'));
    $collection->getSelect()->order("price",ASC);
    return $collection;
}

чтобы проверить, что это сортировка, попробуйте запустить запрос echo $collection->getSelect();

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top