Frage

Wir verwenden den folgenden Code zum Aktualisieren der Menge in der Datei file2.phtml:

enter image description here

<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>

Ich habe diesen Code in Datei 1 kopiert, jetzt auf der Seite „file1.phtml“. Er wird wie folgt angezeigt:

enter image description here

bedeutet, dass der korrekte Mengenwert [20] auf der Seite „file2.phtml“ angezeigt wird, aber auf der Seite „file1.phtml“ wird „0“ als Menge angezeigt

Vollständiger Code für Datei1.phtml, Datei2.phtml

Bearbeiten

Zum Debuggen habe ich diesen Code verwendet: <?php var_dump($id); ?> , es wird angezeigt NULL

War es hilfreich?

Lösung

Versuchen Sie, das zu verwenden $assinproducts anstatt der $mpAssignProductModel im Datei1.phtml.Sie sollten Ihre Eingabe mit qty nach der Bedingung hinzufügen:

<?php foreach($this->getCollection() as $assinproducts):  ?>

Der vollständige Code sollte so aussehen:

<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>
....

Aber seien Sie vorsichtig, denn die Tabelle kann mehr als ein Element enthalten.Unten im Code sehen Sie die ursprüngliche Mengeneingabe (mit ID-Erhöhung im Namen) und ich empfehle Ihnen dringend, das ursprüngliche Eingabefeld zu verwenden:

<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:Bitte sagen Sie mir, ob ich gemischte Dateien habe und ich werde die Antwort aktualisieren

Andere Tipps

Sie haben ein Lademodell mit der ID.

Ihr Code funktioniert also nicht

$mpAssignProductModel->getQty();

Ändern Sie es in:

$mpAssignProductModel->getData('qty');
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top