【问题标题】:Joomla Ajax loading for contact form component联系表单组件的 Joomla Ajax 加载
【发布时间】:2014-02-14 10:05:46
【问题描述】:

我正在尝试为 joomla 3.2.1 默认联系表单组件实现 ajax 加载。

我在后端设置了一个指向联系表单的菜单链接。

这是 HTML 输出:

<nav id="menu2">
    <div class="moduletable">
        <ul class="nav menu">
            <li class="item-138"><a href="/contact">Contact</a>
            </li>
        </ul>
    </div>
</nav>

我在页面底部有这个 div:

<section id="contact_form">
</section>

我实现了这个 Jquery 代码:

$('.item-138 a').click(function () {
    $('#contact_form').load("index.php?option=com_contact&view=contact&id=1&tmpl=component")
    return false;
});

联系表单加载良好,我的模板覆盖有效。但是如何防止加载自带的&lt;head&gt;内容呢?

&lt;title&gt; 标签、默认脚本(mootools jquery...)和默认 css(/templates/system/css/general.css/templates/system/css/template.css

我可以通过模板覆盖来做到这一点吗?有没有可能?

【问题讨论】:

  • 为什么要阻止 &lt;head&gt; 被加载。从不同的扩展(如模板、插件、模块、组件等)推送到 head ceom 的 scrips 和 css 文件。
  • 我想控制这些资产,防止加载两次js脚本和css文件。

标签: javascript php jquery ajax joomla


【解决方案1】:

嗯,您将这个值附加到 get 请求。

&amp;format=raw

所以你的请求看起来像

index.php?option=com_contact&view=contact&id=1&tmpl=component&format=raw

您也可以复制您的view.html.php 并将其重命名为view.raw.php

【讨论】:

  • 这很好,但我想了解它是如何工作的,view.raw.php 文件的用途是什么?如果我进行更新,它会被删除吗?
  • 好吧,如果它是一个自定义组件,那么没有什么好担心的,但是如果它的核心或第三方组件并且您希望在自定义之后进行更新,那么......也许您有一些东西。 format=raw 参数的作用是告诉 Joomla!仅将视图/控制器生成的基本输出发送到客户端(而不是附加所有模板和模块等)。还有其他类型的输出覆盖,例如 format=pdf 等。您可以阅读其中的内容Joomla!官方文档。
  • 快乐是我的;)
【解决方案2】:

你应该能够从加载中加载你想要的部分页面,像这样。

$('#contact_form').load('index.php?option=com_contact&view=contact&id=1&tmpl=component #formID');

查看此文档以了解加载页面片段here.

【讨论】:

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