質問

顧客が特定のグループにログインしていて、そのグループに特別な価格がある場合は、製品の隅に画像を表示します。

顧客がログインしているかどうかを確認するためのコードを持っています。また、それらがどのグループにいるかを確認しています。そして、私はそれが真実である場合にこれを追加しました。これは私がこれに持っているコードです。

<?php       
        $_isLoggedIn = $this->helper('customer')->isLoggedIn();
        if($_isLoggedIn == true){
        $_myGroupId = Mage::getSingleton('customer/session')->getCustomerGroupId();          
        if($_myGroupId == 5){
        ?><div class="special"> </div><?php
                }
            }
    ?>
.

しかし、その製品もその顧客グループの特別価格を持っているかどうかを確認するために別のIFステートメントが必要です。このコードを使用してprice.phtmlの前にこれをやったことがあります

<?php $login = Mage::getSingleton( 'customer/session' )->isLoggedIn(); //Check if User is Logged In
        if($login && Mage::getSingleton('customer/session')->getCustomerGroupId()==5)
        {
        $groupPrices = $_product->getData('group_price');
        $Groupprice= $groupPrices;
            if (is_null($groupPrices)) {
                $attribute = $_product->getResource()->getAttribute('group_price');
                if ($attribute){
                    $attribute->getBackend()->afterLoad($_product);
                    $groupPrices = $_product->getData('group_price');}} 
            /* check group price exit nor not */
             if (!is_null($groupPrices) || is_array($groupPrices)) {
                foreach ($groupPrices as $groupPrice) {  
                if($groupPrice['cust_group'] == Mage::getSingleton('customer/session')->getCustomerGroupId()){
                $Groupprice = $groupPrice['website_price'];   
                 $Groupprice=$groupPrice['cust_group'];
                break;}} }
             /* $Groupprice  is null mean group price is not  exit*/
             if(!is_null($Groupprice)){
           //group price exits ?>
           <span class="price-label"><?php echo "Your Special Price " ?></span><?php}?>
.

しかし、このコードはView.phtmlでは機能しません。私は少し遊びをしています、そして私はそれを働かせるように思われることはできません、誰かが私の元のif文に別のif文を追加するのを手伝ってくれることができました。

私が明確でないのなら私に知らせてください。そして事前にありがとうございました。

役に立ちましたか?

解決

こんにちはあなたは商品オブジェクトを$ _productに変更する必要があります。その後、アフターロード機能をロードしなかった

    <?php 
    $login = Mage::getSingleton( 'customer/session' )->isLoggedIn(); 
//Check if User is Logged In
            if($login)
            {
            $groupPrices = $_product->getData('group_price');
            $Groupprice= $groupPrices;
                /* check group price exit nor not */
                 if (!is_null($groupPrices) || is_array($groupPrices)) {
                    foreach ($groupPrices as $groupPrice) {
                    /* match with current customer group */
                    if($groupPrice['cust_group'] == Mage::getSingleton('customer/session')->getCustomerGroupId()){
                    echo $Groupprice = $groupPrice['website_price'];
                    echo "<br/>";   
                    echo $Groupprice=$groupPrice['cust_group'];
                    break;
                    }
                    }

                 }
                 /* $Groupprice  is null mean group price is not  exit*/
                 if(!is_null($Groupprice)){
                     //group price eixts
                     ?>
                     <span class="price-label"><?php echo "Special Group Price " ?></span>
                    <?php 
                 }else{
                     //Group price is exits.
                     ?>
                     <span class="price-label"><?php echo "Now" ?></span> 
                 <?php }
            ?>
.

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top