Domanda

Sto cercando di Modificare la posizione del blocco quantità nella pagina del prodotto. Stavo cercando di creare un nuovo modulo di quantità denominato Qty.phtml nella cartella /product/view e collegala in view.phtml utilizzando il seguente codice

<?php echo $this->getChildHtml('qty') ?>
.

Il codice per il modulo quantità (qty.phtml)

    <?php $_product = $this->getProduct(); ?>
    <?php $buttonTitle = $this->__('Add to Cart'); ?>
    <?php if ($_product->isSaleable()): ?>

    <div class="add-to-box">
    <?php if(!$_product->isGrouped()): ?>
    <div class="qty-wrapper">

    <strongx> <label for="qty"><?php echo $this->__('Qty:') ?></label> </strongx>

    <input type="text" name="qty" id="qty" maxlength="12" 
    value="<?php echo $this->getProductDefaultQty() * 1 ?>" 
    title="<?php echo Mage::helper('core')->quoteEscape($this->__('Qty')) ?>" 
    class="input-text qty" />

    </div>
    <?php endif; ?>

</div>
<?php endif; ?>
.

Ho anche modificato il file Catalog.xml in

app/design/frontend/base/default/layout
.

Ho messo questo codice nel mio file catalogo.xml

<block type="catalog/product_view" name="product.info.qty" as="qty" template="catalog/product/view/qty.phtml">



<block type="catalog/product_view" name="product.info.options.wrapper.bottom" as="product_options_wrapper_bottom" template="catalog/product/view/options/wrapper/bottom.phtml" translate="label">
                    <label>Bottom Block Options Wrapper</label>


                    <!--action method="append"><block>product.info.qty</block></action-->


                </block>
.

Ma dopo aver messo questo codice. Sta rompendo la mia pagina di visualizzazione del prodotto.

Non ho il file catalog.xml nella mia directory tematica. Ho solo un file local.xml in esso.

Sto dando l'immagine della vista corrente della mia pagina del prodotto e anche quale modifica sto cercando.

.

Nota: sto usando il tema personalizzato chiamato Ultimo

Grazie

Che aspetto è ora

 Come è ora

Quello che voglio è

 Quello che voglio è

È stato utile?

Soluzione

Prima solo di avere un local.xml nella cartella del tema è assolutamente corretto, poiché le modifiche al layout dovrebbero essere eseguite solo in questo modo. Quindi utilizzare solo local.xml per modificare il layout.

Come sembri un sacco di conoscenze di base ti do un esempio come scoprire tutto ciò di cui hai bisogno.

Per prima cosa è necessario trovare dove viene definito il campo di ingresso Qtà:

Attiva i tuoi suggerimenti del modello nel backend ticchettando Sytem -> Config -> Developer -> Debug -> Template path hints. Naviga sulla pagina dei dettagli del prodotto e troverai il tuo sito in modalità Debug, mostrando il percorso del file del modello dei blocchi e alcune altre informazioni. Per i dettagli vedi: http://excellencemagentoblog.com/ Blog / 2011/09/07 / Magento-Template-Path-Hints-Magento /

Il tuo ingresso Qtà è all'interno app/design/frontend/[package]/[theme]/template/catalog/product/view/addtocart.phtml.

Se guardi all'interno di questo file vedrai l'ingresso Qty e che il pulsante Aggiungi al carrello si segue direttamente. Come puoi immaginare di aver bisogno di dividere questo gruppo a parte, dal momento che vuoi avere un altro campo in mezzo.

Taglia la parte per l'ingresso Qtà:

    <?php if(!$_product->isGrouped()): ?>
    <label for="qty"><?php echo $this->__('Qty:') ?></label>
    <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
    <?php endif; ?>
.

e salva una nuova versione del file.

.

Importante

Quando si modificano i temi, assicurati di creare il proprio SubTheme personalizzato, in base al pacchetto che stai utilizzando.

Ottieni maggiori informazioni su: http://docs.zoooaextension.com/post/magento -Theme-personalizzazione

Comprendi la parte del subtheming e il meccanismo di fallback del tema. Devi solo scrivere nuovi file per le modifiche: il resto sarà fallback ai file tema predefiniti.

Ora è necessario riattivare il campo di input Qty. Creare un nuovo file .phtml (come Qty -ping.phtml) in una cartella appropriata come: app/design/frontend/[package]/[subtheme]/template/catalog/product/view/qty-input.phtml. Riempilo con il tuo snippet HTML tagliato come:

<?php $_product = $this->getProduct(); ?>
<?php if($_product->isSaleable()): ?>
    <div class="add-to-cart-qty">
        <?php if(!$_product->isGrouped()): ?>
        <label for="qty"><?php echo $this->__('Qty:') ?></label>
        <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
        <?php endif; ?>
    </div>
<?php endif; ?>
.

È necessario aggiungere un blocco corrispondente e una chiamata per mostrare il blocco.

Copia il local.xml del tuo tema nella tua cartella di layout Subtheme: app/design/frontend/[package]/[subtheme]/layout/local.xml.

Trova il nodo Layout:

<action method="setTierPriceTemplate"><template>catalog/product/view/tierprices.phtml</template></action>
.

Prima di inserire un nuovo blocco con il tuo ingresso Qtà PHTML come:

<block type="catalog/product_view" name="product.info.addtocart.qty" as="addtocartqty" template="catalog/product/view/qty-input.phtml"/>
.

Probabilmente il nodo non è lì. Non farti prendere dal panico. Assicurati solo che la linea da aggiungere sia all'interno del blocco di layout corretto:

<catalog_product_view>
    <reference name="content">
        ...
        <reference name="product.info">
        ...
            <block type="catalog/product_view" name="product.info.addtocart.qty" as="addtocartqty" template="catalog/product/view/qty-input.phtml"/>
        ...
        </reference>
    ...
    </reference>
...
</catalog_product_view>
.

Assicurati finalmente che ti viene mostrato il blocco appena creato. Copia app/design/frontend/[package]/[theme]/template/catalog/product/view.phtml alla tua corrispondente cartella di Subtheme.

Trova <?php echo $this->getTierPriceHtml() ?> e aggiungi prima di emettere il campo di input: <?php echo $this->getChildHtml('addtocartqty') ?>.

Alcune cose possono differire grazie al tuo tema che hai comprato. Prova ad estrapolare la tua nuova conoscenza. Se si tratta di prodotti / bundle configurabili, ecc. Tutta questa cosa diventa più complicata. Immagino sia il momento di una nuova domanda.

Devi anche risolvere il CSS per rendere tutto bello.

Buona fortuna!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top