يتم عرض كمية خاطئة [صفر] في صفحة phtml معينة
-
29-09-2020 - |
سؤال
نحن نستخدم الكود التالي لتحديث الكمية في ملف 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>
لقد قمت بنسخ هذا الكود في الملف 1، والآن في صفحة file1.phtml، يظهر بالشكل التالي:
تعني قيمة الكمية الصحيحة [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');