2013-08-31 77 views
0

我有點困難,包括opencart模板中的自定義php函數。這是發生了什麼。OpenCart PHP自定義函數不工作

在header.tpl文件,我插入這個碼在該部分:在footer.tpl文件然後

<?php 
$blah = file_get_contents("my_url_goes_here"); 
?> 
<?php  
echo $blah; 
?> 

,我插入的代碼:

<?php if(!isset($blah)) die; ?> 

這樣做的目的是檢測標題中的blah函數是否仍然存在,以及它是否不存在以退出腳本。

但是,它看起來die功能會引發我一個循環,因爲如果我將它移動到header.tpl文件,所有代碼都在一起,它可以按設計完美工作。

但是,如果我將它移動到footer.tpl文件中,我希望它去,它會殺死腳本,無論如何,我最終會得到一個空白頁面 - 即使頭文件中的blah變量完整無缺.tpl文件。

這讓我非常困惑,我不明白爲什麼它不讀取我的變量,如果它在不同的文件中,因爲這兩個文件都應該包含在每個頁面上。

在此先感謝您的任何想法!

回答

0

它們是兩個獨立的實體,因此來自一個的數據不會在另一箇中。我猜這是針對反轉代碼的某種檢測腳本,就像許多wordpress模板一樣。 OpenCart是基於MVC的不是線性的,因此,頭部中的$ blah幾乎只要代碼完全執行就可以忽略。

+0

Jay - 感謝帖子。你是正確的。任何方式來解決這個問題,如使變量全局? – themacgenius

+0

你完全可以做到這一點。也許甚至可以將值保存到會話值中,這樣您就不必爲每個頁面加載調用它,這將成爲一種開銷,您的服務器和客戶端站點都不會想要 –

+0

好主意。我會嘗試實現。謝謝!! – themacgenius