Travel Guide Frontend Backend

This commit is contained in:
Kevin Adametz 2020-08-07 16:00:55 +02:00
parent e6cc042aee
commit 0857a34766
681 changed files with 6680 additions and 1689 deletions

View file

@ -56,6 +56,7 @@ class CMSContentController extends Controller
if($tree_node){
$lvl ++;
$ret['title'] = $tree_node->title;
$ret['country_id'] = null;
$ret['description'] = $tree_node->description;;
$url = $url."/".$tree_node->identifier;
$ret['bread_crumb'][$lvl] = [
@ -63,6 +64,7 @@ class CMSContentController extends Controller
'url' => $url,
];
$ret['nodes'][$lvl] = $tree_node->toArray();
$ret['nodes_active'] = $tree_node->toArray();
}else{
return response()->json(['error' => 'no-node'], $this->successStatus);
}
@ -73,30 +75,54 @@ class CMSContentController extends Controller
if($tree_node->iq_content_sites->count()){
foreach ($tree_node->iq_content_sites as $iq_content_site){
if(isset($iq_content_site->travel_guide) && $iq_content_site->travel_guide && $iq_content_site->travel_guide->active){
$key = ($iq_content_site->travel_guide->scope -1) *-1;
$ret['sites'][$key] = $iq_content_site->travel_guide->toArray();
/*if(!$travel_guide){
//$travel_guide = $iq_content_site->travel_guide;
}*/
if($iq_content_site->travel_guide->country_id !== null){
$ret['country_id'] = $iq_content_site->travel_guide->country_id;
}
//$key = ($iq_content_site->travel_guide->scope -1) *-1;
//$ret['sites'][$key] = $iq_content_site->travel_guide->toArray();
if($iq_content_site->identifier){
$ret['sites'][$iq_content_site->identifier] = [
'name' => $iq_content_site->travel_guide->name,
'full_text' => $iq_content_site->travel_guide->full_text
];
if($iq_content_site->travel_guide->author){
$ret['sites'][$iq_content_site->identifier]['author_name'] = $iq_content_site->travel_guide->author->name;
$ret['sites'][$iq_content_site->identifier]['author_description'] = $iq_content_site->travel_guide->author->description;
}
}
}
}
if(isset($ret['sites'])){
ksort($ret['sites']);
$ret['sites'] = array_values($ret['sites']);
}
//faq
if($tree_node->iq_content_faqs->count()){
foreach ($tree_node->iq_content_faqs as $iq_content_faq){
if($iq_content_faq->answer_question && $iq_content_faq->answer_question->active){
$ret['faqs'][] = [
'id' => $iq_content_faq->answer_question->id,
'question' => $iq_content_faq->answer_question->question,
'answer_text' => $iq_content_faq->answer_question->answer_text
];
}
}
}
//children
if($tree_node->iq_content_tree_node_childs->count()){
foreach ($tree_node->iq_content_tree_node_childs as $iq_content_tree_node_child){
if($iq_content_tree_node_child->active){
$travel_guide = $iq_content_tree_node_child->iq_content_site_first();
$description = $iq_content_tree_node_child->description;
if(!$description){
$description = $travel_guide ? $travel_guide->meta_description : '';
}
$ret['children'][] = [
'name' => $iq_content_tree_node_child->name,
'identifier' => $iq_content_tree_node_child->identifier,
'url' => "/".$iq_content_tree_node_child->getUri(),
'box_image_url' => $travel_guide ? $travel_guide->box_image_url : '',
'description' => $travel_guide ? $travel_guide->meta_description : '',
'box_image_url' => isset($iq_content_tree_node_child->image['thumb_url']) ? $iq_content_tree_node_child->image['thumb_url'] : '',
'description' => $description,
'active' => $travel_guide ? $travel_guide->active : false,
];
}