質問: この比較チェックがWindowsのボックスで機能しないのはなぜですか? 私はサイトに次のコードを設定しました。私のMac(開発版 - 実行中のライブコードと同じ)では、テンプレートは次のようになります。 ``` {if '{current_path}'=='/'} ... {/if} ``` そして、これはうまく動作します。しかし、実際のバージョンの同じコードは、単にこのif文を通過しません。 `if` 文の値が`/`として表示される前または後にページに `{current_path}` をレンダリングしますが、 `if` の内部にあります。 何が起こっているかについての手がかりは? 考慮事項:ライブサーバーはWindowsボックスです。
回答: これはバグのように見えます。おそらく環境間で異なるPHPに関連するものでしょう。バージョン2.9以降、EECMSは条件付きの評価方法を変更します。だからこのバグはおそらく消えています。 条件式は常に次の構文を使用する必要があります。 ``` {if current_path == "/"} ... {/if} ``` しかし、 `{current_path}` は解析段階の終わりに解析されます。この条件は、すべてのモジュールとプラグインが実行された後に評価されます。 単に `{segment_1}` を確認するだけではどうですか? ``` {if segment_1 == ""} ... {/if} ```