From 92914a224063e03b8e8c7732a30dd93451bced68 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 19 Dec 2022 20:27:54 +0000 Subject: [PATCH] from server 20.12 --- .../api/CategoriesV2Controller.php | 5 +- .../controllers/api/MediaController.php | 50 +++++++++++++++++++ plugins/ahmadfatoni/apigenerator/routes.php | 1 + .../blog/models/categorygroup/fields.yaml | 1 - themes/modern2/layouts/new/master-inside.htm | 3 ++ themes/modern2/meta/menus/event_menu.yaml | 2 +- themes/modern2/pages/new/newPost.htm | 26 +++++++++- themes/modern2/partials/newMenu/menu.htm | 3 -- 8 files changed, 83 insertions(+), 8 deletions(-) create mode 100644 plugins/ahmadfatoni/apigenerator/controllers/api/MediaController.php diff --git a/plugins/ahmadfatoni/apigenerator/controllers/api/CategoriesV2Controller.php b/plugins/ahmadfatoni/apigenerator/controllers/api/CategoriesV2Controller.php index c7e8228e3..60cd6d6fb 100644 --- a/plugins/ahmadfatoni/apigenerator/controllers/api/CategoriesV2Controller.php +++ b/plugins/ahmadfatoni/apigenerator/controllers/api/CategoriesV2Controller.php @@ -31,8 +31,9 @@ class CategoriesV2Controller extends Controller ->with(['translations:model_id,locale,attribute_data']) ->with(['category_items' => function($query) { $query - ->select('rainlab_blog_categories.id', 'rainlab_blog_categories.name', 'rainlab_blog_categories.slug') - ->with(['translations:model_id,locale,attribute_data']); + ->select('rainlab_blog_categories.id', 'rainlab_blog_categories.name', 'rainlab_blog_categories.slug', 'rainlab_blog_category_pivot.order') + ->with(['translations:model_id,locale,attribute_data']) + ->orderBy('rainlab_blog_category_pivot.order', 'ASC'); }]) ->get(); diff --git a/plugins/ahmadfatoni/apigenerator/controllers/api/MediaController.php b/plugins/ahmadfatoni/apigenerator/controllers/api/MediaController.php new file mode 100644 index 000000000..d5ffa2a13 --- /dev/null +++ b/plugins/ahmadfatoni/apigenerator/controllers/api/MediaController.php @@ -0,0 +1,50 @@ +Media = $Media; + $this->helpers = $helpers; + } + + public function index(){ + $path = Config::get('app.cdn').Config::get('cms.storage.media.path'); + + $type = input('type'); + $data = $this->Media::where('type', $type) + ->with(['translations:model_id,locale,attribute_data']) + ->paginate(15); + + $data->getCollection()->transform(function ($value) use ($path) { + $value->poster_file = $path.$value->poster_file; + $mediaArray = []; + for($i=0; $i < count($value->media_file); $i++){ + $mediaArray[$i] = $value->media_file[$i]; + $mediaArray[$i]['media']=$path.$value->media_file[$i]['media']; + } + $value->media_file = $mediaArray; + return $value; + }); + //dd($data->getItems()); + + + return $this->helpers->apiArrayResponseBuilder(200, 'success', $data); + } + + +} diff --git a/plugins/ahmadfatoni/apigenerator/routes.php b/plugins/ahmadfatoni/apigenerator/routes.php index 9f1e244b2..82c3bf3e6 100644 --- a/plugins/ahmadfatoni/apigenerator/routes.php +++ b/plugins/ahmadfatoni/apigenerator/routes.php @@ -10,6 +10,7 @@ Route::resource('{locale}/api/posts', 'AhmadFatoni\ApiGenerator\Controllers\API\ Route::get('api/v2/categories', 'AhmadFatoni\ApiGenerator\Controllers\API\CategoriesV2Controller@index'); +Route::get('api/v2/media', 'AhmadFatoni\ApiGenerator\Controllers\API\MediaController@index'); //Route::get('api/v2/afisha', 'AhmadFatoni\ApiGenerator\Controllers\API\AfishaController@index'); Route::resource('api/v2/afisha', 'AhmadFatoni\ApiGenerator\Controllers\API\AfishaController', ['except' => ['destroy', 'create', 'edit']]); diff --git a/plugins/rainlab/blog/models/categorygroup/fields.yaml b/plugins/rainlab/blog/models/categorygroup/fields.yaml index 504fca12c..1a40c19a0 100644 --- a/plugins/rainlab/blog/models/categorygroup/fields.yaml +++ b/plugins/rainlab/blog/models/categorygroup/fields.yaml @@ -13,7 +13,6 @@ fields: span: auto options: news: news - media: media event: event afisha: afisha article: article diff --git a/themes/modern2/layouts/new/master-inside.htm b/themes/modern2/layouts/new/master-inside.htm index bc2dd4e47..0fd55f543 100644 --- a/themes/modern2/layouts/new/master-inside.htm +++ b/themes/modern2/layouts/new/master-inside.htm @@ -5,6 +5,9 @@ forceUrl = 1 code = "samsung" type = "slider" random = 0 + +[staticMenu] +code = "new-top-menui" == diff --git a/themes/modern2/meta/menus/event_menu.yaml b/themes/modern2/meta/menus/event_menu.yaml index 7cd609894..37d6b2275 100644 --- a/themes/modern2/meta/menus/event_menu.yaml +++ b/themes/modern2/meta/menus/event_menu.yaml @@ -12,7 +12,7 @@ items: tm: title: '' url: '' - isHidden: '1' + isHidden: '0' cssClass: '' isExternal: '0' name: event_menu diff --git a/themes/modern2/pages/new/newPost.htm b/themes/modern2/pages/new/newPost.htm index 3481f5035..9277f52c3 100644 --- a/themes/modern2/pages/new/newPost.htm +++ b/themes/modern2/pages/new/newPost.htm @@ -11,7 +11,31 @@ slug = "{{ :slug }}" [blogPost] slug = "{{ :slug }}" id = "{{ :id }}" -categoryPage = "blog/category" +categoryPage = 404 +== +page->blogPost); + + $postId = $this->param('id'); + $currentPost = RainLab\Blog\Models\Post::where('id', $postId)->with(['category_groups'])->first(); + + if($this->menuItems && $postId && $currentPost && $currentPost->category_groups){ + + $currentGroup = $currentPost->category_groups[0]->name; + + foreach ($this->menuItems as $menu){ + //dump($menu->title); + + if($menu->title === $currentGroup){ + $menu->isActive = true; + break; + } + + } + } +} +?> == {% put styles %} diff --git a/themes/modern2/partials/newMenu/menu.htm b/themes/modern2/partials/newMenu/menu.htm index 98272ccb5..c9963ba2c 100644 --- a/themes/modern2/partials/newMenu/menu.htm +++ b/themes/modern2/partials/newMenu/menu.htm @@ -1,8 +1,5 @@ [viewBag] -[staticMenu] -code = "new-top-menui" - [staticMenu staticMenu2] code = "event_menu" ==