неправильное количество [ноль] отображается на конкретной странице 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»
полный код для файл1.phtml, файл2.phtml
Редактировать
для отладки я использовал этот код: <?php var_dump($id); ?>
, его отображение NULL
Решение
Попробуйте использовать $assinproducts
вместо $mpAssignProductModel
в файл1.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');