2014-11-24 5 views
0

누군가 웹 사이트에 템플릿 (테마)을 많이 만들고 뷰에 전달 된 데이터를 유연하게 유지하려고합니다.Laravel, 뷰의 사용자 정의 기능

예를 들어 시스템 사용자의 경우 최상위 x 사용자와 최신 x 사용자를 제공 할 수 있기를 원합니다. 내 컨트롤러에서는이 데이터를보기에 전달하고 싶지 않습니다. 상위 5 명의 사용자가 필요하고 상위 10 개를 쿼리하고 있기 때문입니다. 그렇지 않은 경우 상위 5 개만 얻을 수 있으며 상위 10 개를 원합니다.

이렇게하려면 두 가지 방법이있을 것이라고 생각합니다.

1 -보기와 같은 기능을 포함 할 수있는 "헬퍼"파일. 모델/repo 호출을 수행하는 getTopUsers($count)getNewestUsers($count).

2 - 추가 기능을 유지하기 위해 뷰 발표자를 만듭니다. 나는 모양을 가지고 두 개의 주요 발표자 꾸러미가있는 것 같습니다 - https://github.com/ShawnMcCool/laravel-auto-presenterhttps://github.com/laracasts/Presenter

아마도 더 좋은 방법이 있을까요?

는 ... 다양한 모델이 반 다스가있을 수 있습니다

나는 당신의 의견에 일부 클라이언트 측 코드를 팝업 (기본적으로 JSON을 반환) 컨트롤러 액션에 경로에 액세스 할

답변

0

및 조건 사용자가 로그인했는지 여부를 판별하는보기에 전달 된 변수를 통해 해당 특정 스 니펫을보기에 추가하십시오. 그런 다음 경로에 인증 필터를 적용하여 보호 할 수 있습니다.

참고 :이 방법을 사용하면 URL 매개 변수를 작업에 전달할 수 있습니다. 즉, 결과를 더 쉽게 제한하도록 컨트롤러에 알릴 수 있습니다.

0

이것은 매우 흥미로운 질문입니다. 내가 생각할 수있는 것은 10를 조회하거나 중 가장 큰 수, 다음 뷰에 변수 $ 카운트를 통과하거나보기는 하위보기

에 변수를 전달하자, 다음

1) 저렴한 방법입니다 2) API 호출, AJAX 호출을하고 싶다면 다른 사람들이 제안한대로 getData? count = 5라는 새로운 경로를 설계하면됩니다.

일반적으로 모든 요구 사항을 충족하는 것은 쉽지 않으며 프로토 타입 단계에서 실제로 말하면 getData5 및 getData10과 같은 고정 된 함수를 작성하거나 두 페이지를 만드는 것이 비용 효율적입니다. :) 또 다른 새로운 아키텍처 디자인을 내놓는 것보다 훨씬 빠르며, 결국에는 아무도 실제로 사용하지 않습니다.