Deseja exibir uma Imagem, se um grupo de clientes possui um preço especial
-
12-12-2019 - |
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.
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 }
?>