Add dynamic template system: Implemented header, footer, and section templates with corresponding models, migrations, and Filament resources. Enhanced Page model to support dynamic templates and updated localization files for new terms. Added TemplateService for managing template data and rendering. Comprehensive documentation included for usage and best practices.

This commit is contained in:
Ümit Tunç
2025-10-31 14:53:34 -03:00
parent 0f78292c46
commit c042cb5114
46 changed files with 2709 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
<?php
return [
// Navigation
'navigation_group' => 'Templates',
'navigation_label' => 'Footer Templates',
'model_label' => 'Footer Template',
'plural_model_label' => 'Footer Templates',
// Sections
'section_general' => 'General Information',
// Form Fields
'field_title' => 'Title',
'field_html_content' => 'HTML Content',
'field_html_content_help' => 'Placeholder format: {type.field_name} e.g: {text.copyright}, {richtext.links}, {email.contact}',
'field_is_active' => 'Active',
// Table Columns
'column_title' => 'Title',
'column_is_active' => 'Active',
'column_pages_count' => 'Pages Count',
'column_created_at' => 'Created At',
'column_updated_at' => 'Updated At',
'column_deleted_at' => 'Deleted At',
// Actions
'create' => 'New Footer Template',
'edit' => 'Edit Footer Template',
'view' => 'View Footer Template',
'delete' => 'Delete',
'restore' => 'Restore',
'force_delete' => 'Force Delete',
// Messages
'created_successfully' => 'Footer template created successfully.',
'updated_successfully' => 'Footer template updated successfully.',
'deleted_successfully' => 'Footer template deleted successfully.',
'restored_successfully' => 'Footer template restored successfully.',
];
+41
View File
@@ -0,0 +1,41 @@
<?php
return [
// Navigation
'navigation_group' => 'Templates',
'navigation_label' => 'Header Templates',
'model_label' => 'Header Template',
'plural_model_label' => 'Header Templates',
// Sections
'section_general' => 'General Information',
// Form Fields
'field_title' => 'Title',
'field_html_content' => 'HTML Content',
'field_html_content_help' => 'Placeholder format: {type.field_name} e.g: {text.company_name}, {image.logo}, {email.contact}',
'field_is_active' => 'Active',
// Table Columns
'column_title' => 'Title',
'column_is_active' => 'Active',
'column_pages_count' => 'Pages Count',
'column_created_at' => 'Created At',
'column_updated_at' => 'Updated At',
'column_deleted_at' => 'Deleted At',
// Actions
'create' => 'New Header Template',
'edit' => 'Edit Header Template',
'view' => 'View Header Template',
'delete' => 'Delete',
'restore' => 'Restore',
'force_delete' => 'Force Delete',
// Messages
'created_successfully' => 'Header template created successfully.',
'updated_successfully' => 'Header template updated successfully.',
'deleted_successfully' => 'Header template deleted successfully.',
'restored_successfully' => 'Header template restored successfully.',
];
+16
View File
@@ -147,4 +147,20 @@ return [
'value_type_datetime' => 'Date & Time',
'value_type_array' => 'Array',
'value_type_json' => 'JSON',
// Dynamic Template System
'form_section_header_template' => 'Header Template',
'form_section_header_template_desc' => 'Select a dynamic header template for the top of the page',
'header_template_field' => 'Header Template',
'form_section_template_sections' => 'Template Sections',
'form_section_template_sections_desc' => 'Add dynamic template sections for the page',
'template_sections_field' => 'Template Sections',
'section_template_field' => 'Section Template',
'add_template_section' => 'Add Section',
'template_section' => 'Template Section',
'form_section_footer_template' => 'Footer Template',
'form_section_footer_template_desc' => 'Select a dynamic footer template for the bottom of the page',
'footer_template_field' => 'Footer Template',
];
+40
View File
@@ -0,0 +1,40 @@
<?php
return [
// Navigation
'navigation_group' => 'Templates',
'navigation_label' => 'Section Templates',
'model_label' => 'Section Template',
'plural_model_label' => 'Section Templates',
// Sections
'section_general' => 'General Information',
// Form Fields
'field_title' => 'Title',
'field_html_content' => 'HTML Content',
'field_html_content_help' => 'Placeholder format: {type.field_name} e.g: {text.title}, {richtext.content}, {image.banner}',
'field_is_active' => 'Active',
// Table Columns
'column_title' => 'Title',
'column_is_active' => 'Active',
'column_created_at' => 'Created At',
'column_updated_at' => 'Updated At',
'column_deleted_at' => 'Deleted At',
// Actions
'create' => 'New Section Template',
'edit' => 'Edit Section Template',
'view' => 'View Section Template',
'delete' => 'Delete',
'restore' => 'Restore',
'force_delete' => 'Force Delete',
// Messages
'created_successfully' => 'Section template created successfully.',
'updated_successfully' => 'Section template updated successfully.',
'deleted_successfully' => 'Section template deleted successfully.',
'restored_successfully' => 'Section template restored successfully.',
];