自从我上一次在更新我的项目,这个项目旨在提高 Joomla! 的前端编辑能力已经超过一周了。我很高兴地宣布,这周我成功实现了模块的拖放放置。除此之外,我还修复了一些错误并优化了代码。你可以从 JC 下载最新版本 -> http://joomlacode.org/gf/project/frediting/frs/

以下是如何实现模块拖放的简要概述。在 JavaScript 部分,我使用了 Mootools 的Sortables 类。要为特定位置启用拖放,你需要在模板的 'index.php' 中为模块的容器提供 'data-position' 属性。所以,如果你有一个包含所有左侧模块的 DIV,那么你会给它属性 data-position='left'。在大多数情况下,'data-position' 的值与 jdoc:include 语句的 'name' 属性值相匹配。以下是一个代码示例

'data-' 类型的属性在 HTML 5 中受支持。我可以选择一个备用属性,比如 'rel' 或 'alt',但使用唯一属性的想法是为了不干扰任何模板的布局。你可以为所有你想要启用拖放的 DIV 容器提供这个属性。所以,例如,如果你想要排除页脚,只需在其容器中不包含 'data-position' 属性。

当你将模块拖放到新位置和/或顺序时,会向模块控制器的 'saveOrder' 方法发送一个 AJAX 请求。控制器方法随后保存新的位置和/或顺序。

除了演示之外,我还在joomlacode.org上建立了我的项目,以便您可以帮助我找到错误。目前,SVN源代码仍然在labs。我正在将我的SVN仓库迁移到Joomla Code。

如果时间允许,我可能会考虑实现菜单参数的编辑。但至少在接下来的一周里,我将修复代码中的错误和故障,同时优化代码并添加对IE的支持。我还必须开始开发一个管理界面,您可以在其中配置插件的行为,包括设置鼠标悬停在标题上时的背景色,为文章和页面标题的容器指定独特的类等。

重要链接

SVN源代码: http://labs.joomla.org/svn/labs/playground/people/ankit
错误跟踪器: http://joomlacode.org/gf/project/frediting/tracker/
最新版本: http://joomlacode.org/gf/project/frediting/frs/
演示: http://ankitahuja.com/playground/joomla