【问题标题】:Expandable list with JavaScript in Joomla 2.5Joomla 2.5 中使用 JavaScript 的可扩展列表
【发布时间】:2015-10-13 10:12:19
【问题描述】:

我继承了一个 Joomla 2.5 大学网站。

有一个大学结构的页面看起来像一棵树。当用户单击其中一个项目时,该项目会展开,而其他所有内容都会折叠。单击几下后,您可能会得到以下信息:

  • 学术结构
    • 教区长
      • 校长
      • X副校长
      • Y副校长
        • 约翰·多伊
          • 电话
          • 邮件
      • Z副校长
    • 部门
    • 程序
  • 行政结构
  • 治理结构

网站上的工作人员为树的每一次可能扩展制作了 65 篇不同的文章无法维护自动生成的 HTML,零一致性,每个页面都错位无法修复。

我将删除所有文章并制作一个带有可展开树的页面。我已经制作了该结构的 JSON,它不到 1 MB(带有照片),所以我将它折叠加载。

我希望人们只编辑 JSON 而不是文章代码本身。因此,我需要一个脚本,将正确的格式应用于不同的 JSON 树。例如,所有 'person' 节点的样式都应该相同。

如何在 Joomla 2.5 中启用 JavaScript 可扩展树?我只能访问 Joomla 管理面板,而不是服务器本身。编辑器中有一个启用标签的选项,就足够了吗?如果我只是在 Joomla 文章中插入一些 JavaScript,会有什么问题吗?

我应该为项目使用什么?我在想 jQuery 和 jsTree。

【问题讨论】:

  • jstree 满足您的所有要求 - 只保留一个同级扩展很容易实现,并且它支持节点类型(因此您可以定义常用图标等)。

标签: javascript joomla joomla2.5 jstree


【解决方案1】:

从 Joomla 配置中,您可以禁用标准的所见即所得编辑器并在任何内容文章中插入“原始”HTML(包括 JS),但您仍然会遇到问题,因为默认情况下内容视图会转义大部分 JS 内容。

我建议换一种方式。

  1. 开发一个新的 Joomla 模块,您可以在其中放置所有自定义 HTML 和 JS。您可以复制和调整“mod_custom”模块类型,也可以关注this tutorial

  2. 从 Joomla 管理面板(Modules -> New -> YourModuleType)创建此模块的一个实例,并将其分配给一个假位置(即“树”)。

  3. 通过在文章内容中写入{loadposition tree} 将模块加载到您的文章中。 More about loadposition.

等等! :-)

我建议使用模块,因为作为开发人员,编辑它比 Joomla 文章更简单;我建议仍然使用 article 作为容器,因为它更容易将菜单项链接到它并处理 URL/元数据/等...

【讨论】:

  • 哇,感谢您的帮助!我几乎完成了树(JavaScript 使用嵌套的 Bootstrap 可折叠按钮将 JSON 解析为 HTML)。但是我不知道如何在没有将“无编辑器”设置为文章的默认编辑器并且没有编辑器破坏 HTML 的情况下将其放入 Joomla 中。我会尝试你的建议并发布我的结果。
  • @TreeGuy 很高兴听到这个消息!
猜你喜欢
  • 1970-01-01
  • 2019-10-08
  • 1970-01-01
  • 2018-02-28
  • 1970-01-01
  • 2014-12-14
  • 2013-01-03
  • 2011-07-22
  • 2014-10-08
相关资源
最近更新 更多