문제

우리는 시장 사이트를 가지고 있습니다. 각 판매자 / 공급 업체는 자신의 계정을 가지고 있습니다 ....

우리는 그들의 계정에서 판매자 제품, 수량, SKU, 가격 등의 목록을 표시하고 있습니다 ....

http://prntscr.com/8vgul0

우리는이 코드를 사용하여 해당 정보를 표시하고 있습니다. http://pastebin.com/cvqkxz2r P>

우리는 해당 편집 버튼을 클릭하면 "QTY"옆에있는 편집 버튼을 가지고 있습니다. 다른 페이지로 리디렉션하고 판매자가 정보를 편집하고 저장하십시오.

우리는 다음 코드를 사용하여 편집합니다 :

<img src="<?php echo $this->getSkinUrl('marketplace/images/icon-edit.png'); ?>" data-type="<?php echo $products->getTypeId(); ?>" alt="<?php echo $helper->__('Edit')?>" title="<?php echo $helper->__('Edit')?>" class="mp_edit"/>
.

"편집"버튼을 클릭하면 이미지와 업데이트 및 취소 버튼과 같은 텍스트 필드를 표시해야합니다. 여기에 이미지 설명

편집 된 질문 :

이미지에서 onClick 이벤트를 onClick 이벤트를 사용하고 JavaScript 함수를 호출하고 있습니다.

<img onclick="updateField(this, '. $product_id .'); return false"; src="<?php echo $this->getSkinUrl('marketplace/images/icon-edit.png'); ?>"
.

이미지를 onclick에서 정의한 JavaScript 함수.

<?php $url='Mage::getUrl('module_name/index/updateField/');' ?>
<script type="text/javascript">

function updateField(image, product_id)
{
    new Ajax.Request('<?php echo $url ?>', {
        method: 'post',
        parameters: { id: fieldId, field: $(button).previous('input').getValue() }
    });
}
</script>
.

Java Script Ajax URL에서 정의한 컨트롤러에서 기능을 수행합니다.

public function updateFieldAction()
{
    $fieldId = (int) $this->getRequest()->getParam('id');
    $field = $this->getRequest()->getParam('field');
    if ($fieldId) {
        $model = Mage::getModel('modulename/model')->load($fieldId);
        $model->setField($field);
        $model->save();
    }
}
.

file= http://pastebin.com/hhwrn1gk &

컨트롤러 파일= http://pastebin.com/mbte2hcs

그러나 나는 해결책을 얻지 못한다 ....

도움이 되었습니까?

해결책

이것이 당신을 위해 일할 것인지 여부를 확실하지 않습니다.편집의 입력 텍스트 상자의 경우 아래에서 코드를 변경해야합니다.

    <!--    edit qty -->
<td>
    <?php echo (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($products)->getQty(); ?>
    <input type="text" id="qty_<?php echo $product_id;?>" name="qty" value="<?php echo (int) Mage::getModel('cataloginventory/stock_item')->loadByProduct($products)->getQty(); ?>" style="display:none"/>
    <span class="label wk_action">
        <img onclick="updateField('<?php echo $product_id; ?>');return false;" src="<?php echo $this->getSkinUrl('marketplace/images/icon-edit.png'); ?>"/>
    </span>   
</td>


<?php $url = Mage::getUrl('module_name/index/updateField/'); ?>

<script type = "text/javascript" >

    var $wk_jq = jQuery.noConflict();

    function updateField(product_id)
    {
        var qtyId = '#qty_'+product_id;

        $wk_jq(qtyId).toggle()

        $qty = $wk_jq(qtyId).val();

        new Ajax.Request('<?php echo $url ?>', {
            method: 'post',
            parameters: {id: product_id, qty: $qty}
        });
    }
</script>
.

나는 그것을 시도하지 않았지만 귀하의 요구 사항에 따라 변경해야하며 컨트롤러 파일에서도 변경해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top