Drupal Panels/PHP Access 플러그인에 문제가 있습니다.하나의 완벽한 PHP 코드 조각에서 3 개의 "복잡한"PHP 조건 결합
적어도 이제는 최종 스 니펫을 만드는 세 가지 조건을 발견했습니다. 그것의 목적은 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