2012-09-06 3 views
6

Nel layout predefinito le opzioni e add-to-cart-tasto sono chiamati daMagento - opzioni di divisione di container1 e container2

<?php echo $this->getChildChildHtml('container1', '', true, true) ?> 

vorrei dividere le opzioni configurabili dal carrello add-to- e il campo quantità per mostrarli in una posizione diversa nel mio layout. Qualche idea o soluzioni alternative pronte all'uso?

+0

Sei hai? Anch'io ho bisogno del link "aggiungi al carrello" per il manuale. – KarSho

+0

Dato che questo vecchio argomento ottiene molte visualizzazioni, vorrei condividere la mia soluzione alternativa per questo problema. Ho cercato il contenuto all'interno di 'contenitore1' e lo ho visualizzato direttamente nel modello di visualizzazione o chiamato il contenuto con' getChildHtml' per le opzioni del prodotto questo sarebbe '$ this-> getChildHtml ('product_options_wrapper')'. – npostulart

risposta

0

Mentre la soluzione finale dipenderà da dove questi blocchi devono essere spostati/inserita nel layout, si può sicuramente dividere la “Aggiungi al carrello” product.info.options.wrapper.bottom fuori da opzioni configurabili product.info.container1 o product.info.container2 come questo:

<catalog_product_view> 
    <reference name="product.info.container1"> 
     <action method="unsetChild"><name>product.info.options.wrapper.bottom</name></action> 
    </reference> 
    <reference name="product.info.container2"> 
     <action method="unsetChild"><name>product.info.options.wrapper.bottom</name></action> 
    </reference> 
</catalog_product_view> 

il modo più semplice per mostrare poi sul pulsante “Aggiungi al carrello” a parte è quello di commentare la condizionale in catalog/product/view.phtml che permette il blocco product.info.addtocart da dimostrare se il prodotto ha opzioni o no:

<?php if (!$this->hasOptions()): // Remove this condition ?> 
    <div class="add-to-box"> 
     <?php if($_product->isSaleable()): ?> 
      <?php echo $this->getChildHtml('addtocart') ?> 

      ... 

     <?php endif; ?> 
    </div> 

    ... 

<?php endif; ?> 

Speriamo che questo ti aiuti a capire la struttura di questi blocchi. risorse aggiuntive che possono essere utili:

1

è possibile dividere molto facile (ma ho speso un sacco di tempo per trovarlo :)) - se si guarda al app/code/core/Mage/Core/Block/Abstract.php in PHPDoc di public function getChildChildHtml, vedrete che il secondo parametro determina il nome del blocco figlio. Quindi, è possibile chiamare prima il blocco di prezzo renda

<?php echo $this->getChildChildHtml('container1', 'product.info.options.wrapper', true, true) ?> 

e dopo il blocco dei prezzi reso, chiamare

<?php echo $this->getChildChildHtml('container1', 'product.info.options.wrapper.bottom', true, true) ?> 
Problemi correlati