Javascript 在模式窗口的不同列表中添加产品

Javascript 在模式窗口的不同列表中添加产品,javascript,php,magento,Javascript,Php,Magento,我必须将产品返回到我在网站上创建的列表中,但是当我在产品详细信息页面时,该功能正常工作,可以将产品添加到我想要的列表中,页面上有一个产品列表,如果我只有一个列表可以直接发送到列表中,但当我有多个产品已经不正确时,这些产品就不会发生 具有模式屏幕的功能: <script> var baseRegistryLink = ''; function showRegistries(link) { baseRegistryLink = link;

我必须将产品返回到我在网站上创建的列表中,但是当我在产品详细信息页面时,该功能正常工作,可以将产品添加到我想要的列表中,页面上有一个产品列表,如果我只有一个列表可以直接发送到列表中,但当我有多个产品已经不正确时,这些产品就不会发生

具有模式屏幕的功能:

<script>
    var baseRegistryLink = '';
    function showRegistries(link) {
        baseRegistryLink = link;        
        <?php if ($this->getEvents(true)->count() > 1): ?>
        $('adjgiftreg_popup').show();
        <?php else: ?>
        <?php foreach ($this->getEvents() as $event): ?>
            addToGiftRegistry(<?php echo $event->getId()?>);
        <?php endforeach ?>
        <?php endif ?>
        return false;
    }
    function addToGiftRegistry(e) {
        baseRegistryLink = baseRegistryLink + 'event/' + e;
        alert('addTogiftRegistry');
        var form = $('product_addtocart_form');
        var oldFormLink = form.action;
        if (form) {
            alert('addTogiftRegistry-form');
            form.action = baseRegistryLink;
            if (!productAddToCartForm.submit()) {
                alert('addTogiftRegistry-productaddTocart');
                form.action = oldFormLink;
            }
        }
        else {
            document.location.href = baseRegistryLink;
        }
        return false;
    }
</script>
<div id="adjgiftreg_popup" style='display: none; cursor: default;' onclick="event.cancelBubble = true; if(event.stopPropagation) event.stopPropagation();">
    <div class='box base-mini'>
        <div class='head'>
            <h4><?php echo $this->helper('adjgiftreg')->__('Add to Registry') ?></h4>

            <div class="btn-close">
                <a href="#" onclick="event.cancelBubble = true; if(event.stopPropagation) event.stopPropagation(); $('adjgiftreg_popup').hide(); return false;"><img
                        src="<?php echo $this->getSkinUrl('images/btn_window_close.gif') ?>"
                        alt="<?php echo $this->__('Close') ?>"/></a>
            </div>
        </div>
        <div class='content'>
            <p>
                <?php //sends to the function ?>
                <?php foreach ($this->getEvents() as $event): ?>
                    <a href="#"
                       onclick="event.cancelBubble = true; if(event.stopPropagation) event.stopPropagation(); return addToGiftRegistry(<?php echo $event->getId() ?>)"><?php echo $this->htmlEscape($event->getFullTitle()) ?></a>
                    <br/>
                <?php endforeach ?>
            </p>
        </div>
    </div>
</div>

没有了,因为我可以在产品页面上插入以下javascript代码:

<script type="text/javascript">
    //<![CDATA[
    var productAddToCartForm = new VarienForm('product_addtocart_form');
    productAddToCartForm.submit = function (button, url) {
        if (this.validator.validate()) {
            var form = this.form;
            var oldUrl = form.action;

            if (url) {
                form.action = url;
            }
            var e = null;
            try {
                this.form.submit();
            } catch (e) {
            }
            this.form.action = oldUrl;
            if (e) {
                throw e;
            }

            if (button && button != 'undefined') {
                button.disabled = true;
            }
        }
    }.bind(productAddToCartForm);

    productAddToCartForm.submitLight = function (button, url) {
        if (this.validator) {
            var nv = Validation.methods;
            delete Validation.methods['required-entry'];
            delete Validation.methods['validate-one-required'];
            delete Validation.methods['validate-one-required-by-name'];
            // Remove custom datetime validators
            for (var methodName in Validation.methods) {
                if (methodName.match(/^validate-datetime-.*/i)) {
                    delete Validation.methods[methodName];
                }
            }

            if (this.validator.validate()) {
                if (url) {
                    this.form.action = url;
                }
                this.form.submit();
            }
            Object.extend(Validation.methods, nv);
        }
    }.bind(productAddToCartForm);
    //]]>
</script>
<a href="<?php echo $_registryUrl ?>" class="adjgiftreg_add_to" onclick="event.cancelBubble = true;
                                        if(event.stopPropagation) event.stopPropagation(); return showRegistries(this.href);">List Present</a>
 <form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form"
                    <?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
 form.action = baseRegistryLink;

            if (!productAddToCartForm.submit()) {

                alert('addTogiftRegistry-productaddTocart');

                form.action = oldFormLink;
            }
<script type="text/javascript">
    //<![CDATA[
    var productAddToCartForm = new VarienForm('product_addtocart_form');
    productAddToCartForm.submit = function (button, url) {
        if (this.validator.validate()) {
            var form = this.form;
            var oldUrl = form.action;

            if (url) {
                form.action = url;
            }
            var e = null;
            try {
                this.form.submit();
            } catch (e) {
            }
            this.form.action = oldUrl;
            if (e) {
                throw e;
            }

            if (button && button != 'undefined') {
                button.disabled = true;
            }
        }
    }.bind(productAddToCartForm);

    productAddToCartForm.submitLight = function (button, url) {
        if (this.validator) {
            var nv = Validation.methods;
            delete Validation.methods['required-entry'];
            delete Validation.methods['validate-one-required'];
            delete Validation.methods['validate-one-required-by-name'];
            // Remove custom datetime validators
            for (var methodName in Validation.methods) {
                if (methodName.match(/^validate-datetime-.*/i)) {
                    delete Validation.methods[methodName];
                }
            }

            if (this.validator.validate()) {
                if (url) {
                    this.form.action = url;
                }
                this.form.submit();
            }
            Object.extend(Validation.methods, nv);
        }
    }.bind(productAddToCartForm);
    //]]>
</script>