Отображать названия продавцов в соответствии с их отпускными ценами
-
29-09-2020 - |
Вопрос
у нас есть сайт marketplace с несколькими поставщиками / продавцами.
На нашем сайте у многих продавцов есть одинаковые товары, поэтому на странице просмотра товара мы показываем всех продавцов.
предположим, продукт загружен продавцом "kidsdial4", затем тот же продукт назначен другим продавцом "kidsdial6".
итак, на странице просмотра товара мы отображаем имена обоих продавцов следующим образом этот
вверху вы можете увидеть продавца kidsdial4 с ценой 20 рупий.:
внизу вы можете увидеть продавца kidsdial 6 с ценой 10 рупий.:
здесь у продавца 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();