Add Blog module to Citrus Platform: Created Blog resource with CRUD pages, schemas, and models. Implemented localization for English and Turkish, ensuring consistent user experience. Added migrations for blog categories, posts, and comments, including soft delete functionality. Enhanced table and form structures for better organization and usability.
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Blog Posts',
|
||||
'navigation_label' => 'Blog',
|
||||
'model_label' => 'Blog Post',
|
||||
'plural_model_label' => 'Blog Posts',
|
||||
|
||||
// Actions
|
||||
'create' => 'Create New Blog Post',
|
||||
'edit' => 'Edit Blog Post',
|
||||
'delete' => 'Delete Blog Post',
|
||||
'restore' => 'Restore Blog Post',
|
||||
'force_delete' => 'Force Delete',
|
||||
|
||||
// Form fields
|
||||
'title_field' => 'Title',
|
||||
'slug_field' => 'URL Slug',
|
||||
'content_field' => 'Content',
|
||||
'excerpt_field' => 'Excerpt',
|
||||
'meta_title_field' => 'Meta Title',
|
||||
'meta_description_field' => 'Meta Description',
|
||||
'status_field' => 'Status',
|
||||
'featured_image_field' => 'Featured Image',
|
||||
'published_at_field' => 'Published At',
|
||||
'author_field' => 'Author',
|
||||
'category_field' => 'Category',
|
||||
'tags_field' => 'Tags',
|
||||
'view_count_field' => 'View Count',
|
||||
'is_featured_field' => 'Featured',
|
||||
'allow_comments_field' => 'Allow Comments',
|
||||
|
||||
// Sections
|
||||
'content_section' => 'Content',
|
||||
'settings_section' => 'Blog Settings',
|
||||
'seo_section' => 'SEO Settings',
|
||||
|
||||
// Helper texts
|
||||
'slug_helper' => 'The part that will appear in the URL. Example: blog-post',
|
||||
'excerpt_helper' => 'Blog post excerpt (maximum 500 characters)',
|
||||
'featured_image_helper' => 'Select a featured image for the blog post',
|
||||
'category_helper' => 'Assign the blog post to a category',
|
||||
'tags_helper' => 'Add tags for the blog post',
|
||||
'published_at_helper' => 'If left blank, current date will be used',
|
||||
'is_featured_helper' => 'Mark this blog post as featured',
|
||||
'allow_comments_helper' => 'Allow comments on this blog post',
|
||||
'meta_title_helper' => 'Title for search engines (maximum 60 characters)',
|
||||
'meta_description_helper' => 'Description for search engines (maximum 160 characters)',
|
||||
|
||||
// Status options
|
||||
'status_draft' => 'Draft',
|
||||
'status_published' => 'Published',
|
||||
'status_archived' => 'Archived',
|
||||
|
||||
// Messages
|
||||
'created_successfully' => 'Blog post created successfully.',
|
||||
'updated_successfully' => 'Blog post updated successfully.',
|
||||
'deleted_successfully' => 'Blog post deleted successfully.',
|
||||
'restored_successfully' => 'Blog post restored successfully.',
|
||||
|
||||
// Table columns
|
||||
'table_title' => 'Title',
|
||||
'table_slug' => 'URL Slug',
|
||||
'table_status' => 'Status',
|
||||
'table_author' => 'Author',
|
||||
'table_category' => 'Category',
|
||||
'table_published_at' => 'Published At',
|
||||
'table_view_count' => 'Views',
|
||||
'table_created_at' => 'Created At',
|
||||
'table_updated_at' => 'Updated At',
|
||||
|
||||
// Validation messages
|
||||
'title_required' => 'Title field is required.',
|
||||
'slug_required' => 'URL slug field is required.',
|
||||
'slug_unique' => 'This URL slug is already in use.',
|
||||
'content_required' => 'Content field is required.',
|
||||
'author_required' => 'Author field is required.',
|
||||
];
|
||||
+56
-5
@@ -22,6 +22,40 @@ return [
|
||||
'status_field' => 'Status',
|
||||
'published_at_field' => 'Published At',
|
||||
|
||||
// Form sections
|
||||
'form_section_content' => 'Content',
|
||||
'form_section_page_settings' => 'Page Settings',
|
||||
'form_section_seo_settings' => 'SEO Settings',
|
||||
|
||||
// Form fields
|
||||
'title_field' => 'Title',
|
||||
'slug_field' => 'URL Slug',
|
||||
'content_field' => 'Content',
|
||||
'excerpt_field' => 'Excerpt',
|
||||
'featured_image_field' => 'Featured Image',
|
||||
'author_field' => 'Author',
|
||||
'published_at_field' => 'Published At',
|
||||
'status_field' => 'Status',
|
||||
'parent_field' => 'Parent Page',
|
||||
'template_field' => 'Template',
|
||||
'sort_order_field' => 'Sort Order',
|
||||
'is_homepage_field' => 'Homepage',
|
||||
'show_in_menu_field' => 'Show in Menu',
|
||||
'meta_title_field' => 'Meta Title',
|
||||
'meta_description_field' => 'Meta Description',
|
||||
|
||||
// Helper texts
|
||||
'slug_helper_text' => 'The part that will appear in the URL. Example: about-us',
|
||||
'excerpt_helper_text' => 'Page excerpt (maximum 500 characters)',
|
||||
'featured_image_helper_text' => 'Select a featured image for the page',
|
||||
'published_at_helper_text' => 'If left empty, current date will be used',
|
||||
'parent_helper_text' => 'Select to make this page a sub-page of another page',
|
||||
'sort_order_helper_text' => 'Display order in menu',
|
||||
'is_homepage_helper_text' => 'Set this page as the homepage',
|
||||
'show_in_menu_helper_text' => 'Should this page be shown in menu?',
|
||||
'meta_title_helper_text' => 'Title for search engines (maximum 60 characters)',
|
||||
'meta_description_helper_text' => 'Description for search engines (maximum 160 characters)',
|
||||
|
||||
// Status options
|
||||
'status_draft' => 'Draft',
|
||||
'status_published' => 'Published',
|
||||
@@ -34,11 +68,28 @@ return [
|
||||
'restored_successfully' => 'Page restored successfully.',
|
||||
|
||||
// Table columns
|
||||
'table_title' => 'Title',
|
||||
'table_slug' => 'URL Slug',
|
||||
'table_status' => 'Status',
|
||||
'table_created_at' => 'Created At',
|
||||
'table_updated_at' => 'Updated At',
|
||||
'table_column_featured_image' => 'Featured Image',
|
||||
'table_column_title' => 'Title',
|
||||
'table_column_slug' => 'URL Slug',
|
||||
'table_column_status' => 'Status',
|
||||
'table_column_author' => 'Author',
|
||||
'table_column_published_at' => 'Published At',
|
||||
'table_column_parent' => 'Parent Page',
|
||||
'table_column_template' => 'Template',
|
||||
'table_column_is_homepage' => 'Homepage',
|
||||
'table_column_show_in_menu' => 'Show in Menu',
|
||||
'table_column_sort_order' => 'Sort Order',
|
||||
'table_column_created_at' => 'Created At',
|
||||
'table_column_updated_at' => 'Updated At',
|
||||
|
||||
// Template options
|
||||
'template_default' => 'Default',
|
||||
'template_landing' => 'Landing Page',
|
||||
'template_blog' => 'Blog',
|
||||
'template_contact' => 'Contact',
|
||||
|
||||
// Copy message
|
||||
'copy_url_message' => 'URL copied',
|
||||
|
||||
// Validation messages
|
||||
'title_required' => 'The title field is required.',
|
||||
|
||||
Reference in New Issue
Block a user