定制 egg2-code-labs/filament-typo3 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

egg2-code-labs/filament-typo3

最新稳定版本:1.0.3

Composer 安装命令:

composer require egg2-code-labs/filament-typo3

包简介

Bring some Typo3 functions to Filament PHP.

README 文档

README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

filament-typo3 bundles some functionality known from TYPO3 into a Filament PHP plugin. Features include the TYPO3 entry access tab, SEO tab and pages tree view.

Installation

You can install the package via composer:

composer require egg2-code-labs/filament-typo3

TYPO3 Access Tab

The TYPO3 Access Tab feature consists of multiple parts:

  1. Migration helpers
  2. Filament component
  3. Query scope

Make use of the migration helpers to get all the required fields:

public function up(): void
{
    Schema::create('pages', function (Blueprint $table) {
        //
        $table->typo3Sorting();
        $table->typo3Access();
        //
    });
}

Then, in your filament resource add the form component:

use Egg2CodeLabs\FilamentTypo3\Forms\Components\Enums\Typo3AccessTabFieldsEnum;

public static function form(Form $form): Form
{
    return $form
        ->schema([
            Tabs::make('Tabs')
                ->tabs([
                    Typo3AccessTab::make()
                        ->exclude([ // disable the nav_hide field, because the resources does not use it
                            Typo3AccessTabFieldsEnum::NAV_HIDE,
                        ])
                ])
        ]);
}

And finally add the query scope to all the necessary models:

use Egg2CodeLabs\FilamentTypo3\Scopes\Typo3AccessScope;

protected static function booted(): void
{
    static::addGlobalScope(new Typo3AccessScope());
}

Factories

Laravel factories support state manipulation methods to allow for discrete modifications. The Typo3FactoryStatesTrait provides an easy way to get a few simple modifications going. Add this trait to your factory classes.

Available methods

Typo3FactoryStatesTrait::published()

This method creates a non-hidden, non-time-constrained element.

Typo3FactoryStatesTrait::hiddenInNav()

This method creates an element that is hidden in the navigation.

Typo3FactoryStatesTrait::expired()

This method creates non-hidden, time-constrained element, which has an endtime one week before now().

Typo3FactoryStatesTrait::scheduled()

This method creates non-hidden, time-constrained element, which has a starttime one week after now().

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Feel free to contribute by writing tests, fixing bugs, reporting bugs or whatever other way of contribution you come up with. Just create a pull request or issue and I'll do my best to reply fast.

Credits

License

The MIT License (MIT). Please see License File for more information.

Attribution

Some components of this package are based on one or more of the following pieces of software:

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-09-16