2012-02-14 65 views

回答

11

所有pipbox的确在加载Plone 3中的plone.app.jquerytools支持。在Plone 4中,plone.app.jquerytools是内置的。

plone.app.jquerytools加载jQuery工具和一些特定于Plone的简单AJAX弹出窗口支持。该支持允许您将AJAX弹出窗口与jQuery可选页面组件关联起来。有关完整的文档,请参阅the PYPI page

一个简单的例子:假设您想要使用plone.app.imaging提供的预览比例为内容区域中的图像设置lightbox风格弹出窗口。 JS要做到这一点:

jQuery(function($) { 
    $('img.image-right, img.image-left, img.image-inline') 
    .prepOverlay({ 
     subtype: 'image', 
     urlmatch: '/image_.+$', 
     urlreplace: '/image_preview' 
     }); 
}); 

你会通过注册一个javascript资源作为皮肤或浏览器加载层的代码,然后将其添加到portal_javascripts JS资源。

代码:

  1. 设置页面时准备加载,以“jQuery的”别名“$”的功能;
  2. 选择页面中使用可视化编辑器使用的样式的所有图像项目;
  3. 调用prepOverlay例程(来自plone.app.jquerytools)将它们与叠加层相关联;
  4. 指定叠加层将是图像,这意味着可以从加载的图像确定大小信息;
  5. 做一点正则表达式匹配和替换来获取图像URL并将其转换为预览。
+0

好的。我有点困惑,因为Pipbox提供了portal_properties设置来添加这些设置,但事实上,使用纯JS实现它们更简单。 – 2012-02-14 18:25:21