Magento - Wys persoonlike eienskappe in Gegroepeerde Produk tafel
-
05-07-2019 - |
Vra
Ek moet 'n manier om die waarde van 'n persoonlike kenmerk wys in plaas van die "Produk Naam" word in die onderstaande beeld te vind.
(bron: magentocommerce.com )
Ek werk met /app/design/frontend/default/defaultx/template/catalog/product/view/type/grouped.php
Die kode hieronder nie werk nie (die persoonlike kenmerk is yearmade):
<?php if (count($_associatedProducts)): ?>
<?php foreach ($_associatedProducts as $_item): ?>
<tr>
<td><?php echo $this->htmlEscape($_item->getYearmade()) ?></td>
Enige hulp sal waardeer word.
EDIT: En die antwoord blyk heel eenvoudig te wees. Jy sien wat ek versuim het om bo te noem, is dat daar is inderdaad uitset ... maar dat dit net 'n nommer (bv: 52). Blyk dit was die ID vir die persoonlike kenmerk waarde (Dit was 'n vervolg tipe persoonlike kenmerk).
So in opsomming
Dit werk vir persoonlike eienskappe van tekstipe:
echo $this->htmlEscape($_item->getYearmade())
Maar vir al die ander vorme van persoonlike kenmerk (ek dink), moet die volgende gebruik word:
echo $this->htmlEscape($_item->getAttributeText('yearmade'))
Ek sou nie hierdie ontdek sonder die mees uitstekende antwoord verskaf deur Alan Storm, hieronder. Baie dankie meneer.
Oplossing
Alle Magento modelle het 'n "getData" metode beskikbaar, wat 'n PHP-reeks sleutel / waarde pare sal terugkeer. Probeer om dit by die top van jou grouped.phtml lêer (na $ _product gedefinieer)
print('<pre>');print_r($_product->getData());print('</pre>');
Jy moet uitset wat iets soos die volgende lyk sien.
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
...
So, kan jy 'n verskeidenheid van eiendomme te gryp en trek net die sleutel uit. Jy kan ook Magento se gerief / magic getX en setX metodes gebruik. Op al Magento modelle, kan jy toegang tot enige eiendom in die data opgestel deur die roeping van 'n metode wat gebaseer is op die kameel geval weergawe van die naam,
$created_at = $_product->getCreatedAt();
$_product->setCreatedAt($date);
So, wat ook al jou persoonlike kenmerk naam is, jy moet in staat wees om dit met behulp van die bogenoemde te kry, en as jy nie seker is net print_r of var_dump die inhoud van die skikking teruggekeer deur getData ().
Ten slotte, as die persoonlike kenmerk is op een van die verwante produkte eenvoudige produk, jy wil iets meer soos
$_associatedProducts[0]->getCreatedAt();
Ander wenke
Ek het dieselfde probleem.
-
Jy moet grouped.phtml spoor
app/design/frontend/base/default/template/catalog/product/view/type/grouped.phtml
-
Kry die item, byvoorbeeld
$_item[units]
-
Voeg 'n sel in die tabel en plak eggo
$_item['units'];
-
Dis al:)
Van ver. 1.3. en in 1.4 te moet jy gebruik $ _ item nie $ _ produk , vir my hierdie werk goed in groupable tafel te.
Voorbeeld:
<?php echo $_item->getAttributeText('your attribute'); ?>
Daar is uitbreidings wat jou oplossing regtig maklik kan oplos. http:: // jy kan die plugin hier dat produk opsies neem en gee dit in 'n rooster te vind www.magemechanics.com/product-grid-options.html