Mittlere Spalte
Anpassungen und Erweiterungen für die mittlere Spalte der Produktansicht.
Keine Tabs für Upselling, Weitere Eigenschaften usw.
catalog.xml
Unter <default> <reference name="content">
Tabs auskommentieren
<!-- block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" >
<action method="addTab" translate="title" module="catalog"><alias>description</alias><title>Product Description</title><block>catalog/product_view_description</block><template>catalog/product/view/description.phtml</template></action>
<action method="addTab" translate="title" module="catalog"><alias>upsell_products</alias><title>We Also Recommend</title><block>catalog/product_list_upsell</block><template>catalog/product/list/upsell.phtml</template></action>
<action method="addTab" translate="title" module="catalog"><alias>additional</alias><title>Additional Information</title><block>catalog/product_view_attributes</block><template>catalog/product/view/attributes.phtml</template></action>
</block -->
Dafür folgendes rein nach <block type="catalog/product_view" name="product.info.addtocart"
<block type="catalog/product_list_upsell" name="product.info.upsell" as="upsell_products" template="catalog/product/list/upsell.phtml">
<action method="setColumnCount"><columns>4</columns></action>
<action method="setItemLimit"><type>upsell</type><limit>4</limit></action>
</block>
<block type="catalog/product_view_additional" name="product.info.additional" as="product_additional_data" />
<block type="catalog/product_view_description" name="product.description" as="description" template="catalog/product/view/description.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
</block>
<block type="catalog/product_view_attributes" name="product.attributes" as="additional" template="catalog/product/view/attributes.phtml">
<action method="addToParentGroup"><group>detailed_info</group></action>
</block>
page.xml
Das Javascript auskommentieren:
<default translate="label" module="page">
<label>All Pages</label>
<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml">
<block type="page/html_head" name="head" as="head">
...
<!--action method="addJs"><script>varien/menu.js</script></action-->
catalog/product/view.phtml
Da die Tabs nun weg sind, muss man die Inhalte anders ausgeben, sonst fehlen sie ganz. Dazu folgendes ersetzen:
<div class="product-collateral">
<?php echo $this->getChildHtml('info_tabs') ?>
<?php echo $this->getChildHtml('product_additional_data') ?>
</div>
mit
<div class="product-collateral">
<?php //echo $this->getChildHtml('info_tabs') ?>
<?php //echo $this->getChildHtml('product_additional_data') ?>
<?php foreach ($this->getChildGroup('detailed_info', 'getChildHtml') as $alias => $html):?>
<div class="box-collateral <?php echo "box-{$alias}"?>">
<?php if ($title = $this->getChildData($alias, 'title')):?>
<h2><?php echo $this->escapeHtml($title); ?></h2>
<?php endif;?>
<?php echo $html; ?>
</div>
<?php endforeach;?>
<?php echo $this->getChildHtml('upsell_products') ?>
<?php echo $this->getChildHtml('product_additional_data') ?>
</div>
catalog/product/view.phtml
Folgendes
<div class="product-collateral">
<?php echo $this->getChildHtml('info_tabs') ?>
<?php echo $this->getChildHtml('product_additional_data') ?>
</div>
ersetzen mit
<div class="product-collateral">
<?php //echo $this->getChildHtml('info_tabs') ?>
<?php //echo $this->getChildHtml('product_additional_data') ?>
<?php foreach ($this->getChildGroup('detailed_info', 'getChildHtml') as $alias => $html):?>
<div class="box-collateral <?php echo "box-{$alias}"?>">
<?php if ($title = $this->getChildData($alias, 'title')):?>
<h2><?php echo $this->escapeHtml($title); ?></h2>
<?php endif;?>
<?php echo $html; ?>
</div>
<?php endforeach;?>
<?php echo $this->getChildHtml('upsell_products') ?>
<?php echo $this->getChildHtml('product_additional_data') ?>
</div>
Weiteren Ansichten ausblenden wenn nur ein Bild
catalog/product/view/media.phtml
Wenn nur ein Bild existiert will ich nicht die weiteren Ansichten haben wo dann doch nur ein Bild zu sehen ist. Also den ganzen folgenden Block:
<div class="more-views">
...
</div>
in ein if statement:
<?php
// rsys not for single picture
$count = count($this->getGalleryImages());
if($count >1) { ?>
<div class="more-views">
...
</div>
<?php } ?>
Stückzahl anzeigen
catalog/product/view/type/default.phtml
Um nicht nur Lieferbar anzuzeigen sonder die vorhandene Stückzahl (Lagerbestand):
<?php if ($_product->isAvailable()): ?>
<p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
ersetzen mit
<?php if ($_product->isAvailable()): ?>
<p class="availability in-stock">
<?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span>
<span class="">(<?= (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()?> <?=$this->__('Stück auf Lager')?>)</span>
</p>
Lieferzeit anzeigen wenn Ausverkauft
catalog/product/view/type/default.phtml
Statt Ausverkauft anzuzeigen soll der Inhalt eines selbstdefinierten Attibuts (delivery_time) angezeigt werden falls befüllt.
Ersetzen von:
<p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
mit:
<p class="availability out-of-stock">
<? if($_product->getData('delivery_time')) { ?>
<?=$this->__('Lieferzeit:')?><span> <?=$_product->getData('delivery_time')?></span>
<? } else { ?>
<?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span>
<? } ?>
</p>
catalog/product/view/type/grouped.phtml
Auch hier
<p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
ersetzen mit:
<p class="availability out-of-stock">
<? if($_product->getData('delivery_time')) { ?>
<?=$this->__('Lieferzeit:')?><span> <?=$_product->getData('delivery_time')?></span>
<? } else { ?>
<?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span>
<? } ?>
</p>
Kommt an 2 Stellen vor und muss an beiden ersetzt werden.
Siehe auch Listenansicht
BasePrice anzeigen
catalog/product/view/type/default.phtml
Am Ende anfügen:
<div class="baseprice-box">
<span class="baseprice-label-<?php echo $_product->getId() ?>"><?php echo Mage::helper('baseprice')->getBasePriceInfos($_product); ?></span>
</div>
catalog/product/view/type/grouped.phtml
Nach folgendem Code (Zeile 69)
<?php echo $this->getTierPriceHtml($_item) ?>
folgendes einfügen:
<div class="baseprice-box">
<span class="baseprice-label-<?php echo $_product->getId() ?>"><?php echo Mage::helper('baseprice')->getBasePriceInfos($_item); ?></span>
</div>
catalog/product/price.phtml
Am Ende anfügen:
<!-- rsys -->
<?php $_basepriceHelper = $this->helper('baseprice');
if($baseprice =$_basepriceHelper->getBasePriceLabel($_product, true, $_showPrice)): ?>
<span class="baseprice">(<?php echo $baseprice?>)</span>
<?php endif; ?>
Um den BasePrice nicht automatisch anzuzeigen siehe hier





