Pergunta

Eu quero exibir uma imagem no canto de imagens de nosso produto se o cliente está conectado a um grupo e esse grupo tem um preço especial.

Eu tenho o código para verificar se um cliente está conectado e também verificar o grupo ao qual eles se encontram.e eu tenho esta para adicionar um se é verdade.Este é o código que tenho para isso.

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

No entanto, eu preciso de outra instrução IF para verificar se o produto também tem um preço especial para esse grupo de clientes.Eu tenho feito isso antes no preço.phtml usando este código

<?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}?>

Mas este código não funciona no modo de exibição.phtml.Eu tive um pouco de brincar e eu não consigo fazê-lo funcionar, alguem Poderia me ajudar a adição de outro SE a declaração original SE a instrução.

Se eu não estou sendo claro, por favor me avise.e Obrigado antecipadamente.

Foi útil?

Solução

Oi Você precisa alterar o produto objeto de us $_product como a página do produto, em seguida, você não carga, pós-carga função

    <?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 }
            ?>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top