Magento - Show Custom gruplanmış Ürün tabloda Özellikleri

4 Cevap php

Ben aşağıda resimde gösterilen "Ürün Adı" yerine özel bir öznitelik değeri göstermek için bir yol bulmalıyız.

Grouped ürünleri table

I / app / tasarım / frontend / default / defaultx / şablon / katalog / ürün / view / tip / grouped.php ile çalışıyorum

Aşağıdaki kodu (özel nitelik yearmade olduğu) çalışmıyor:

<?php if (count($_associatedProducts)): ?>  
<?php foreach ($_associatedProducts as $_item): ?>  
    <tr>  
        <td><?php echo $this->htmlEscape($_item->getYearmade()) ?></td>

Herhangi bir yardım mutluluk duyacağız.

EDIT: Yani sorunun cevabı oldukça basit olduğu ortaya çıktı. Sen ne yukarıda söz başarısız orada was gerçekten çıkışı olduğunu görmek ... ama sadece bir sayı (örneğin: 52) olduğunu. Bu (Bu özel öznitelik bir açıla türü oldu) bu özel özellik değeri için kimliği oldu çıkıyor.

So in summary
This works for custom attributes of type text:

echo $this->htmlEscape($_item->getYearmade())

Ama özel öznitelik (bence) tüm diğer türleri için, aşağıdaki kullanılmalıdır:

echo $this->htmlEscape($_item->getAttributeText('yearmade'))

Aşağıda, Alan Fırtına tarafından sağlanan en mükemmel cevap vermeden bu keşfettim olmazdı. Teşekkürler.

4 Cevap

Tüm Magento modeller anahtar / değer çiftleri bir php-dizi dönecektir mevcut bir "getData" yöntemi var. ($ _product Tanımlanır sonra) grouped.phtml dosya üstündeki bu deneyin

print('<pre>');print_r($_product->getData());print('</pre>');

Eğer aşağıdaki gibi bir şey görünüyor çıktı görmelisiniz.

Array
(
	[store_id] => 1
	[entity_id] => 3437
	[entity_type_id] => 4
	[attribute_set_id] => 27
	[type_id] => grouped
	[sku] => 
	[category_ids] => 
	[created_at] => 2009-04-16 03:37:51
...

Yani, özellikleri bir dizi kapmak ve sadece anahtarı çekin. Ayrıca Magento'nın kolaylık / sihirli GetX ve setx yöntemleri kullanabilirsiniz. Tüm Magento modellerde,, adı deve durumda sürüm dayalı bir yöntem çağırarak veri dizisindeki herhangi bir özelliğine erişebilir

$created_at = $_product->getCreatedAt();
$_product->setCreatedAt($date);

Peki, adı ne olursa olsun özel nitelik, sen yukarıdaki kullanarak ona almak gerekir ve emin değilseniz, sadece print_r veya getData () tarafından döndürülen dizinin içeriğini var_dump.

Özel bir nitelik ilgili ürünler basit bir ürün birinde ise nihayet, sen olacak bir şey gibi daha fazla istiyor

$_associatedProducts[0]->getCreatedAt();

Ben aynı problem vardı.

  1. Sen grouped.phtml bulmalısınız

app / tasarım / frontend / baz / default / template / katalog / ürün / view / tip / grouped.phtml

  1. Get the item, example $_item[units]

  2. Tabloya bir hücre ekleme ve echo $ _item ['birimler'] yapıştırmak;

  3. Thats all :)

Ver itibaren. 1.3. ve 1.4 çok benim için bu çok groupable tabloda çalışıyor, $_item değil $_product kullanmanız gerekir.

Örnek:

<?php echo $_item->getAttributeText('your attribute'); ?>

Gerçekten kolayca çözüm çözebilir eklentileri vardır. Sen ürün seçenekleri alır ve bir tablo içinde görüntüler burada eklenti bulabilirsiniz: http://www.magemechanics.com/product-grid-options.html