2011-07-16 31 views
0

嗯......你能告訴我,爲什麼這個工程:Smarty的3:如果,良莠不齊的狀況及經營

{if !$conta|contains:"word1" && ($product->id_category_default < 388 || $product->id_category_default > 475)} 

,這不:

{if (!$conta|contains:"word1" || !$conta|contains:"word2") && ($product->id_category_default < 388 || $product->id_category_default > 475)} 

哪裏是語法錯誤?

+0

難道你得到一個語法錯誤?看起來不像。這真的是一個邏輯問題嗎?你真的是指「不包含$ word1」或「不包含$ word2」,因爲它可能有一個或另一個?或者你是否希望將它們排除在外? –

+0

請顯示'$ conta,$ word1,$ word2'的內容 –

+0

@Michael你是對的,這不是語法錯誤,而是邏輯錯誤。我不能使用||在這種情況下,如果我想要或與! (不包含不是操作符)謝謝 – smepie

回答

7

試試這個:

{if !($conta|contains:"word1" || $conta|contains:"word2") && ($product->id_category_default < 388 || $product->id_category_default > 475)} 
+0

它足以使用&&代替||。 ...取決於!$ conta或簡單$ conta ...謝謝 – smepie