2010-03-02 26 views
1

當我通過Jumi包含PHP腳本時,它似乎打破了global關鍵字。例如:Jumi(Joomla插件)​​破解PHP全局關鍵字

<?php 

$a = 5; 

function foo() 
{ 
     global $a; 
     if (isset($a)) 
       echo $a; 
     else 
       echo '$a is not set'; 
} 

foo(); 

?> 

當我單獨運行這個PHP腳本(名爲test.php的),它打印正確5。當我運行它僅包含這一個Joomla文章中包括通過JUMI:

{jumi test.php}{/jumi} 

它打印$a is not set

這是Jumi或Joomla中的錯誤,還是有一些(未記錄)的方式,我應該解決它?

當我通過Jumi包含PHP腳本時,它似乎打破了global關鍵字。例如:

<?php 

$a = 5; 

function foo() 
{ 
     global $a; 
     if (isset($a)) 
       echo $a; 
     else 
       echo '$a is not set'; 
} 

foo(); 

?> 

當我單獨運行這個PHP腳本(名爲test.php的),它打印正確5。當我運行它僅包含這一個Joomla文章中包括通過JUMI:

{jumi test.php}{/jumi} 

它打印$a is not set

這是Jumi或Joomla中的錯誤,還是有一些(未記錄)的方式,我應該解決它?


UPDATE:如果我標誌着一個$在腳本的頂部範圍爲全球:

<?php 

global $a; 
$a = 5; 
function foo() 
{ 
     global $a; 
     if (isset($a)) 
       echo $a; 
     else 
       echo '$a is not set'; 
} 
foo(); 

?> 

test.php的工作正常兩者本身通過JUMI運行和收錄。我最好的猜測是Jumi腳本包含在函數上下文中,而不是全局上下文中。

+0

您的全球頂級解決方案對我無效(J1.5/jumi 1.2。0):(: – 2010-09-14 09:40:25

+0

你是在內外標記它全球? – 2010-09-14 17:53:21

回答

1

您可以嘗試一點點不同的方法like this,因爲我相信的Joomla,因爲它是在2.5支持默認

0

與JUMI加工極限範圍在的Joomla非常容易,
3.0版本,我有一個解決辦法:

  1. 安裝Jumi。
  2. 轉到儀表板(管理面板)。
  3. 點擊組件 - >新建
  4. 輸入標題。
  5. 在自定義腳本,你可以把你的PHP/JavaScript代碼直接
  6. 你可以把一個文件名有使用JUMI語法:{jumi[directory/filename.php]}

但記得要爲它創建菜單,以便它可以出現在菜單的onclick事件中。