#javascript #jquery #editor #laravel-5.8 #trix
#javascript #jquery #редактор #laravel-5.8 #trix
Вопрос:
Я пытаюсь добавить редактор trix в форму. Он появляется, но панель инструментов отключена, она не работает. После некоторого исследования я обнаружил, что это было в заголовке моего файла макета, поэтому я переместил его в конец тела и удалил «отложить», и теперь редактор trix исчез.
файл макета
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}"></script>
@yield('scripts')
</body>
</html>
поле, в котором я хочу редактор trix
<div class="form-group">
<label for="content">Content</label>
<input id="content" type="hidden" name="content">
<trix-editor input="content"></trix-editor>
</div>
trix js и css
@section('scripts')
<script src="https://cdnjs.cloudflare.com/ajax/libs/trix/1.1.1/trix.js"></script>
@endsection
@section('css')
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/trix/1.1.1/trix.css">
@endsection
Комментарии:
1. Я попытался немного почистить форматирование кода. Пожалуйста, убедитесь, что здесь достаточно информации, чтобы кто-то мог использовать опубликованный вами код для воссоздания вашей проблемы, чтобы он мог помочь вам выяснить, что не так.
Ответ №1:
—> композитор требует te7a-houdini/ laravel-trix
—> поставщик php artisan: опубликовать —provider=»Te7aHoudini LaravelTrix LaravelTrixServiceProvider»
—> php artisan мигрировать
На вашей странице используйте like
<html>
<head>
@trixassets
</head>
<body>
<form method="POST" action="route('article.store')">
@csrf
@trix(AppArticle::class, 'content')
<input type="submit">
</form>
</body>
</html>
Ответ №2:
Здесь я создал демонстрационный редактор trix, и он отлично работает в laravel 5.8.14 v
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/trix/1.1.1/trix.css">
<style>
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Nunito', sans-serif;
font-weight: 200;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 13px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
@if (Route::has('register'))
<a href="{{ route('register') }}">Register</a>
@endif
@endauth
</div>
@endif
<div class="content">
<div class="title m-b-md">
Laravel
</div>
<trix-editor input="content"></trix-editor>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/trix/1.1.1/trix.js"></script>
</body>
</html>
Вы забыли добавить jquery?
Ответ №3:
Ссылка на js кода trix, которую вы упомянули в своем section('scripts')
, вместо того, чтобы включать в раздел «скрипты». Вставьте ссылку непосредственно в ваш основной раздел заголовка html, возможно, в layouts.app.
или вы также можете сделать то же самое, что и вы, но просто измените некоторый код следующим образом:
- В вашем html, разделе head, добавьте yield как,
@YIELD('CSCRIPTS')
чуть ниже другого упомянутого тега SCRIPT, убедитесь, что вы используете новое имя в yield. - В html, разделе head, вы также увидите другой тег скрипта, там удалите DEFER, если он есть.
- И, наконец, перейдите к блейду, к которому принадлежит ваш раздел, и измените его на
@SECTION('CSCRIPTS')
. - Работает хорошо.
Но также вы увидите другой тег скрипта, там и ключевое слово remove DEFER. Остальное оставить как есть, работает отлично