簡體   English   中英

在Joomla中包含PHP函數以在文章中使用的正確方法是什么?

[英]What is the correct way to include PHP functions in Joomla for use in articles?

我正在使用Joomla 2.5和DirectPHP。 我可以在一篇文章中很好地運行PHP代碼。 我想提供一個PHP函數庫,供所有文章使用。 包含函數庫的最佳方法是什么?

我試過,包括(與要求)從模板的index.php文件,甚至把功能直接在index.php文件,如建議在這里 本文未定義任何功能。 使用變量和全局變量進行的測試也發現它們在本文中未定義。

然后,我使用隨后在模板中使用的PHP函數創建了一個自定義HTML模塊,但是在本文中仍未定義它們。 奇怪的是,如果我嘗試在文章中再次聲明該函數,則會得到“無法重新聲明...”。 函數如何既未定義又不可重新定義?

我還嘗試使用名稱空間來定義和使用我的函數。 結果相同。 我的自定義html模塊中的代碼:

<?php
namespace c6;
function testit5()
    {
    echo "hello world 5";
    }
?>

我文章中的代碼:

<?php

namespace c6;

testit5();
?>

結果:

致命錯誤:調用/home/testsite/www/www/c6test/plugins/content/DirectPHP/DirectPHP.php(58)中未定義的函數c6 \\ testit5():第5行上的eval()代碼

去,

Login to admin -> Extensions Menu -> Module Manager -> Create New Module -> Choose Custom HTML

並創建您自己的模塊並添加php函數。

我想到了! 我的問題是Joomla處理事情的順序 顯然,首先處理文章,然后處理模板。 因此,我的代碼使用在定義該功能的模塊執行之前執行的功能。 (當我收到“無法重新聲明”錯誤時,它來自模板而不是文章。)我將加載位置從模板移到了文章上,並且可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM