PHP code example of michielkempen / nova-froala-field
1. Go to this page and download the library: Download michielkempen/nova-froala-field library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
michielkempen / nova-froala-field example snippets
namespace App\Nova;
use MichielKempen\NovaFroalaField\Froala;
class Article extends Resource
{
// ...
public function fields(Request $request)
{
return [
// ...
Froala::make('Content'),
// ...
];
}
}
/*
|--------------------------------------------------------------------------
| Default Editor Options
|--------------------------------------------------------------------------
|
| Setup default values for any Froala editor option.
|
| To view a list of all available options check out the Froala documentation
| {@link https://www.froala.com/wysiwyg-editor/docs/options}
|
*/
'options' => [
'toolbarButtons' => [
[
'bold',
'italic',
'underline',
],
[
'formatOL',
'formatUL',
],
[
'insertImage',
'insertFile',
'insertLink',
'insertVideo',
],
[
'embedly',
'html',
],
],
],
//...
/*
|--------------------------------------------------------------------------
| Editor Attachments Driver
|--------------------------------------------------------------------------
|
| If you have used `Trix` previously and want to save the same flow with
| `Trix` attachments handlers and database tables you can use
| "trix" driver.
|
| *** Note that "trix" driver doesn't support image optimization
| and file names preservation.
|
| It is recommended to use "froala" driver to be able to automatically
| optimize uploaded images and preserve attachments file names.
|
| Supported: "froala", "trix"
|
*/
'attachments_driver' => 'trix'
//...
use MichielKempen\NovaFroalaField\Froala;
Froala::make('Content')->withFiles('public');
use MichielKempen\NovaFroalaField\Jobs\PruneStaleAttachments;
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
(new PruneStaleAttachments)();
})->daily();
}
/*
|--------------------------------------------------------------------------
| Preserve Attachments File Name
|--------------------------------------------------------------------------
|
| Ability to preserve client original file name for uploaded
| image, file or video.
|
*/
'preserve_file_names' => true,
//...
/*
|--------------------------------------------------------------------------
| Image Optimizers Setup
|--------------------------------------------------------------------------
|
| These are the optimizers that will be used by default.
| You can setup custom parameters for each optimizer.
|
*/
'image_optimizers' => [
Spatie\ImageOptimizer\Optimizers\Jpegoptim::class => [
'-m85', // this will store the image with 85% quality. This setting seems to satisfy Google's Pagespeed compression rules
'--strip-all', // this strips out all text information such as comments and EXIF data
'--all-progressive', // this will make sure the resulting image is a progressive one
],
Spatie\ImageOptimizer\Optimizers\Pngquant::class => [
'--force', //
/*
|--------------------------------------------------------------------------
| Maximum Possible Size for Uploaded Files
|--------------------------------------------------------------------------
|
| Customize max upload filesize for uploaded attachments.
| By default it is set to "null", it means that default value is
| retrieved from `upload_max_size` directive of php.ini file.
|
| Format is the same as for `uploaded_max_size` directive.
| Check out FAQ page, to get more detail description.
| {@link http://php.net/manual/en/faq.using.php#faq.using.shorthandbytes}
|
*/
'upload_max_filesize' => null,
//...
use Froala/NovaFroalaField/Froala;
Froala::make('Content')->showOnIndex();
'options' => [
// 'key' => env('FROALA_KEY'),
'iconsTemplate' => 'font_awesome_5',
// If you want to use the regular/light icons, change the template to the following.
// iconsTemplate: 'font_awesome_5r'
// iconsTemplate: 'font_awesome_5l'
//...
],
public function boot()
{
parent::boot();
Nova::serving(function (ServingNova $event) {
Nova::script('froala-event-handlers', public_path('path/to/js/file.js'));
});
}