В моих представлениях я пытаюсь повторно использовать частичные файлы, поэтому я могу создать список последних сообщений в любом месте сайта/боковой панели используя @include лезвие, где прошло переменная является количество сообщений, которые будут включены, например:Laravel4 - Попытка создать виджет, например, частичные, которые передадут/принимают параметр, чтобы получить правильные данные.
@include('widgets.lastestposts', array('numPosts' => '10')
Однако проблема у меня есть, как получить данные Post для правильного количества сообщений в парциальное ?
Я мог бы пройти через список всех сообщений через Post :: all() с помощью контроллера или даже с помощью View :: composer, а затем в частичном использовании цикла @for | @endfor отобразить только правильный номер на основе значения 'numPosts'.
Однако это не чувствует себя хорошо, и я уверен, что должно быть лучше, чем тянуть полный список сообщений, когда я, возможно, потребуется только 5 или 10.
Я попробовал Посмотреть :: композиторами, но я мог бы найти, как пройти через переменную, чтобы я мог получить правильное количество возвращенных сообщений. Я не могу получить доступ к параметру «numPosts» с помощью
$view->getdata()
как я ожидаю потребность «numPosts» будет принята к представлению с помощью контроллера, а не файл клинка - либо или что я испортил!
Я пропустил что-то простое здесь или это то, что я ищу, чтобы сделать действительно плохую идею, и я должен делать что-то еще?
Любые указатели с благодарностью принимаются. Благодаря!
(ps - Я искал, чтобы иметь возможность сделать это через файл клинка, а не устанавливать количество сообщений в контроллере, чтобы наши дизайнеры/HTML-кодеры просто добавляли виджеты и параметры в представления, а не . придется возиться с контроллерами)
Ваш код - 95%, что я сделал и сдался! Однако ваша убежденность заставила меня проверить ** все ** снова, и поэтому я понял, что создал View Composer на главной странице, вызывая виджет NOT на странице виджетов. Следовательно, почему 'view-> getdata()' ничего не возвращал. Когда я изменил его на 'View :: Composer ('widgets.latestposts'), все это работало так, как мне было нужно. Спасибо за вашу помощь и заставив меня понять, что я не схожу с ума. –