2017-04-17 25 views
0

我的目標是在Joomla 3.x中的每篇文章的開頭加載一個<script>...</script>。 爲此,我使用代碼創建了一個自定義html模塊。然後我通過jQuery使用裝載位置來調用它。像這樣,通過Jquery的LoadPosition - Joomla 3.x

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

我看到被添加即標籤的loadposition文本,但它不把它翻譯成代碼(即被添加到content_lock位置)。

有沒有更簡單的方法來實現這一點。即在每篇文章的開頭添加代碼?或者一種方式來獲得上述工作?

+0

我是你想要達到的目的不清楚。我也不確定你有什麼問題。但總的來說,我認爲你最好先裝載模塊,然後用jQuery移動元素。您當前的方法將會轉義模塊傳遞的內容。 – jamesgarrett

回答

0

不是sury爲什麼你需要使用jQuery的呢?爲什麼不直接添加

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

要顯示您的模塊?


但是如果你需要使用jQuery加載它...瀏覽器加載頁面後執行

JavaScript的,所以像你做這件事的模塊無法加載。如果您需要使用JavaScript加載,則必須使用ajax調用來顯示模塊內容。像這樣的事情,我想:在您的模板

/yourtemplate - 文件夾添加包含文件content_lock.php:

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

添加位置content_lock到模板/ 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中顯示模塊內容。通過訪問

yoursite /的index.php?TMPL = content_lock預期可以測試content_lock.php作品