【问题标题】:LoadPosition via Jquery - Joomla 3.x通过 Jquery 加载位置 - Joomla 3.x
【发布时间】:2017-04-17 22:56:50
【问题描述】:

我的目标是将<script>...</script> 加载到Joomla 3.x 中每篇文章的开头。 为此,我使用代码创建了一个自定义 html 模块。然后我通过 jQuery 使用 loadposition 调用它。像这样,

<script>
   jQuery("#startOfPage" ).after("<p>{loadposition content_lock}</p>");
</script> 

我看到正在添加的加载位置的文本,即标签,但它没有将其转换为代码(即添加到 content_lock 位置)。

有没有更简单的方法来实现这一点。即在每篇文章的开头添加代码?或者让上述工作的方法?

【问题讨论】:

  • 我不清楚您要达到的目标。我也不确定你遇到了什么问题。但总的来说,我认为你最好先加载模块,然后用 jQuery 移动元素。您当前的方法在转义模块传递的内容时会遇到问题。

标签: jquery joomla


【解决方案1】:

不知道为什么需要为此使用 jquery?为什么不直接添加

<p><jdoc:include type="modules" name="content_lock" style="none" /></p>

显示你的模块?


但是如果你需要用 jquery 加载它...

javascript 在浏览器加载页面后执行,因此无法像您那样加载模块。如果您需要使用 javascript 加载它,则必须使用 ajax 调用来显示模块内容。我想是这样的:

在您的模板/您的模板 - 文件夹中添加一个文件 content_lock.php,其中包含:

&lt;jdoc:include type="modules" name="content_lock" style="none" /&gt;

将位置 content_lock 添加到 templates/yourtemplate/templateDetails.xml

<positions>
  ...
  <position>content_lock</position>
  ...
</positions>`

用ajax加载模块:

<script>jQuery.get('index.php', {tmpl: "content_lock"}).done(
  function(data){
    jQuery("#startOfPage" ).after(data);
  }
);
</script>

在 content_lock 位置显示您的模块内容。您可以通过访问

来测试 content_lock.php 是否按预期工作

yoursite/index.php?tmpl=content_lock

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 2013-11-24
    • 2011-06-03
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    相关资源
    最近更新 更多