2017-09-13 69 views
0

我想將我的index.php頁面用作我所有其他頁面的模板。所以我打印出下面的代碼。通過變量將內容插入模板

echo file_get_contents("index.php"); 

我已經將這段代碼添加到模板(index.php),我想要顯示的內容。的任何一頁即時通訊。

<?php 
echo $index_content; 
?> 

所以,當我使用

echo file_get_contents("index.php"); 

讓我的頁面模板,在例如users.php。在users.php文件我想用下面的代碼

$index_content = echo "string"; 

來然後打印出我的網頁內容,我加入這個變量

<?php 
echo $index_content; 
?> 

我的問題是,當我說$ index_contents =回聲( 「串」);

它不打印任何東西。到我的模板上。或者將其打印出來,但是在模板的末尾或開始。不是我插入變量的地方。爲什麼不會迴應我插入我的變量的東西。

+0

你想做類似'$ test = echo「測試」: echo $ test;'? – Avishake

+0

是的。如果我可以得到我的代碼至少回聲出一個字符串,我可以找出其餘的 –

+0

問題是,在加載。我的頁面沒有打印出變量值。 –

回答

0

file_get_contents()給你的文件的來源。 如果我找到你想要使用include。也不要在變量中回顯,而是分配值並在模板中回顯。

users.php:

$content = 'what ever'; 
include 'template.php'; 

other.php:

$content = 'other page'; 
include 'template.php'; 

的template.php:

echo $content 

如果你打電話users.php輸出將是 「什麼都」 。如果你打電話給other.php輸出將是「其他頁面」。

+0

我不能在模板文件中添加內容,然後使用include,因爲模板文件需要爲不同的頁面顯示不同的內容 –

+0

是的,您對該頁面的模板$內容說'is ever'。在其他頁面上,您會說'''$ content ='其他頁面',並且您的模板顯示「其他頁面」。 「頁面」設置一個變量,模板顯示它。 – mirsch

+0

只是編輯答案,使其更加明確 – mirsch

0

您在$ index_content中存儲「echo」的返回值,該值爲空。 將字符串分配給變量時,只需省略回顯。

另一個問題是,使用file_get_contents時,您不會評估您在$ index_content中回顯的php表達式。

相反,您應該在users.php中使用include('index.php'),並在此之前設置變量$ index_contents。

+0

好的,但那麼我怎樣才能通過一個變量顯示我的網頁內容。我不想將我的模板代碼複製並粘貼到每個頁面上。 –

+0

請看我最後的編輯 - 也如@mirsch所示。不要將模板代碼複製到每個頁面中,而是應該先使用包含並設置所有必需的變量。 – sturmfrisur