markdown Laravel Nova

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Laravel Nova相关的知识,希望对你有一定的参考价值。

# Laravel Nova

В этом файле размещены заметки по Laravel Nova.

## Содержание
- []()
- []()
- []()
- []()

## Установка

### Из архива
1. Скопируйте папку nova в корень проекта
2. Установите Нову - `php artisan nova:install`
3. Создайте пользователя - `php artisan nova:user`

### Через composer 
- [Installing Nova Via Composer](https://nova.laravel.com/docs/1.0/installation.html#installing-nova-via-composer)


- Создайте файл auth.json в корне проекта со следующим содержимым: 
```
{
    "http-basic": {
        "nova.laravel.com": {
            "username": "your@email.com",
            "password": "API Token"
        }
    }
}
```
- В `composer.json` в раздел `repositories` добавьте следующие строчки:
```
"repositories": [
    {
        "type": "composer",
        "url": "https://nova.laravel.com"
    }
],
```
- В `composer.json` в раздел `require` добавьте следующие строчки:
```
"require": {
    "php": "^7.1.3",
    "fideloper/proxy": "^4.0",
    "laravel/framework": "5.8.*",
    "laravel/nova": "~2.0"
},
```
- Запустите `composer update`


## Ссылки
- [Laracasts series](https://laracasts.com/series/laravel-nova-mastery)

## Пакеты
- [Nova Пакеты](https://novapackages.com/)

### Time Field
Создать Time Field можно при помощи Text field:

```
Text::make('Time')
  ->withMeta(['type' => 'time']),
```

Однако этот метод не работает в Safari и Internet Explorer. 
Вместо выбра времени будет обычный текстовый input.


## artisan-команды 

* `nova:action` - Создать Action
* `nova:asset` - 
* `nova:base-resource` - 
* `nova:card` - Создать Card
* `nova:custom-filter` - 
* `nova:field` - Создать Field
* `nova:filter` - Создать Filter
* `nova:install` - Установить nova в проект
* `nova:lens` - Создать Lens
* `nova:partition` - Создать Partition Метрику
* `nova:publish` - Опубликовать все assets
* **`nova:resource`** - Создать Resource (-m Modelname)
* `nova:resource-tool` - 
* `nova:theme` - Создать цветовую тему
* `nova:tool` - Создать новый Tool
* `nova:trend` - Создать Trend Метрику
* `nova:user` - Создать пользователя
* `nova:value` - Создать Value Метрику

## Обновление 

1. Скачайте zip-файл 
2. Скопируйте с заменой папку nova
3. `composer update`
4. `php artisan nova:publish`
5. Команда `nova: publish` повторно публикует общедоступные ресурсы, конфигурацию, представления и языковые файлы Nova. Эта команда не будет перезаписывать существующие файлы конфигурации, представления или языковые файлы. Если вы хотите, чтобы команда перезаписывала существующие файлы, вы можете использовать флаг --force при выполнении команды:
6. `php artisan nova:publish --force`
7. `php artisan view:clear`

## fillUsing
Полная функция fillUsing выглядит следующим образом: 
```
->fillUsing(function($request, $model, $attribute, $requestAttribute) {
  $model->field_name = $request->field_name;
})
```


## Поиск 

Чтобы сделать полнотекстовый глобальный поиск, установите [laravel scout](https://laravel.com/docs/master/scout)
TL;DR; version:
```
composer require laravel/scout
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
composer require algolia/algoliasearch-client-php:^1.27
php artisan scout:import "App\Models\<Model>"
```
Регаетесь на сайте [algolia.com](https://www.algolia.com)
Получаете там App ID и token. 
Вставляете их в .env:
ALGOLIA_APP_ID=XH1MVBPXVT
ALGOLIA_SECRET=fafffacb54db87fe93503f29d8fa8e7e

и после этого добавльте в App\Models\<Vasha Model> trait Searchable (Laravel\Scout\Searchable)

以上是关于markdown Laravel Nova的主要内容,如果未能解决你的问题,请参考以下文章

将 Laravel Nova 移至子域

Laravel Nova 中的自定义 Vue 组件

php 在Laravel Nova资源中覆盖标签

有没有办法在 Laravel 中为 Nova 资源显式定义策略?

Laravel Nova Actions BelongsTo 字段不起作用

Laravel Nova 无法与 Laravel Spark 一起使用:位置 1213 的 JSON 中出现意外的令牌 P