foreach php 中的 Javascript - Magento

标签 javascript php jquery ajax magento

我正在尝试将 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)的描述显示没有任何问题。但不适用于第二个产品(Haltegriff)!

所以我认为我需要 ajax 来实现这个或一个数组。有人可以帮忙吗?

最佳答案

我建议根本不要重复你的 JavaScript。

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

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

关于foreach php 中的 Javascript - Magento,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27383016/

相关文章:

javascript - 按字符串数组对对象数组进行排序

javascript - OIDC - 登录 URL 查询字符串中的额外参数

php - root@localhost 的访问被拒绝 MYSQL 错误

php - mysql 在 like 和 like 查询错误之间我收到了错误

javascript - Jquery 占位符插件将密码显示为文本

javascript - 如何访问在类的方法中声明的变量?

javascript - 根据 JavaScript 中的屏幕大小删除其他元素

jquery - 如何在 jQuery Validate 插件中为包装器指定样式?

php - 从数据库中检索记录时如何转义引号?

jquery - 使用ajax下载JSP文件