LoadPosition 通过 Jquery - Joomla 3.x

LoadPosition via Jquery - Joomla 3.x

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

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

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

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

不确定为什么需要为此使用 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