Javascript in foreach Magento

Javascript in foreach Magento

本文关键字:Magento foreach in Javascript      更新时间:2023-09-26

我正在尝试将javascript放入php中的foreach语句中。问题是我只得到一个元素。(因为PHP是服务器端,JavaScript是客户端)。

这是我的代码:

 <?php foreach($this->getItems() as $item): ?>

<tr>
    <td class="name">
       <?php echo  
$this->getLayout()->createBlock('core/template')->setTemplate('attributes.phtml')->toHtml(); ?>
        <?php echo $item->getName(); echo '<br>';?> 

        <div class="toggle-inhalt">Beschreibung</div>

         <div class="beschreibung-checkout slide-up"><?php
              $_product = $item->getProduct();
              $pid = $_product->getId();
              $product = Mage::getModel('catalog/product')->load($pid);
              /* getting some attributes */
              echo $beschreibung = $product->getData('beschreibung'); 
              ?>
             </div>

                    <script>
                    (function(document) {
                        "use strict";
                        var hidden_el  = document.getElementsByClassName("beschreibung-
checkout"),
                            control_el = document.getElementsByClassName("toggle-inhalt");
                        if (hidden_el.length < 1 || control_el.length < 1) {
                            return;
                        }
                        // Get the elements
                        hidden_el  = hidden_el[0];
                        control_el = control_el[0];
                        control_el.onclick = function() {
                            var element_classes = (" "+hidden_el.className+" ").replace(/['n
't'r]/g, " "),
                                remove_class    = "slide-down",
                                add_class       = "slide-up",
                                is_showing      = element_classes.indexOf(" "+remove_class+" ") 
> -1;
                            if ( ! is_showing) {
                                // Switch variable values
                                remove_class = [add_class, add_class = remove_class][0];
                            }
                            // Remove the previous class (if present) and add the new class
                            hidden_el.className = (element_classes.replace(" "+remove_class+" ",
"") + " "+add_class+" ").trim();
                            return false;
                        };
                    })(document);
                  </script>
.........

它只是在div 元素上上下滑动的简单滑动。问题是:我想为每个产品提供其名称和自己的描述。

举个例子:这张图片:http://bengar.de/media/magentocheckout.png。第一个产品(L-240)的描述显示没有任何问题。但不适用于第二种产品(哈尔特格里夫)!

所以我认为我需要 ajax 用于这个或数组。谁能帮忙?

我建议不要重复你的JavaScript。

只需为所有元素添加一个类,也许还可以为每个div 添加一个自定义属性,然后使用 jQuery 每个函数。

http://api.jquery.com/jquery.each/