【问题标题】:joomla: multiple views with dynamic contentsjoomla:具有动态内容的多个视图
【发布时间】:2018-01-12 14:23:04
【问题描述】:

我最近刚刚参与了一个使用joomla管理其主页的项目,并开始学习joomla的基础知识。

到目前为止,如果您的页面包含静态内容并且可以很好地管理它们,我发现 joomla 非常好。但我现在想要的是向这个页面添加动态内容(从数据库或其他后端获取)。如果我理解正确的原理,我会用模块甚至组件来做到这一点(我不确定插件如何帮助这些事情)。但是我是否需要为每个具有动态内容的视图创建一个模块?

我想要的是一种服务,我可以在其中实现数据获取逻辑,然后应该可以使用 WYSIWYG 编辑器创建视图,我可以在其中使用 php 插入获取的值。我已经知道可以通过扩展 Sourcerer 在 WYSIWYG 编辑器中使用 php。

最后我想在所见即所得的编辑器中有这样的东西:

{source}
<?php
$data = service.fetchData(...); // fetches view specific data from a central service which gets the data from a backend or a database
?>
{/source}

...html code (in WYSIWYG style)
<p>Hello {source}<?= $data['name']?> {/source} </p> <------ accessing the php data in the html
... further html code

我怎样才能实现这样的目标,以便不是 php 开发人员的人也可以轻松地创建具有动态内容的视图,而无需为具有动态内容的每个不同视图创建新模块?还是我只是不了解 joomla 的原理,而这可以通过一些完全不同(更简单?)的方式来完成?

【问题讨论】:

    标签: php joomla


    【解决方案1】:

    您确实可以使用模块或插件来插入动态内容。但是你只需要编写一个模块或插件,因为两者都可以使用参数。

    根据您的描述,我想为您实现结果的最简单方法是

    a) 创建一个内容插件,替换文章文本中的自定义代码;它应该很容易解析,例如

    [myservice:{year:2017, country:'uk'}]

    这样您的插件就可以轻松地测试代码,然后检索所需的参数。

    b)为编辑器创建一个editors-xtd插件,让用户可以轻松插入代码。这将使用户更容易插入数据并可能防止大多数错误。

    这种方法的优点是编码最少(插件可以像单个文件一样简单,而使用模块则必须编写更多文件)。除此之外,使用[loadposition] 短代码的模块也可以正常工作。但是,您仍然需要一个 editors-xtd 插件来帮助用户编写短代码并传入参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-17
      • 1970-01-01
      • 1970-01-01
      • 2014-02-02
      • 2015-02-03
      • 2019-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多