phpsmartyif
『壹』 thinkphp smarty模版中if判斷怎麼寫如果session存在就顯示退出鏈接,如果不存在就顯示登錄
你可以在控制器中判斷session("user")是否存在,session中存在就給模板傳遞 user 參數,不存在就不傳遞 user參數,在模板中,判斷$user變數是否存在。
如在Action中
// TP中,session是默認開啟的,通過session("?sessionName")的方式進行判斷,session存在就返回true,反之就返回false
if(session("?user")){
$this->assign("user",session("user"));
}
然後在模板中判斷
全選復制放進筆記<if condition="isset($user)">
已登錄的html code
<else/>
未登錄的html
</if>
『貳』 smarty是什麼東西,主要干什麼用的
什麼是smarty?
Smarty是一個使用PHP寫出來的模板PHP模板引擎,由PHP.net官方提供,它提供了邏輯與外在內容的分離,簡單的講,目的就是要使用PHP程序員同美工分離,使用的程序員改變程序的亂喚邏輯內容不會影響到美工的頁面設計,美工重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
smarty優點
1. 速度:採用smarty編寫的程序可以獲得最大速度攔陪拿的提高,這一點是相對於其它的模板引擎技術而言的。
2. 編譯型:採用smarty編寫的程序在運行時要編譯成一個非模板技術的PHP文件,這個文件採用了PHP與HTML混合的方式,在下一次訪問模板時將WEB請求直接轉換到這個文件中,而不再進行模板重新編譯(在源程序沒有改動的情況下)
3. 緩存技術:smarty選用的一種緩存技術,它可以將用戶最終看到的HTML文件緩存成一個靜態的HTML頁,當設定smarty的cache屬性為true時,在smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個靜態的HTML文件中來,這相當於調用一個靜態的HTML文件。
4. 插件技術:smarty可以自定義插件。插件實際就是一些自定義的函數。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。
不適合使用簡搭smarty的地方
1. 需要實時更新的內容。例如像股票顯示,它需要經常對數據進行更新,這類型的程序使用smarty會使模板處理速度變慢。
2. 小項目。小項目因為項目簡單而美工與程序員兼於一人的項目,使用smarty會喪失php開發迅速的優點。
『叄』 php smarty 如何循環數組輸出
方法一:
{foreach form=$arr item=item key=key}
{if $key%2==1}
,{$item}<br />
{else}
{$item}
{/if}
{/foreach}
方法二:
用php 程序 把數組 先重新組裝一下
變為 array(『a,b』,'c,d','e,f'); 再去循環
『肆』 php smarty問題 undefined index
MyminiSmarty這個類裡面睜耐$pattern=array(
'/\{\s*\$([a-zA-Z_][a-zA-Z0-9_]*)\s*\帶升}/i' );
$replace=array(
'<?php echo $this->tpl_vars["${1}"]; ?>'
);
正則表達式和字元串應該不用array包裹的,直接蠢早老字元串寫上就可以的。
網頁上提示的notice錯誤的意思是你沒有初始化input這個變數,php的變數雖然是不用初始化就可以使用,但是網頁上還是會報notice錯誤
『伍』 急急急。PHP問題,提示 Smarty的模板語法編譯錯誤,怎麼解決
根據老陪察你貼出的報錯信息,可以判斷出你模版裡面用的分隔符(delimiter)不對,你看看你侍茄初始化smarty的時候left_delimiter 和亂燃right_delimiter 寫的什麼,比如我的配置如下:
'left_delimiter'=>'{%',
'right_delimiter'=>'%}',
那麼在模版里就寫:{%if $regularlist['total'] > 0%} aaa{%/if%}
『陸』 php smarty 如何使用模板條件判斷調用不同的文件
smarty判斷應該是用eq吧,很久不用了。
另外你的代碼沒太明白什麼意思,為什麼會有慧襪兩個<{include file="配凳footer.tpl"}>
按你的代碼改了一下,把==換成培碧旅eq。
<{if $k eq 「1」}>
<{$filename=header.tpl}>
<{else}>
<{$filename=header.tpl}>
<{/if>
『柒』 smarty中如何判斷字元串包含另一字元串 - 技術問答
在Smarty的if語句是可大滑余以使用滾滾PHP函數的讓茄, 就用樓上說的的strpos()函數就行[ol][*][/ol]
『捌』 求ckeditor在php_smarty具體用法
$initialValue = '在這里輸入文字';
$inputName = 'ckeditor';
$CKEditor = new CKEditor();
$CKEditor->basePath = '../includes/ckeditor/';
$CKEditor->returnOutput = true;
$neweditor=$CKEditor->editor($inputName, $initialValue);
$smarty->assign('FCKeditor', $neweditor);
if(!empty($_POST)){
echo $_POST["ckeditor"];
}
『玖』 php smarty中,怎麼在模板中判斷變數$str的值是「$%aaa」還是「$%$%aaa」,
<--{if $arr eq "$%aaa"}--><a href="#">這掘纖里可以是要輸出的內容</a>
<--{elseif $arr eq "$%$%aaa"}--><a href="#">另一個條件升襲輸出吵散兄的內容</a>
<--{/if}-->