2017-03-06 9 views
0

私は、カスタムページのテキスト(front.tpl.phpファイル)を持っています。 PHPのif文でこれを囲みたいので、私のサイトの役割のうちの2つにしか表示されません。私は以下を持っていますが、それは "クライアント"の役割のためだけに表示されますが、私は "コンサルタント"の役割のためにそれを表示したいと思います。彼らは配列として渡された場合特定のロールを持つユーザーのテキストを表示する

<?php if (in_array('client', $GLOBALS['user']->roles)):?> 

クライアントプロファイル

答えて

0

in_array機能は、複数の検索パラメータを受け入れる必要があります。だから、のようなものでなければなりません:それは働いていない(とそれが必要)場合

<?php if (in_array(array('client','consultants'), $GLOBALS['user']->roles)):?> 

しかし、あなたは常に使用することができますか、文:

<?php if (in_array('client', $GLOBALS['user']->roles) || in_array('consultants', $GLOBALS['user']->roles)):?> 

更新:in_array()を受け入れることができないようです最初の(針)パラメータの配列。スタックオーバーフローで、このスレッドをチェックアウト:

Checking to see if one array's elements are in another array in PHP

のでarray_intersect()機能は、あなたが探しているものでなければなりません。

+0

こんにちは、ミラノは返信をありがとう。残念なことに、最初のオプションは機能しませんでした。私は第2のものを試しました、そしてそれはトリッキーなことをするようです。しかし、私は、ユーザーの役割の広い範囲のテキストを表示する必要がある場合、それはかなり長くなるかもしれません。 – Salmon

+0

私の答えを更新しました。 – MilanG

関連する問題