【问题标题】:Is there a way to implement masonry.js in magento with infinitescroll?有没有办法用无限滚动在 magento 中实现 masonry.js?
【发布时间】:2014-12-11 08:48:58
【问题描述】:

对于使用免费扩展程序的无限滚动:'vs-infinite-ajax-scrolling',此扩展程序也提供了 noconfilct 解决方法,它导入的 jquery 版本是 1.7.2,我正在寻找一种从 desendro 实现 masonry.js 的方法扩展并将两者集成到默认的 magento 中。任何人都可以请指导我。

【问题讨论】:

  • 我建议雇人为你做这件事。如果您是编码员,请尝试一些方法并返回与特定问题或不起作用的代码相关的问题。这一切都接近于要求完成家庭作业,或者只是完成免费工作。
  • 好的,那你能告诉我在哪里调用 ajaxscroll.phtml 中的 masonry 函数。 ''你能纠正这个吗?

标签: php magento-1.8 infinite-scroll masonry


【解决方案1】:

有关说明,请参阅 http://masonry.desandro.com/#getting-started

Magento 的项目列表可能看起来像这样:

<ul class="products-grid">
    <li class="item">...product info here...</li>
    <li class="item">...product info here...</li>
    <li class="item">...product info here...</li>
</ul>

所以。按照 Masonry 主页上的说明,您需要首先确保将 Masony JS 包含在您的页面部分中,方法是将其添加到您的一些 XML 中 - 例如默认部分中的主题 local.xml 文件,或者可能只是在目录中列表部分,因此它不会包含在不需要的页面上。

如果您不知道如何执行此操作,请提出一个关于如何将自定义 JS 添加到产品列表页面的新问题。这就是我说的具体的意思。你需要做最初的工作,将你的问题分解成更小的部分,并根据手头的具体任务提出问题。互联网上没有人喜欢做我正在做的事情并在整个过程中握着你的手。在他们的业余时间。免费。

接下来是使用主页上描述的两种可用方法之一来初始化产品列表中的 Masonry 脚本。例如,您可以将其添加到 -tag:

<ul class="products-grid js-masonry" data-masonry-options="{ 'columnWidth': 200, 'itemSelector': '.item' }">
    <li class="item">...product info goes here..</li>
    <li class="item">...product info goes here..</li>
    <li class="item">...product info goes here..</li>
</ul>

它应该可以工作,也许添加了一些 CSS 修复。

【讨论】:

  • 嗨,克里斯,直接在 list.phtml 文件中添加会在“$”上引发原型重复错误。但是我尝试在 ajaxsroll.phtml 文件中添加以下代码。当前,当我尝试 load 事件或此错误 cannot call methods on masonry 在初始化之前,要么没有错误+没有砌体;在尝试 onLoadItems 事件时尝试调用“附加”
  • 'jQuery.ias({container : '.category-products', item: '.products-grid', php else: ?> item: '.products-list', 分页: '.toolbar .pager', next: '.next', 加载器: 'getSkinUrl('images/ajaxscroll/loader.gif')); ?>" /> ', load: function(items){var $newElems = jQuery(items).show().css({opacity:0}); $newElems.imagesLoaded(function(){ $newElems.animate({opacity:1}); jQuery('.category-products').砌体('附加', $newElems, true); });return true;} });'
  • html 可能没问题,但是您需要在 masonry js 文件中更改 jQuery 的 $ 并可能执行 jQuery.noConflict();包含 jQuery 库后立即调用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多