Ürün magento2 Tier Fiyat almak nasıl?


11

Magento 2'deki ürünün özel fiyatını özel kodla nasıl alabilirim?

Bu benim kodum

 public function getProductCollection()
    {
        $collection = $this->_productCollectionFactory->create();
        $collection->addAttributeToSelect('*');
         $collection->setOrder('created_at', 'DESC');
        // $collection->setPageSize(3); // fetching only 3 products
        return $collection;
    }

ve .phtml'deki çağrı işlevim

  $productCollection = $block->getProductCollection();
   $productCollection->setPageSize(2);
            foreach ($productCollection as $product) {

 echo $product->getName();
 print_r($product->getTierPrice());

echo getName, getPrice, getÖzel fiyat işleri

ancak getTierPrice çalışmıyor.

ex. VIP üye kartım var (customer_group) Herkese açık grup VIP üye kartı göstermek istemiyorum Tüm grubu ayarlamıyorum Seviye fiyat VIP üye kartı göstermek istiyorum

Yanıtlar:


6

TierPrice'ı aşağıdaki gibi alabilirsiniz.

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product_obj = $objectManager->create('Magento\Catalog\Model\Product')->load(1);                
$tier_price = $product_obj->getTierPrice();
if(count($tier_price) > 0){
    foreach($tier_price as $pirces){
        foreach ( array_reverse($pirces) as $k => $v ) {
            if($k == "price"){
                $tp = number_format($v, 2, '.', '');
                echo $tp;
            }
        }
    }
}

$product_objbir ürün verileriniz varsa lütfen kontrol edin veya ilk kez bildiğiniz. % 100 çalışacaktır. aşağıdaki günlük resmime bakın.

resim açıklamasını buraya girin

Sınıfınızda yapıcı oluşturun ve sınıf nesnesini başlatın. O nesneden bir şeyler yapabilirsiniz.


kodunuzu çalıştırdığınızda boş bir sayfa yok katmanlı fiyat
tttk

@tttk güncellenmiş cevabımı gör.
Bojjaiah

üzgünüm efendim, ecre tier_price için tam kodunuz var mı? burada benim kod foreach ($ pirier gibi $ tier_price) {echo $ prirces ["price"]; // her birini alın}
tttk

@tttk şimdi kodumu deneyin.
Bojjaiah

array_reverse ($ tier) nedir? Değişkenler $ katman?
tttk

7

Müşteri grupları için katmanlı fiyat almak için kullanın ) getTierPrices ( yerine getTierPrice () . Lütfen aşağıdaki örnek koda bakın:

<?php
use \Magento\Framework\App\Bootstrap;
include('/www/magento2.1/app/bootstrap.php');

$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();

$state = $objectManager->get('\Magento\Framework\App\State');
$state->setAreaCode('frontend');

$productId = 1;
$product_obj = $objectManager->create('\Magento\Catalog\Model\Product')->load($productId);

getAnyGroup($product_obj);

function getAnyGroup($product_obj) {
    $tier_price = $product_obj->getTierPrices();

    if(count($tier_price) > 0){
        echo "price_qty\tprice\tCustomerGroupId\n";

        foreach($tier_price as $price){
            echo $price->getQty();
            echo "\t";
            echo $price->getValue();
            echo "\t";
            echo $price->getCustomerGroupId();
            echo "\t";
            echo "\n";
            print_r($price->getData());
            echo "\t";
            echo "\n";
        }
    }
}

Obsever'de benim için çalışıyor
Ankit Shah

katmanlı fiyat ile tüm ürün almak için nasıl. Tüm ürün hv katman fiyatını farklı sayfada göstermek istiyorum
Daniel_12

@ Daniel_12, müşteri grubu kimliğini kullanarak ürün fiyatını alabilir miyiz?
jafar pinjar

0

Bojjaiah kod çalışır ama bu gibi kademeli fiyatları gösterir: "2,252,132,001,88". Nasıl böyle koyabilirim: 2,52 için 1 al / 2,13 için 2 al / 2,00 için 3 al / 1,88 için 4 al? Teşekkür ederim!

Bu Bojjaiah'ın orijinal kodu:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $product_obj = $objectManager->create('Magento\Catalog\Model\Product')->load(1); $tier_price = $product_obj->getTierPrice();if(count($tier_price) > 0){
foreach($tier_price as $pirces){
    foreach ( array_reverse($pirces) as $k => $v ) {
        if($k == "price"){
            $tp = number_format($v, 2, '.', '');
            echo $tp;
        }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.