joaopaulolndev/filament-general-settings

Filament包,用于管理通用设置

v1.0.18 2024-09-16 10:25 UTC

This package is auto-updated.

Last update: 2024-09-16 10:26:34 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

为您的Laravel Filament项目创建快速且易于使用的通用设置。

Screenshot of Application Feature

特性 & 截图

  • 应用:管理系统的通用设置,例如标题、描述和主题颜色。
  • 分析:将Google Analytics跟踪代码添加到系统中。
  • SEO元数据:管理SEO元标签,例如标题、描述和关键词。
  • 电子邮件:管理电子邮件设置,例如SMTP服务器、端口和凭证。
  • 社交媒体网络:管理社交媒体网络链接,例如Facebook、Twitter和Instagram。
  • 支持: Laravel 11Filament 3.x

安装

您可以通过composer安装此包

composer require joaopaulolndev/filament-general-settings

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="filament-general-settings-migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="filament-general-settings-config"

可选,您可以使用以下命令发布视图

php artisan vendor:publish --tag="filament-general-settings-views"

可选,您可以使用以下命令发布翻译

php artisan vendor:publish --tag="filament-general-settings-translations"

可选,您可以使用以下命令发布资源。例如,在默认电子邮件提供者中显示图片。

php artisan vendor:publish --tag="filament-general-settings-assets"

Screenshot of Default Email Providers

这是已发布配置文件的内容

return [
    'show_application_tab' => true,
    'show_analytics_tab' => true,
    'show_seo_tab' => true,
    'show_email_tab' => true,
    'show_social_networks_tab' => true,
    'expiration_cache_config_time' => 60,
];

可选,如果您想添加自定义标签和自定义字段,请参考配置示例,使用键 show_custom_tabscustom_tabs

use Joaopaulolndev\FilamentGeneralSettings\Enums\TypeFieldEnum;

return [
    'show_application_tab' => true,
    'show_analytics_tab' => true,
    'show_seo_tab' => true,
    'show_email_tab' => true,
    'show_social_networks_tab' => true,
    'expiration_cache_config_time' => 60,
    'show_custom_tabs'=> true,
    'custom_tabs' => [
        'more_configs' => [
            'label' => 'More Configs',
            'icon' => 'heroicon-o-plus-circle',
            'columns' => 1,
            'fields' => [
                'custom_field_1' => [
                    'type' => TypeFieldEnum::Text->value,
                    'label' => 'Custom Textfield 1',
                    'placeholder' => 'Custom Field 1',
                    'required' => true,
                    'rules' => 'required|string|max:255',
                ],
                'custom_field_2' => [
                    'type' => TypeFieldEnum::Select->value,
                    'label' => 'Custom Select 2',
                    'placeholder' => 'Select',
                    'required' => true,
                    'options' => [
                        'option_1' => 'Option 1',
                        'option_2' => 'Option 2',
                        'option_3' => 'Option 3',
                    ],
                ],
                'custom_field_3' => [
                    'type' => TypeFieldEnum::Textarea->value,
                    'label' => 'Custom Textarea 3',
                    'placeholder' => 'Textarea',
                    'rows' => '3',
                    'required' => true,
                ],
                'custom_field_4' => [
                    'type' => TypeFieldEnum::Datetime->value,
                    'label' => 'Custom Datetime 4',
                    'placeholder' => 'Datetime',
                    'seconds' => false,
                ],
                'custom_field_5' => [
                    'type' => TypeFieldEnum::Boolean->value,
                    'label' => 'Custom Boolean 5',
                    'placeholder' => 'Boolean'
                ],
            ]
        ],
    ]
];

启用Logo和Favicon功能

要启用应用程序标签内选择Logo和Favicon的功能,您需要以下步骤

  1. 发布迁移文件,将 site_logosite_favicon 字段添加到通用设置表(如果您在此功能之前已安装了包,则执行此操作)
php artisan vendor:publish --tag="filament-general-settings-migrations"
php artisan migrate
  1. 发布配置文件
php artisan vendor:publish --tag="filament-general-settings-config"
  1. 打开已发布的配置文件config/filament-general-settings.php,并将以下键设置为true
return [
    // Other configuration settings...
    'show_logo_and_favicon' => true,
];

用法

在AdminPanelProvider.php中添加

use Joaopaulolndev\FilamentGeneralSettings\FilamentGeneralSettingsPlugin;

...

->plugins([
    FilamentGeneralSettingsPlugin::make()
])

如果您想显示特定参数以排序、图标、标题、导航组、导航标签并可访问,可以使用以下示例

->plugins([
    FilamentGeneralSettingsPlugin::make()
        ->canAccess(fn() => auth()->user()->id === 1)
        ->setSort(3)
        ->setIcon('heroicon-o-cog')
        ->setNavigationGroup('Settings')
        ->setTitle('General Settings')
        ->setNavigationLabel('General Settings'),
    ])

测试

composer test

变更日志

请参阅变更日志,了解最近更改的详细信息。

贡献

请参阅贡献指南,了解详细信息。

安全漏洞

请查看我们的安全策略,了解如何报告安全漏洞。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。