@Tarrissarh

Как правильно использовать twig в laravel?

Вот установил laravel, к нему установил зависимости twig, jquery, bootstrap и др.
в resource\views\ сделал base.twig & home.twig
routes.php:
Route::get('/', 'HomeController@index');

HomeController:
<?php namespace App\Http\Controllers;

class HomeController extends Controller {
	public function __construct()
	{
		$this->middleware('auth');
	}
	public function index()
	{
		return view('home');
	}
}

захожу на сайт, он перенаправляет на страницу авторизации.
Где что нужно подключить чтобы twig заработал?
Заодно и куда и как нужно подключить jquery и bootstrap?
Уже много чего посмотрел, но того как это сделать так и не нашел...
P.S. Вместо blade хочу использовать twig.
  • Вопрос задан
  • 4259 просмотров
Решения вопроса 1
finnish
@finnish
Советую Вам использовать этот инструмент: https://github.com/rcrowe/TwigBridge
Он отлично интегрируется с Laravel, даже "композеры" работают на пять с плюсом.
Что касается jquery и bootstrap, то Вам нужно подтянуть знания HTML, в частности информацию про теги head, script и link.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@javanub
$this->middleware('auth');

Ну вы же сами в конструкторе поставили $this->middleware('auth'), который собственно и перенаправляет вас на страницу авторизации. Может быть сначала основы, а потом уже пакеты?
Ответ написан
@newpy
web-dev
С чего вы решили что просто переименовав файлы blade.php на twig у вас будет twig работать?
У Ларавел свой шаблонизатор. Для того чтобы пользоваться твигом, надо его подключать. Надо подключить Twig в ядре приложения. А не просто переименовать файлы или установить его.

Другой вопрос зачем вам это, если уже есть шаблонизатор встроенный? Надо реально понимать отличия или необходимость, чтобы прийти к замене одного шаблонизатора на другой.

И причем тут твиг и перенаправление на авторизацию? Твиг на это никак не влияет. Вам уже ответили что перенаправление на авторизацию срабатывает из-за добавленной в конструктор контроллера строки $this->middleware('auth'). Этим самым вы вызываете middleware авторизации, что означает что, пока вы не авторизуетесь, у вас контроллер не будет работать.

Вы смысл того что вы пишите понимаете? Или стоит все таки разобраться с основами?
Если разобрались, тогда стоило бы выложить код, как вы подключали Twig.
С авторизацией: просто уберите конструктор в контроллере, и приложение не будет требовать авторизацию. Если вы задумали так, что она все таки нужна, то оставляйте, и авторизуйте пользователя при выполнении любого метода контроллера.

По существу вам уже были даны два ответа: Finnish про использование TwigBridge, и javanub про авторизацию. Я же вам дам совет использовать пока Blade и вернуть все как было.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы