mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
improve links between pages
This commit is contained in:
@@ -54,10 +54,11 @@ We use a few common abbreviations in our hook classes to keep them short and rea
|
||||
|
||||
- `fi` is short for "Filament"
|
||||
- `fi-ac` is used to represent classes used in the Actions package
|
||||
- `fi-fo` is used to represent classes used in the Form Builder package
|
||||
- `fi-in` is used to represent classes used in the Infolist Builder package
|
||||
- `fi-fo` is used to represent classes used in the Forms package
|
||||
- `fi-in` is used to represent classes used in the Infolists package
|
||||
- `fi-no` is used to represent classes used in the Notifications package
|
||||
- `fi-ta` is used to represent classes used in the Table Builder package
|
||||
- `fi-sc` is used to represent classes used in the Schema package
|
||||
- `fi-ta` is used to represent classes used in the Tables package
|
||||
- `fi-wi` is used to represent classes used in the Widgets package
|
||||
- `btn` is short for "button"
|
||||
- `col` is short for "column"
|
||||
|
||||
@@ -39,7 +39,7 @@ FilamentView::registerRenderHook(
|
||||
### Panel Builder render hooks
|
||||
|
||||
```php
|
||||
use Filament\View\PanelsRenderHook;
|
||||
use Filament\View\PanelsRenderHook;
|
||||
```
|
||||
|
||||
- `PanelsRenderHook::AUTH_LOGIN_FORM_AFTER` - After login form
|
||||
@@ -105,7 +105,7 @@ FilamentView::registerRenderHook(
|
||||
All these render hooks [can be scoped](#scoping-render-hooks) to any table Livewire component class. When using the Panel Builder, these classes might be the List or Manage page of a resource, or a relation manager. Table widgets are also Livewire component classes.
|
||||
|
||||
```php
|
||||
use Filament\Tables\View\TablesRenderHook;
|
||||
use Filament\Tables\View\TablesRenderHook;
|
||||
```
|
||||
|
||||
- `TablesRenderHook::SELECTION_INDICATOR_ACTIONS_AFTER` - After the "select all" and "deselect all" action buttons in the selection indicator bar
|
||||
@@ -129,7 +129,7 @@ All these render hooks [can be scoped](#scoping-render-hooks) to any table Livew
|
||||
### Widgets render hooks
|
||||
|
||||
```php
|
||||
use Filament\Widgets\View\WidgetsRenderHook;
|
||||
use Filament\Widgets\View\WidgetsRenderHook;
|
||||
```
|
||||
|
||||
- `WidgetsRenderHook::TABLE_WIDGET_END` - End of the [table widget](../panels/dashboard#table-widgets), after the table itself, also [can be scoped](#scoping-render-hooks) to the table widget class
|
||||
|
||||
@@ -16,12 +16,12 @@ While Filament comes with virtually any tool you'll need to build great apps, so
|
||||
|
||||
Before we dive in, it's important to understand the different contexts in which plugins can be used. There are two main contexts:
|
||||
|
||||
1. **Panel Plugins**: These are plugins that are used with [Panel Builders](/docs/3.x/panels/installation). They are typically used only to add functionality when used inside a Panel or as a complete Panel in and of itself. Examples of this are:
|
||||
1. **Panel Plugins**: These are plugins that are used with [Panel Builders](../panels/installation). They are typically used only to add functionality when used inside a Panel or as a complete Panel in and of itself. Examples of this are:
|
||||
1. A plugin that adds specific functionality to the dashboard in the form of Widgets.
|
||||
2. A plugin that adds a set of Resources / functionality to an app like a Blog or User Management feature.
|
||||
2. **Standalone Plugins**: These are plugins that are used in any context outside a Panel Builder. Examples of this are:
|
||||
1. A plugin that adds custom fields to be used with the [Form Builders](/docs/3.x/forms/installation/).
|
||||
2. A plugin that adds custom columns or filters to the [Table Builders](/docs/3.x/tables/installation/).
|
||||
1. A plugin that adds custom fields to be used with the [Form Builders](..//forms/installation/).
|
||||
2. A plugin that adds custom columns or filters to the [Table Builders](..//tables/installation/).
|
||||
|
||||
Although these are two different mental contexts to keep in mind when building plugins, they can be used together inside the same plugin. They do not have to be mutually exclusive.
|
||||
|
||||
@@ -31,20 +31,20 @@ Before we dive into the specifics of building plugins, there are a few concepts
|
||||
|
||||
1. [Laravel Package Development](https://laravel.com/docs/packages)
|
||||
2. [Spatie Package Tools](https://github.com/spatie/laravel-package-tools)
|
||||
3. [Filament Asset Management](/docs/3.x/support/assets)
|
||||
3. [Filament Asset Management](../advanced/assets)
|
||||
|
||||
### The Plugin object
|
||||
|
||||
Filament v3 introduces the concept of a Plugin object that is used to configure the plugin. This object is a simple PHP class that implements the `Filament\Contracts\Plugin` interface. This class is used to configure the plugin and is the main entry point for the plugin. It is also used to register Resources and Icons that might be used by your plugin.
|
||||
|
||||
While the plugin object is extremely helpful, it is not required to build a plugin. You can still build plugins without using the plugin object as you can see in the [Building a Panel Plugin](/docs/3.x/support/plugins/build-a-panel-plugin) tutorial.
|
||||
While the plugin object is extremely helpful, it is not required to build a plugin. You can still build plugins without using the plugin object as you can see in the [Building a Panel Plugin](build-a-panel-plugin) tutorial.
|
||||
|
||||
> **Info**
|
||||
> The Plugin object is only used for Panel Providers. Standalone Plugins do not use this object. All configuration for Standalone Plugins should be handled in the plugin's service provider.
|
||||
|
||||
### Registering Assets
|
||||
|
||||
All [asset registration](/docs/3.x/support/assets), including CSS, JS and Alpine Components, should be done through the plugin's service provider in the `packageBooted()` method. This allows Filament to register the assets with the Asset Manager and load them when needed.
|
||||
All [asset registration](../advanced/assets), including CSS, JS and Alpine Components, should be done through the plugin's service provider in the `packageBooted()` method. This allows Filament to register the assets with the Asset Manager and load them when needed.
|
||||
|
||||
## Creating a Plugin
|
||||
|
||||
@@ -82,8 +82,8 @@ class MyPluginServiceProvider extends PackageServiceProvider
|
||||
|
||||
Please read this guide in its entirety before upgrading your plugin. It will help you understand the concepts and how to build your plugin.
|
||||
|
||||
1. [Filament Asset Management](/docs/3.x/support/assets)
|
||||
2. [Panel Plugin Development](/docs/3.x/panels/plugins)
|
||||
3. [Icon Management](/docs/3.x/support/icons)
|
||||
4. [Colors Management](/docs/3.x/support/colors)
|
||||
5. [Style Customization](/docs/3.x/support/style-customization)
|
||||
1. [Filament Asset Management](../advanced/assets)
|
||||
2. [Panel Plugin Development](../panels/plugins)
|
||||
3. [Icon Management](../styling/icons)
|
||||
4. [Colors Management](../styling/colors)
|
||||
5. [CSS Hooks](../styling/css-hooks)
|
||||
|
||||
@@ -12,7 +12,7 @@ import LaracastsBanner from "@components/LaracastsBanner.astro"
|
||||
|
||||
## Preface
|
||||
|
||||
Please read the docs on [panel plugin development](/docs/3.x/panels/plugins) and the [getting started guide](/docs/3.x/support/plugins/getting-started) before continuing.
|
||||
Please read the docs on [panel plugin development](../panels/plugins) and the [getting started guide](getting-started) before continuing.
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -22,7 +22,7 @@ You can find the final code for this plugin at [https://github.com/awcodes/clock
|
||||
|
||||
## Step 1: Create the plugin
|
||||
|
||||
First, we'll create the plugin using the steps outlined in the [getting started guide](/docs/3.x/support/plugins/getting-started#creating-a-plugin).
|
||||
First, we'll create the plugin using the steps outlined in the [getting started guide](getting-started#creating-a-plugin).
|
||||
|
||||
## Step 2: Clean up
|
||||
|
||||
@@ -144,7 +144,7 @@ class ClockWidget extends Widget
|
||||
|
||||
Next, we'll need to create the view for our widget. Create a new file at `resources/views/widget.blade.php` and add the following code. We'll make use of Filament's blade components to save time on writing the html for the widget.
|
||||
|
||||
We are using async Alpine to load our Alpine component, so we'll need to add the `x-ignore` attribute to the div that will load our component. We'll also need to add the `ax-load` attribute to the div to tell Alpine to load our component. You can learn more about this in the [Core Concepts](/docs/3.x/support/assets#asynchronous-alpinejs-components) section of the docs.
|
||||
We are using async Alpine to load our Alpine component, so we'll need to add the `x-ignore` attribute to the div that will load our component. We'll also need to add the `ax-load` attribute to the div to tell Alpine to load our component. You can learn more about this in the [Core Concepts](../advanced/assets#asynchronous-alpinejs-components) section of the docs.
|
||||
|
||||
```blade
|
||||
<x-filament-widgets::widget>
|
||||
|
||||
@@ -4,7 +4,7 @@ title: Build a standalone plugin
|
||||
|
||||
## Preface
|
||||
|
||||
Please read the docs on [panel plugin development](/docs/3.x/panels/plugins/) and the [getting started guide](/docs/3.x/support/plugins/getting-started) before continuing.
|
||||
Please read the docs on [panel plugin development](../panels/plugins/) and the [getting started guide](getting-started) before continuing.
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -14,7 +14,7 @@ You can find the final code for this plugin at [https://github.com/awcodes/headi
|
||||
|
||||
## Step 1: Create the plugin
|
||||
|
||||
First, we'll create the plugin using the steps outlined in the [getting started guide](/docs/3.x/support/plugins/getting-started#creating-a-plugin).
|
||||
First, we'll create the plugin using the steps outlined in the [getting started guide](getting-started#creating-a-plugin).
|
||||
|
||||
## Step 2: Clean up
|
||||
|
||||
@@ -195,7 +195,7 @@ class Heading extends Component
|
||||
|
||||
Next, we'll need to create the view for our component. Create a new file at `resources/views/heading.blade.php` and add the following code.
|
||||
|
||||
We are using x-load to asynchronously load stylesheet, so it's only loaded when necessary. You can learn more about this in the [Core Concepts](/docs/3.x/support/assets#lazy-loading-css) section of the docs.
|
||||
We are using x-load to asynchronously load stylesheet, so it's only loaded when necessary. You can learn more about this in the [Core Concepts](../advanced/assets#lazy-loading-css) section of the docs.
|
||||
|
||||
```blade
|
||||
@php
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Installation
|
||||
---
|
||||
|
||||
**The Actions package is pre-installed with the [Panel Builder](/docs/panels).** This guide is for using the Actions package in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
**The Actions package is pre-installed with the [Panel Builder](../panels).** This guide is for using the Actions package in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Installation
|
||||
---
|
||||
|
||||
**The Form Builder package is pre-installed with the [Panel Builder](/docs/panels).** This guide is for using the Form Builder in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
**The Form Builder package is pre-installed with the [Panel Builder](../panels).** This guide is for using the Form Builder in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Installation
|
||||
---
|
||||
|
||||
**The Infolist Builder package is pre-installed with the [Panel Builder](/docs/panels).** This guide is for using the Infolist Builder package in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
**The Infolist Builder package is pre-installed with the [Panel Builder](../panels).** This guide is for using the Infolist Builder package in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Installation
|
||||
---
|
||||
|
||||
**The Notifications package is pre-installed with the [Panel Builder](/docs/panels).** This guide is for using the Notifications package in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
**The Notifications package is pre-installed with the [Panel Builder](../panels).** This guide is for using the Notifications package in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ Open `/admin` in your web browser, sign in, and start building your app!
|
||||
Not sure where to start? Review the [Getting Started guide](getting-started) to learn how to build a complete Filament admin panel.
|
||||
|
||||
## Using other Filament packages
|
||||
The Filament Panel Builder pre-installs the [Form Builder](/docs/forms), [Table Builder](/docs/tables), [Notifications](/docs/notifications), [Actions](/docs/actions), [Infolists](/docs/infolists), and [Widgets](/docs/widgets) packages. No other installation steps are required to use these packages within a panel.
|
||||
The Filament Panel Builder pre-installs the [Form Builder](../forms), [Table Builder](../tables), [Notifications](../notifications), [Actions](../actions), [Infolists](../infolists), and [Widgets](../widgets) packages. No other installation steps are required to use these packages within a panel.
|
||||
|
||||
## Improving Filament panel performance
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Installation
|
||||
---
|
||||
|
||||
**The Table Builder package is pre-installed with the [Panel Builder](/docs/panels).** This guide is for using the Table Builder in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
**The Table Builder package is pre-installed with the [Panel Builder](../panels).** This guide is for using the Table Builder in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Installation
|
||||
---
|
||||
|
||||
**The Widgets package is pre-installed with the [Panel Builder](/docs/panels).** This guide is for using the Widgets package in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
**The Widgets package is pre-installed with the [Panel Builder](../panels).** This guide is for using the Widgets package in a custom TALL Stack application (Tailwind, Alpine, Livewire, Laravel).
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
Reference in New Issue
Block a user