【问题标题】:Disable Joomla template inside of modal box在模态框内禁用 Joomla 模板
【发布时间】:2011-04-13 00:03:46
【问题描述】:

我正在为后端开发一个简单的 Joomla 模块,并且我正在努力使其保持简单。我需要使用 javascript 弹出窗口或模式框创建某种弹出框。我想要弹出窗口中的一些基本内容,通过 Joomla 的用户验证,但不显示 Joomla 模板。有了一个组件,我可以写一个这样的 url:

http://my-site.com/index.php?option=com_component&tmpl=component

这个 url 只会显示组件的内容,同时仍然确保用户已登录。我想知道是否有任何方法可以为模块执行此操作。以下是一些选项:

  1. 编写一个仅输出模块内容的 url,并禁用 Joomla 模板。
  2. 目前,模式框使用 iframe 在其中包含另一个页面。有没有办法用内容替换 iframe?
  3. 在服务器上创建一个直接请求的文件,并在顶部添加用户验证检查。是否有任何我可以包含的单个 Joomla 文件来确保用户已登录?
  4. 如果一切都失败了,我可以使用die(); 跳过编写模板。

我正在使用 Joomla 1.5

【问题讨论】:

    标签: php joomla joomla-extensions


    【解决方案1】:

    首先,Joomla 有一个内置的模态框,可以在 iFrame 或 div 中显示内容。唯一需要的元素是将类“modal”添加到链接中。您还可以传递几个参数来控制灯箱,您可以在此处找到有关这些参数的文档 -

    http://digitarald.de/project/squeezebox/1-1/showcase/get-elements/

    接下来,默认情况下,您不能只显示模块位置的内容。 tmpl=component 参数告诉 joomla 仅加载站点的组件区域,忽略所有模块位置,因此您的模块不会显示在页面上。您要么需要使用 {loadposition} 将模块加载到文章中,要么找到其他方式将内容放入站点的组件区域。

    在灯箱中添加指向实际网站和您想要的内容的链接会很有帮助,这通常是一个非常简单的过程,我们一直为各种内容这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-12
      • 1970-01-01
      相关资源
      最近更新 更多