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.
You can install the package via composer:
composer require egg2-code-labs/filament-typo3
The TYPO3 Access Tab feature consists of multiple parts:
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());}
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.
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()
.
composer test
Please see CHANGELOG for more information on what has changed recently.
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.
The MIT License (MIT). Please see License File for more information.
Some components of this package are based on one or more of the following pieces of software:
Egg² Code Labs is a software development company located in Vienna, Austria. We strive to deliver high-quality applications and build our own packages.