diff --git a/plugins/ahmadfatoni/apigenerator/controllers/api/CategoriesV2Controller.php b/plugins/ahmadfatoni/apigenerator/controllers/api/CategoriesV2Controller.php index b63abea23..a4930ebff 100644 --- a/plugins/ahmadfatoni/apigenerator/controllers/api/CategoriesV2Controller.php +++ b/plugins/ahmadfatoni/apigenerator/controllers/api/CategoriesV2Controller.php @@ -27,7 +27,7 @@ class CategoriesV2Controller extends Controller public function index(){ - $data = $this->CategoryGroup::select('id','name','type_post', 'media', 'event', 'note') + $data = $this->CategoryGroup::select('id','name','type', 'note') ->with(['translations:model_id,locale,attribute_data']) ->with(['category_items' => function($query) { $query diff --git a/plugins/ahmadfatoni/apigenerator/controllers/api/postsController.php b/plugins/ahmadfatoni/apigenerator/controllers/api/postsController.php index 6e72636ba..38938fa3e 100644 --- a/plugins/ahmadfatoni/apigenerator/controllers/api/postsController.php +++ b/plugins/ahmadfatoni/apigenerator/controllers/api/postsController.php @@ -34,6 +34,7 @@ class postsController extends Controller 'typePost' => input('typePost'), 'group' => input('group'), 'published' => true, + 'featured' => input('featured'), 'select' => ['id','title','slug','published_at',DB::raw("IF(featured_image<>'',concat('$path',featured_image),featured_image) as main_image")] ]); diff --git a/plugins/rainlab/blog/models/Post.php b/plugins/rainlab/blog/models/Post.php index 0a7610f6e..0c8179884 100644 --- a/plugins/rainlab/blog/models/Post.php +++ b/plugins/rainlab/blog/models/Post.php @@ -170,20 +170,26 @@ class Post extends Model public function filterFields($fields, $context = null) { - if($this->category_groups->count()){ - // \Log::info($this->getActiveCategoriesOptions()); - - // $datas = $this->category_groups; - - // for ($i = 0; $i < count($datas); $i++) { - // \Log::info($datas[$i]->name); - // } - // $fields->active_categories->value = $this->getActiveCategoriesOptions(); - // \Log::info($this->active_categories); + if($this->category_groups->where('type', 'news')->count()){ + $fields->type_post->hidden = false; }else{ $fields->type_post->hidden = true; } + if($this->category_groups->where('type', 'media')->count()){ + $fields->video_file->hidden = false; + }else{ + $fields->video_file->hidden = true; + } + + if($this->category_groups->where('type', 'afisha')->count()){ + $fields->afisha_phone->hidden = false; + $fields->afisha_address->hidden = false; + }else{ + $fields->afisha_phone->hidden = true; + $fields->afisha_address->hidden = true; + } + if(isset($fields->locale)){ if($this->locale == 'en') { diff --git a/plugins/rainlab/blog/models/categorygroup/columns.yaml b/plugins/rainlab/blog/models/categorygroup/columns.yaml index 80ffef671..941fa298c 100644 --- a/plugins/rainlab/blog/models/categorygroup/columns.yaml +++ b/plugins/rainlab/blog/models/categorygroup/columns.yaml @@ -8,22 +8,19 @@ columns: label: name type: text searchable: true - # invisible: true sortable: true note: label: note type: text searchable: true - # invisible: true sortable: true created_at: label: 'Created At' type: text searchable: true - # invisible: true sortable: true - type_post: - label: Tm/World - type: switch - # invisible: true + type: + label: Type + type: text + searchable: true sortable: true diff --git a/plugins/rainlab/blog/models/categorygroup/fields.yaml b/plugins/rainlab/blog/models/categorygroup/fields.yaml index 93bde7521..504fca12c 100644 --- a/plugins/rainlab/blog/models/categorygroup/fields.yaml +++ b/plugins/rainlab/blog/models/categorygroup/fields.yaml @@ -8,18 +8,16 @@ fields: span: auto preset: name type: text - type_post: - label: (turkmenistan/world) + type: + label: 'Group Type' span: auto - type: switch - media: - label: Media - span: auto - type: switch - event: - label: Event - span: auto - type: switch + options: + news: news + media: media + event: event + afisha: afisha + article: article + type: balloon-selector tabs: fields: category_items: diff --git a/plugins/rainlab/blog/models/post/fields.yaml b/plugins/rainlab/blog/models/post/fields.yaml index 5f0164aa5..3bd61b481 100644 --- a/plugins/rainlab/blog/models/post/fields.yaml +++ b/plugins/rainlab/blog/models/post/fields.yaml @@ -61,9 +61,10 @@ secondaryTabs: type: text tab: 'rainlab.blog::lang.post.tab_manage' featured: - label: Featured + label: 'показать в слайдере на главной странице' span: auto type: checkbox + comment: 'не отмечать если не нужно выставлять на слайдере' tab: 'rainlab.blog::lang.post.tab_manage' published_at: tab: 'rainlab.blog::lang.post.tab_manage' @@ -110,16 +111,31 @@ secondaryTabs: path: field_category_group_item type: partial tab: 'Category Group' - # active_categories: - # tab: 'Category Group' - # type: relation - # dependsOn: category_groups - # commentAbove: 'rainlab.blog::lang.post.categories_comment' - # placeholder: 'rainlab.blog::lang.post.categories_placeholder' - # span: auto categories: tab: 'Category Group' type: checkboxlist dependsOn: category_groups options: getActiveCategoriesOptions span: auto + afisha_phone: + label: Afisha + span: left + hidden: 1 + type: text + dependsOn: category_groups + tab: 'Category Group' + afisha_address: + label: 'Afisha Address' + span: left + hidden: 1 + type: text + dependsOn: category_groups + tab: 'Category Group' + video_file: + label: 'Video File' + span: left + mode: file + hidden: 1 + type: mediafinder + dependsOn: category_groups + tab: 'Category Group' diff --git a/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_category_group_6.php b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_category_group_6.php new file mode 100644 index 000000000..6ec402a86 --- /dev/null +++ b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_category_group_6.php @@ -0,0 +1,23 @@ +boolean('is_afisha')->nullable()->default(0); + }); + } + + public function down() + { + Schema::table('rainlab_blog_category_group', function($table) + { + $table->dropColumn('is_afisha'); + }); + } +} diff --git a/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_category_group_7.php b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_category_group_7.php new file mode 100644 index 000000000..309dbf105 --- /dev/null +++ b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_category_group_7.php @@ -0,0 +1,23 @@ +string('type')->nullable(); + }); + } + + public function down() + { + Schema::table('rainlab_blog_category_group', function($table) + { + $table->dropColumn('type'); + }); + } +} diff --git a/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_category_group_8.php b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_category_group_8.php new file mode 100644 index 000000000..2b149f6d8 --- /dev/null +++ b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_category_group_8.php @@ -0,0 +1,29 @@ +dropColumn('type_post'); + $table->dropColumn('media'); + $table->dropColumn('event'); + $table->dropColumn('is_afisha'); + }); + } + + public function down() + { + Schema::table('rainlab_blog_category_group', function($table) + { + $table->boolean('type_post')->nullable()->default(0); + $table->boolean('media')->nullable()->default(0); + $table->boolean('event')->nullable()->default(0); + $table->boolean('is_afisha')->nullable()->default(0); + }); + } +} diff --git a/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_posts_7.php b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_posts_7.php new file mode 100644 index 000000000..757022cd9 --- /dev/null +++ b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_posts_7.php @@ -0,0 +1,25 @@ +string('afisha_phone')->nullable(); + $table->text('afisha_address')->nullable(); + }); + } + + public function down() + { + Schema::table('rainlab_blog_posts', function($table) + { + $table->dropColumn('afisha_phone'); + $table->dropColumn('afisha_address'); + }); + } +} diff --git a/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_posts_8.php b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_posts_8.php new file mode 100644 index 000000000..9c1a904bb --- /dev/null +++ b/plugins/rainlab/blog/updates/builder_table_update_rainlab_blog_posts_8.php @@ -0,0 +1,23 @@ +text('video_file')->nullable(); + }); + } + + public function down() + { + Schema::table('rainlab_blog_posts', function($table) + { + $table->dropColumn('video_file'); + }); + } +} diff --git a/plugins/rainlab/blog/updates/version.yaml b/plugins/rainlab/blog/updates/version.yaml index d0c917df5..bf590ba7a 100644 --- a/plugins/rainlab/blog/updates/version.yaml +++ b/plugins/rainlab/blog/updates/version.yaml @@ -129,3 +129,18 @@ 1.5.23: - 'Updated table rainlab_blog_category_group' - builder_table_update_rainlab_blog_category_group_5.php +1.5.24: + - 'Updated table rainlab_blog_posts' + - builder_table_update_rainlab_blog_posts_7.php +1.5.25: + - 'Updated table rainlab_blog_category_group' + - builder_table_update_rainlab_blog_category_group_6.php +1.5.26: + - 'Updated table rainlab_blog_category_group' + - builder_table_update_rainlab_blog_category_group_7.php +1.5.27: + - 'Updated table rainlab_blog_category_group' + - builder_table_update_rainlab_blog_category_group_8.php +1.5.28: + - 'Updated table rainlab_blog_posts' + - builder_table_update_rainlab_blog_posts_8.php diff --git a/themes/modern2/meta/menus/new-top-menui.yaml b/themes/modern2/meta/menus/new-top-menui.yaml index 8356e1d0c..845d4706f 100644 --- a/themes/modern2/meta/menus/new-top-menui.yaml +++ b/themes/modern2/meta/menus/new-top-menui.yaml @@ -1,18 +1,14 @@ items: - title: Новости - nesting: 0 - type: blog-category - url: null + type: url + url: /ru/new/posts/news code: '' - reference: '9' - cmsPage: new/category - replace: 0 viewBag: locale: en: title: '' - url: '' + url: /en tm: title: '' url: '' @@ -22,13 +18,9 @@ items: items: - title: События - nesting: 0 - type: blog-category - url: null + type: url + url: /ru/new/posts/news/events code: '' - reference: '9' - cmsPage: new/category - replace: 0 viewBag: locale: en: @@ -42,12 +34,9 @@ items: isExternal: '0' - title: Watan - nesting: 0 - type: blog-category + type: url + url: /ru/new/posts/news/watan code: '' - reference: '804' - cmsPage: new/category - replace: 0 viewBag: locale: en: @@ -61,12 +50,13 @@ items: isExternal: '0' - title: Экономика - nesting: 0 - type: blog-category + nesting: null + type: url + url: /new/group/news/economy code: '' - reference: '5' - cmsPage: new/category - replace: 0 + reference: null + cmsPage: null + replace: null viewBag: locale: en: @@ -80,12 +70,13 @@ items: isExternal: '0' - title: Общество - nesting: 0 - type: blog-category + nesting: null + type: url + url: /new/group/news/society code: '' - reference: '12' - cmsPage: new/category - replace: 0 + reference: null + cmsPage: null + replace: null viewBag: locale: en: @@ -99,13 +90,9 @@ items: isExternal: '0' - title: Статьи - nesting: 0 - type: blog-category - url: null + type: url + url: /ru/new/posts/stati code: '' - reference: '5' - cmsPage: new/category - replace: 0 viewBag: locale: en: @@ -120,13 +107,9 @@ items: items: - title: Экономика - nesting: null - type: category-blog-posts - url: null + type: url + url: /ru/new/posts/stati/economy code: '' - reference: '5' - cmsPage: new/newPost - replace: 0 viewBag: locale: en: @@ -160,13 +143,9 @@ items: isExternal: '0' - title: Технологии - nesting: null - type: category-blog-posts - url: null + type: url + url: /ru/new/posts/stati/technology code: '' - reference: '11' - cmsPage: new/newPost - replace: 0 viewBag: locale: en: diff --git a/themes/modern2/pages/new/group.htm b/themes/modern2/pages/new/group.htm new file mode 100644 index 000000000..03d4008c5 --- /dev/null +++ b/themes/modern2/pages/new/group.htm @@ -0,0 +1,51 @@ +title = "new/group/category" +url = "/new/posts/:group/:slug?" +layout = "new/master-inside" +is_hidden = 0 +robot_index = "index" +robot_follow = "follow" + +[blogPosts] +pageNumber = "{{ :page }}" +categoryFilter = "{{ :slug }}" +postsPerPage = 10 +noPostsMessage = "No posts found" +sortOrder = "published_at desc" +categoryPage = "new/category" +postPage = "new/newPost" +== +param('group'); + +} +?> +== + +
+
+
+ + + +
+ + {% for post in blogPosts.posts %} + {% partial 'new/post_list_item' post = post %} + {% else %} +

No posts found

+ {% endfor %} + +
+ + {% partial 'new/pagination' items = blogPosts.posts %} + + +
+
+
\ No newline at end of file diff --git a/themes/modern2/partials/header.htm b/themes/modern2/partials/header.htm index 57567f764..92037fe3e 100644 --- a/themes/modern2/partials/header.htm +++ b/themes/modern2/partials/header.htm @@ -115,7 +115,7 @@ code = "top-menu" {% if not item.isHidden and item.items|length %} -