Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Exibir o estoque de cada atribitudo nos produto configuraveis. 
 
zavoo12
Jr. Member
 
Total Posts:  2
Joined:  2012-10-10
 

Pessoal é o seguinte estou com um problema e não encontro a solução de jeito maneira.

No cadastro dos meus produtos tenho cadastrado o produto confiiguravel e nele através de atributos crie os produtos simples P, M G e GG. e os produtos tem as respectivas quantidade em estoque:

P - 5 peças em estoque
M - 35 peças em estoque
G - 9 peças em estoque
GG - 1580 peças em estoque

Consegui fazer aparecer a quantidade em estoque no produto mas no meu caso o magento puxa o estoque de um tamanho só o estoque no meu caso o do tam GG que foi o primeiro tamanho cadastrado e coloca como se os outros tamanhos também tivessem a mesma quantidade em estoque aparecendo assim:

*Tamanho
Tamanho P - Em estoque: 1,580 Unidade(s)
Tamanho M - Em estoque: 1,580 Unidade(s)
Tamanho G - Em estoque: 1,580 Unidade(s)
Tamanho GG - Em estoque: 1,580 Unidade(s)

Não sei mais o que fazer para cada tamanho ficar com a sua respectiva quantidade em estoque aparecendo.

Abaixo segue conteudo do arquivo configurable.phtml que estou usando, se puderem me ajudar agradeço.:

$_product = $this->getProduct();
$_attributes = Mage::helper(’core’)->decorateArray($this->getAllowAttributes());
?>
<?php if ($_product->isSaleable() && count($_attributes)):?>
<dl>
<?php foreach($_attributes as $_attribute): ?>
<dt><label class="required"><em>*</em><?php echo $_attribute->getLabel() ?></label></dt>

<div class="input-box">
<?php $configs = $this->getRegularConfig()?>
<?php foreach($configs['attributes'] as $config):?>
<?php foreach($config['options'] as $value):?>

<?php foreach($_product->getTypeInstance(true)->getUsedProducts ( null, $_product) as $simple);?>

<dd<?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>>
<label class="label-radio-configurable" id="<?php echo (float)$value['price'] + (float) $_product->getPrice();?>">
<input type="radio" name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]”
id="attribute<?php echo $_attribute->getAttributeId() ?>”
class="validate-custom-configurable"
value="<?php echo $value['id']?>"/>

<?php echo $value['label']?> - <?php echo $this->__('Em estoque:') ?>
<?php echo $this->__(number_format(Mage::getModel('cataloginventory/stock_item')->loadByProduct($simple)->getQty()))?>
<?php echo $this->__('Unidade(s)') ?>

</label>
<?php endforeach;?>
<?php endforeach;?>
</dd>
</div>

<?php endforeach; ?>
</dl>
<?php endif;?>
<script type="text/javascript\">
var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
document.observe("dom:loaded", function() {
var customValidation = false;
var priceFormat = <?php echo $this->helper('tax')->getPriceFormat(); ?>;
$$(’.validate-custom-configurable’).each(function(el){
el.observe(’click’,function(event){
//console.log(el.parentNode);
$$(’span .price’).each(function(elmn){
elmn.update(formatCurrency(parseFloat(el.parentNode.id), priceFormat)).innerHTML;
});
});
});
Validation.addAllThese([
[’validate-custom-configurable’, ‘This is a required field.’, function(v) {
$$(’.validate-custom-configurable’).each(function(el){
if (el.checked) {
customValidation = true;
}
});
return customValidation;
}]
]);
});
</script>

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mario SAM
Sr. Member
 
Total Posts:  163
Joined:  2008-11-12
Florianopolis
 

no forum.escolamagento.com, teve uma duvida IGUAL a sua.
soh q ao inves de quantidade, era peso.. cada produto simples tinha um peso diferente.
entao eh exatamente a mesma solucao pra vc… mas onde ta peso, vc muda pra quantidade.

veja:
http://forum.escolamagento.com/index.php?/topic/838-frete-na-pagina-do-produto/page__p__2109__hl__configuravel__fromsearch__1#entry2109

sucesso ai.

 
Magento Community Magento Community
Magento Community
Magento Community
 
zavoo12
Jr. Member
 
Total Posts:  2
Joined:  2012-10-10
 
Mario SAM - 03 March 2013 01:28 PM

no forum.escolamagento.com, teve uma duvida IGUAL a sua.
soh q ao inves de quantidade, era peso.. cada produto simples tinha um peso diferente.
entao eh exatamente a mesma solucao pra vc… mas onde ta peso, vc muda pra quantidade.

veja:
http://forum.escolamagento.com/index.php?/topic/838-frete-na-pagina-do-produto/page__p__2109__hl__configuravel__fromsearch__1#entry2109

sucesso ai.

Olá, Mario Obrigado pelo retorno, mas assim não funcionou ainda continua trazendo o mesmo valor (agora o peso) de uma so produtos em todos os Tamanhos(atributos) P, M, G e GG.

Fiz um processo todo baseado no tutorial usando o peso como valor a ser carregado e estou de novo no mesmo lugar aff.
Estou deixanod escapar algo mas não sei o que é.

Se tiver alguma luz ai da um salve, ou me puxa a orelha no que estou esquecendo.
Abaixo como ficou o meu cod. inserindo para puxar o peso.

<?php
$_product = $this->getProduct();
$_attributes = Mage::helper('core')->decorateArray($this->getAllowAttributes());
?>
<?php if ($_product->isSaleable() && count($_attributes)):?>
<dl>
<?php if ( $_product->isGrouped() || $_product->isConfigurable() ) {

foreach ( $_product->getTypeInstance()->getUsedProducts() as $_subprod ) {
$_pesos[] = $_subprod->getWeight();
}

$_peso = $_pesos[0]; //agrupado/configuravel
} else
;?>
<dl>
<?php foreach($_attributes as $_attribute): ?>
<dt><label class="required"><em>*</em><?php echo $_attribute->getLabel() ?></label></dt>

<div class="input-box">
<?php $configs = $this->getRegularConfig()?>
<?php foreach($configs['attributes'] as $config):?>
<?php foreach($config['options'] as $value):?>
<dd<?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>
<label class="label-radio-configurable" id="<?php echo (float)$value['price'] + (float) $_product->getPrice();?>">
<input type="radio" name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]”
id="attribute<?php echo $_attribute->getAttributeId() ?>”
class="validate-custom-configurable"
value="<?php echo $value['id']?>"/>
<?php echo $value['label']?> + <?php echo $_peso = $_pesos[0]?>
</label>
<?php endforeach;?>
<?php endforeach;?>
</dd>
</div>

<?php endforeach; ?>
</dl>
<?php endif;?>
<script type="text/javascript\">
var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
document.observe("dom:loaded", function() {
var customValidation = false;
var priceFormat = <?php echo $this->helper('tax')->getPriceFormat(); ?>;
$$(’.validate-custom-configurable’).each(function(el){
el.observe(’click’,function(event){
//console.log(el.parentNode);
$$(’span .price’).each(function(elmn){
elmn.update(formatCurrency(parseFloat(el.parentNode.id), priceFormat)).innerHTML;
});
});
});
Validation.addAllThese([
[’validate-custom-configurable’, ‘This is a required field.’, function(v) {
$$(’.validate-custom-configurable’).each(function(el){
if (el.checked) {
customValidation = true;
}
});
return customValidation;
}]
]);
});
</script>

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top