Quantità errata [zero] sta visualizzando in particolare pagina PHTML
-
29-09-2020 - |
Domanda
Utilizzo del seguente codice per l'aggiornamento della quantità in file file2.phtml:
<li class="fields">
<div class="customer-name">
<div class="field">
<div class="input-box">
<input type="text" name="qty" id="qty" value="<?php echo intval($mpAssignProductModel->getQty()) ?>" class="required-entry validate-zero-or-greater input-text"/>
</div>
</div>
</div>
</li>
.
Ho copiato questo codice nel file 1, ora nella pagina file1.phtml, è visualizzato come questo:
significa correzione del valore della quantità [20] che mostra nella pagina file2.phtml, ma nella pagina file1.phtml, è mostrata "0" come quantità
Code completo per file1.phtml , file2.phtml
Modifica
Per il debug, ho usato questo codice: <?php var_dump($id); ?>
, la sua visualizzazione NULL
Soluzione
Prova a utilizzare il $assinproducts
invece del $mpAssignProductModel
in file1.phtml .Dovresti aggiungere il tuo ingresso con Qtà dopo la condizione:
<?php foreach($this->getCollection() as $assinproducts): ?>
.
Codice completo dovrebbe essere simile a questo:
<tbody>
<?php foreach ($this->getCollection() as $assinproducts): ?>
<?php $products = Mage::getModel('catalog/product')->load($assinproducts->getProductId()); ?>
<tr class="wk_row_view ">
<td>
<input type="text" name="qty" id="qty" value="<?php echo intval($assinproducts->getQty()) ?>" class="required-entry validate-zero-or-greater input-text"/>
</td>
....
.
Ma attenzione perché puoi avere più di un oggetto nella tabella.Nella parte inferiore del codice è possibile visualizzare l'ingresso originale di Qty (con ID increment nel nome) e ti consiglio vivamente di utilizzare il campo di immissione originale:
<td>
<span class="label qty" id="valueqty_<?php echo $assinproducts->getId(); ?>">
<?php echo intval($assinproducts['qty']); ?>
</span>
<input type="text" id="qty_<?php echo $assinproducts->getId(); ?>"
onkeydown="validateNumbers(event)"
name="stock" value="<?php echo intval($assinproducts['qty']); ?>"
style="display:none;"/>
<span class="label wk_action" id="edit_link_<?php echo $assinproducts->getId(); ?>">
<img onclick="showField('<?php echo $assinproducts->getId(); ?>'); return false;"
src="<?php echo $this->getSkinUrl('marketplace/images/icon-edit.png'); ?>"/>
</span>
<p id="updatedqty_<?php echo $assinproducts->getId(); ?>"
style="display:none;color:red;">Updated</p><br/>
<button id="update_button_<?php echo $assinproducts->getId(); ?>"
class="button wk_mp_btn1"
onclick="updateField('<?php echo $assinproducts->getId(); ?>',<?php echo intval($assinproducts['qty']); ?>); return false;"
style="display:none">
<span>
<span style="font-size:12px;"><?php echo $helper->__('Update') ?></span>
</span>
</button>
<button id="reset_button_<?php echo $assinproducts->getId(); ?>"
type="reset" class="cancel"
onclick="hideReset('<?php echo $assinproducts->getId(); ?>'); return false;"
style="display:none"></button>
</td>
.
PS: Per favore dimmi se ho file misti e aggiornerò la risposta
Altri suggerimenti
Hai il modello di caricamento usando ID.
Quindi il tuo codice non funziona
$mpAssignProductModel->getQty();
.
Modili su:
$mpAssignProductModel->getData('qty');
.