Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Proger_XP, благодарю за совет.
В классе View я уже почти присмотрел хорошее место чтобы реализовать задуманное. Буду мастерить.
Прошу прощения за корявость изложения и постановки задачи.
Я с Laravel ознакомился не так давно и простота работы с некоторыми вещами меня подкупила.
Поэтому и хотел узнать, возможно ли отделаться «малой кровью» за реализацию задуманного.
Шаблоны Blade хорошая штука, но я хотел бы хранить их не отдельными файлами, а записями в базе данных.
То есть, если у меня был файл, например, index.blade.php с совершенно различным содержимым:
@layout('layouts.main')
@section('content')
<p>здесь просто текст</p>
<p>тут ссылки:</p>
{{ HTML::link('/','На главную') }}
<p>здесь форма:</p>
{{ Form::open('/') }}
...
<p>здесь данные из базы данных</p>
@foreach($pages as $page)
...
@endsection
Я бы хотел поместить его в базу данных, а в нужный момент в контроллере сделать нечто подобное:
return OtherView::make(шаблон_из_бд, данные_в_шаблон));
Мне бы не хотелось компилировать что-либо в контроллере:
$test_variable = HTML::link('/','На главную');
а затем отдавать это в вид, потому как данные будут совершенно разного плана.
В контроллере я хочу брать шаблон вида из базы данных, передать ему нужные данные и отправить все это рендериться в вид для вставки в базовый layout.
На данный момент я мыслю, что нужно немного покумекать с наследованием либо от класса вида, либо от класса блейда.
Поэтому, повторюсь, перед тем как изобретать велосипед, хотел узнать может кто уже сталкивался с подобной задачей и знает в какую сторону копать. Может бандл какой есть. Может где функцию в документации просмотрел.
Не может быть, что бы мне одному пришла в голову столь извращенная идея.
Еще, размышляя на данную тему, в голову пришла мысль использовать сторонний шаблонизатор позволяющий выполнить подобное. Но раз в Laravel уже есть собственный шаблонизатор хотелось бы использовать именно его, даже если для этого придется немного поизвращаться.
На крайняк, неким ветиеватым способом брать шаблон из базы данных и подсовывать его в шаблонизатор в виде рhp-файла (*.blade.php). Но это просто как один из возможных вариантов рассматриваемых в последнюю очередь.
Доброго времени суток.
Подскажите в какую сторону копать по следующему вопросу.
Есть файл базового шаблона (layout) views/layouts/main.blade.php:
<html>
<body>
@yield('content')
</body>
</html>
Есть шаблон конкретной страницы views/page/index.blade:
@layout('layouts.main')
@section('content')
{{ $test_variable }}
@endsection
Для примера, в action некоторого контроллера (или в routes) выполняется следующее:
return View::make('page.index',array('test_variable'=>$test_variable));
Все работало замечательно до тех пор пока…
… не столкнулся с необходимостью передать через $test_variable конструкцию шаблона типа такой:
{{ HTML::link('/','На главную') }}
По задумке хочу хранить шаблоны в базе данных.
Естественно вместо ожидаемой ссылки (<a href="/">На главную</a>) получил то, что передал…
Отсюда вопрос: — Как?
Возможно, где-то в документации просмотрел какой метод… ткните пальцем.
С другой стороны, понимаю, что это echo и вряд ли в лоб можно реализовать задуманное. Не хотелось бы городить огород и изобретать велосипед.
Поэтому, прошу подсказать идею как лучше реализовать задуманное.
Заранее благодарю.
Страницы 1