Добавить статическую метку/текст над панелью

У меня есть панель laravel nova, и она работает нормально. Однако я хотел бы иметь статическую метку/текст над панелью с надписью «Подробнее». Знаете ли вы, есть ли у nova какой-то компонент или поле или что-то еще для достижения этого? Спасибо!

  public function fields(Request $request)
        {
            return [
                ID::make(__('ID'), 'id')->sortable(),
    
                new Panel('Read more section', [                
    
                    JSON::make('Read more section', [
                        Text::make('Title')->rules(['max:255']),
                        Text::make('Description'),
                    ])  
                ]),
                
               
            ];
        }

Что здесь не работает? Потому что, глядя на документы, можно сделать так, как вы описали.

geertjanknapen 05.05.2022 12:25

Да, но не знаю, почему заголовок "Подробнее" не появляется. Поэтому я хотел добавить какой-то другой элемент, чтобы добавить заголовок, чтобы посмотреть, будет ли он работать. Спасибо

Bernard 05.05.2022 12:36
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Нашел ответ здесь (under 'use-inside-panels', you need to scoll, link does not work)

Поскольку вы используете JSON Wrapper, определение полей в Panel немного отличается. Ваш код должен быть следующим:

public function fields(Request $request)
        {
            return [
                ID::make(__('ID'), 'id')->sortable(),
    
                new Panel('Read more section', [                
    
                    JSON::make('Read more section', [
                        Text::make('Title')->rules(['max:255']),
                        Text::make('Description'),
                    ])->data // <-- added data.
                ]),
                
               
            ];
        }

Пожалуйста, обратитесь к документации здесь: документы (under 'use-inside-panels', you need to scoll, link does not work)

Спасибо! Но вот так он показывает «исключение: файл «BadMethodCallException»: «/var/www/html/vendor/naoray/nova-json/src/JSON.php»».

Bernard 05.05.2022 13:01

У меня также есть «Flexible::make('Images') ->addLayout('Images', 'image', [ Text::make('URL-адрес изображения', 'image_url'), Text::make('Image Text ', 'image_text'), ]) ->button('Добавить изображение')," в поле JSON. Я не добавлял это к вопросу, потому что, вероятно, это не имеет значения, но, вероятно, это так, не уверен.

Bernard 05.05.2022 13:04

Я облажался, извините, это не должно быть data(), но data, позвольте мне обновить свой ответ.

geertjanknapen 05.05.2022 13:45

Спасибо! Например, он показывает «файл: «/var/www/html/vendor/laravel/nova/src/Panel.php», строка: 79, сообщение: «Попытка назначить свойство \"panel\" в массиве"».

Bernard 05.05.2022 14:49

Не уверен, почему это происходит, также у меня нет доступа к исходному коду Nova, поэтому я не могу разобраться в проблеме. Что такое строка 79? Как я могу получить доступ к документам?

geertjanknapen 05.05.2022 14:58

С "...JSON::make('Подробнее раздел', [" это работает, но не совсем почему. Спасибо

Bernard 05.05.2022 15:53

Но это то, что у вас было? JSON::make('Read more section', [ ] ) ?

geertjanknapen 05.05.2022 15:57

Да просто добавил... раньше JSON и работало. Спасибо!

Bernard 05.05.2022 17:29

Другие вопросы по теме