Для вывода представления (view) с использованием Laraberg и ServerSideRender в Laravel, следуйте нижеприведенным шагам:
- Установите и настройте пакет Laraberg:
- Запустите команду
composer require yboyacx/laraberg
для установки пакета Laraberg. - После установки, добавьте
LarabergServiceProvider::class
в массивproviders
файлаconfig/app.php
, чтобы зарегистрировать сервис-провайдер Laraberg. - Затем запустите команду
php artisan vendor:publish --tag=laraberg-config
, чтобы опубликовать конфигурационный файл Laraberg. - Отредактируйте файл
config/laraberg.php
для настройки Laraberg согласно вашим потребностям.
- Создайте представление (view) для отображения формы/редактора:
- Создайте новый файл представления
resources/views/editor.blade.php
. - Внутри файла представления, используйте
laraberg
директиву для отображения редактора Laraberg, например:@laraberg
.
- Создайте контроллер для обработки вывода представления:
- Запустите команду
php artisan make:controller EditorController
, чтобы создать новый контроллер. - Внутри контроллера
EditorController
, создайте метод для вывода представления, например:
public function showEditor() { return view('editor'); }
- Настройте маршрут для обработки запроса:
- В файле
routes/web.php
, добавьте следующий маршрут для обработки запроса:
Route::get('/editor', [EditorController::class, 'showEditor'])->name('editor');
- Реализуйте ServerSideRender для вывода представления на фронте:
- Создайте новый файл контроллера
app/Http/Controllers/Api/RenderController.php
. - Внутри контроллера
RenderController
, создайте метод для генерации HTML-кода представления, например:
public function renderView() { $content = // получить содержимое редактора из базы данных или любого другого источника данных return view('render', compact('content')); }
- Создайте представление для отображения ServerSideRender:
- Создайте новый файл представления
resources/views/render.blade.php
. - Внутри файла представления, выведите содержимое, полученное от ServerSideRender, например:
{!! $content !!}
- Настройте маршрут для ServerSideRender:
- В файле
routes/web.php
, добавьте следующий маршрут для обработки запроса:
Route::get('/render', [RenderController::class, 'renderView'])->name('render');
- Настройте JavaScript для фронтэнда:
- Создайте новый файл JavaScript
resources/js/app.js
. - Внутри файла JavaScript, используйте AJAX-запрос, чтобы получить HTML-код ServerSideRender, например:
$.ajax({ url: '/render', method: 'GET', success: function(response) { $('#render-container').html(response); } });
- Добавьте представление и скрипт фронтэнда на веб-страницу:
- В шаблоне представления
resources/views/layouts/app.blade.php
, добавьте следующий код HTML:
<div id="render-container"></div> <script src="{{ mix('js/app.js') }}"></script>
- Запустите сервер приложения Laravel:
- Выполните команду
php artisan serve
, чтобы запустить сервер веб-приложения Laravel.
Теперь, когда вы перейдете по адресу /editor
на вашем веб-сайте, вы увидите Laraberg редактор. При сохранении данных, ServerSideRender будет генерировать HTML-код представления и выводить его на фронте, внутри элемента с id="render-container"
.