我的目标是在Joomla 3.x中的每篇文章的开头加载<script>...</script>
。
为此,我使用代码创建了一个自定义html模块。然后我通过jQuery使用loadposition调用它。像这样,
<script>
jQuery("#startOfPage" ).after("<p>{loadposition content_lock}</p>");
</script>
我看到正在添加加载位置的文本,即标记,但它没有将其转换为代码(即添加到content_lock
位置)。
有没有更简单的方法来实现这一目标。即在每篇文章的开头添加代码?还是一种让上述工作的方法?
答案 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