2014-07-13 38 views
0

想知道如果這樣的事情是可能的在PHP和如何做到這一點。加載不同的鏈接時發生變化

我想要分配TPL到索引頁面,並點擊一個按鈕,指數的變化上申請時,我想assing不同TPL

事情是這樣的:

if('rendered_page' = signup.php){ 

$t->assign('rendered_page', $t->fetch('signup.tpl')); 

{else} 

$t->assign('rendered_page', $t->fetch('login.tpl')); 

} 

$t->display('index.tpl'); 
+1

'{else}'?替換爲'} else {'我假設? –

回答

-1

從描述你提供我認爲你需要檢查當前頁面是什麼,它可以這樣做:

<?php 
$currentpage = basename($_SERVER['PHP_SELF']); 
?> 

所以,你的代碼將變爲:

<?php 
$currentPage = basename($_SERVER['PHP_SELF']); 

if($currentPage == "signup.php"){ 

    $t->assign('rendered_page', $t->fetch('signup.tpl')); 

}else{ 

    $t->assign('rendered_page', $t->fetch('login.tpl')); 

} 
?> 
0

一切都取決於你的結構和你的需求。

你可以做到這一點,例如這樣:

在PHP

<?php 

$currentUrl = $_SERVER['REQUEST_URI']; 

if($currentUrl == 'signup.php') { // notice that there are 2 = signs not one to compare 

$t->assign('rendered_page', $t->fetch('signup.tpl')); 

else { 

$t->assign('rendered_page', $t->fetch('login.tpl')); 

} 

$t->display('index.tpl'); 

在index.tpl裏

{$rendered_page} 

但你也可以這樣來做(簡單顯示模板不會先取得):

在PHP

<?php 

$currentUrl = $_SERVER['REQUEST_URI']; 

if($currentUrl == 'signup.php') { // notice that there are 2 = signs not one to compare 

$t->display('signup.tpl'); 

else { 

$t->display('login.tpl'); 

} 

最後的選擇是把這個直接在Smarty的模板,所以你可以這樣說:

在PHP

<?php 

$currentUrl = $_SERVER['REQUEST_URI']; 
$t->assign('currentUrl', $currentUrl); 
$t->display('index.tpl'); 

在指數

.tpl

{if $currentUrl eq 'signup.php'} 
    {include 'signup.tpl'} 
{else} 
    {include 'login.tpl'} 
{/if} 
相關問題