私はDrupal Panels/PHP Accessプラグインに固執しています。1つの完璧なPHPスニペットで3つの "複雑な" PHP条件を結合
少なくとも、私は最後のスニペットを作成するための3つの条件を見つけました。その目的はTRUEを返すことです。 "condition1がTRUE"の場合、または "condition2がTRUE"の場合、または "condition3がTRUE"の場合。私は似たような質問をたくさん見つけましたが、最後の条件では、これを行う正しい方法を見つけるためにここに投稿するよう強制します。
条件1:
// At least $view1->result has result.
$view1 = views_get_view('sp_onglet_videos');
$view1->set_display('views-tab-embed_1');
$output1 = $view1->preview();
if ($view1->result) {
return TRUE;
}
条件2(同じもの):
// At least $view2->result has result.
$view2 = views_get_view('sp_onglet_audio');
$view2->set_display('views-tab-default');
$output2 = $view2->preview();
if ($view2->result) {
return TRUE;
}
条件3は、より複雑です:
// Checks for content in the field field_txt_videos.
if (isset($contexts['argument_nid_1']->data-> field_txt_videos)) {
$field = $contexts['argument_nid_1']->data-> field_txt_videos;
if (is_null($field)) {
return FALSE;
}
if (is_array($field)) {
foreach ($field as $key => $val) {
if (is_array($val)) {
$field[$key] = array_filter($val);
}
}
$field = array_filter($field);
return count($field);
}
if (is_string($field) && trim($field) == '') {
return FALSE;
}
if ($field) {
return TRUE;
}
return FALSE;
}
私はきれいな何かを持っているしたいと思います(と機能的):
if ($view1->result && $view2->result && $field) {
return TRUE;
}
しかし、それは私のPHP知識にとっては難しいことです。少し助けが必要です!
このように、私はこの "if"、 "return"などで失われています。私は見つけようとします。これを行う方法。 – elektrorl
私は自分の答えを修正しました。あなたは3番目の条件からfunctiomを作るべきです。 – Bytemain