سؤال

نحن نستخدم الكود التالي لتحديث الكمية في ملف 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>

لقد قمت بنسخ هذا الكود في الملف 1، والآن في صفحة file1.phtml، يظهر بالشكل التالي:

enter image description here

تعني قيمة الكمية الصحيحة [20] التي تظهر في صفحة file2.phtml، ولكن في صفحة file1.phtml تظهر "0" ككمية

الكود الكامل ل file1.phtml, file2.phtml

يحرر

لتصحيح الأخطاء، استخدمت هذا الرمز: <?php var_dump($id); ?> ، عرضه NULL

هل كانت مفيدة؟

المحلول

حاول استخدام $assinproducts بدلا من ال $mpAssignProductModel في ال file1.phtml.يجب عليك إضافة مدخلاتك مع الكمية بعد الشرط:

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

يجب أن يبدو الكود الكامل كما يلي:

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

لكن احذر لأنه من الممكن أن يكون لديك أكثر من عنصر واحد في الجدول.في أسفل الكود، يمكنك رؤية إدخال الكمية الأصلي (مع زيادة المعرف في الاسم) وأوصي بشدة باستخدام حقل الإدخال الأصلي:

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

ملاحظة:من فضلك قل لي إذا كان لدي ملفات مختلطة وسوف أقوم بتحديث الإجابة

نصائح أخرى

لديك نموذج تحميل باستخدام المعرف.

لذا فإن الكود الخاص بك لا يعمل

$mpAssignProductModel->getQty();

تغييره إلى:

$mpAssignProductModel->getData('qty');
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top