неправильное количество [ноль] отображается на конкретной странице phtml

magento.stackexchange https://magento.stackexchange.com/questions/110536

Вопрос

мы используем следующий код для обновления количества в файле 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»

полный код для файл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');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top