通过Jquery的LoadPosition - Joomla 3.x

时间:2017-04-17 22:56:51

标签: jquery joomla

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

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

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

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

1 个答案:

答案 0 :(得分:0)

为什么你需要使用jquery呢?为什么不添加

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

显示您的模块?

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

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

在您的templates / yourtemplate - 文件夹中添加包含以下内容的文件content_lock.php

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

将位置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