2011-07-16 4 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あなたは正しいです、それは構文エラーではなく、論理に関するものです。私は使用できません| |この場合、私はORと! (演算子を含まない)Thanks – smepie

答えて

7

は、代わりにこれを試してみてください:それはあなたが取得している構文エラー

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

||の代わりに&&を使用すれば十分です。 ... $ contaまたは単に$ conta ...に依存しています...ありがとう – smepie