2016-09-02 6 views
1

내 머리글 섹션의 스타일 시트 참조 안에 블레이드 에코를 사용하고 있습니다. 이것은 사이트의 스킨에 대한 CSS를 지정하기위한 것입니다.Laravel - 중첩 된 블레이드 에코

원래 라인이다 : 나는 사용자 당 피부 설정을 잡아 사용자가 자신의 스킨으로 원하는 것을 변경하는 그 라인에 삽입 할하고

<link href="{{ asset("/dist/css/skins/skin-default.min.css"}}" rel="stylesheet" type="text/css\" /> 

. 보기 서비스 공급자 내에서 변수로 설정을 가져 왔습니다.

$view->with('visualSkin', Auth::user()->visualSkin); 

이렇게하면 모든보기가 렌더링 될 때 $ visualSkin이 설정됩니다.

위의 저작물 href에 어떻게 삽입하고 사용자가 설정하지 않은 경우 기본값으로 설정 할 수 있습니까?

그러나
{{ $visualSkin or "skin-default" }} 

, 어떻게하는 것이 인라인 수 있습니다 내 자산 HREF와 섹션

나는 변수를 전화 또는 수행하여 기본값을 설정할 수 있습니까?

<link href="{{ asset("/dist/css/skins/{{ $visualSkin or "skin-red-trim" }}.min.css"}}" rel="stylesheet" type="text/css\" /> 

내가 일부 PHP는 속임수를 시도했지만, PHP는 에코에 삽입 할 때 블레이드 형식이기 때문에, 그것은 블레이드 프로세스에 의해 렌더링되지 않습니다 :이 같은 뭔가가 작동하지 않습니다.

블레이드 에코를 중첩 할 수 있습니까?
일부 문자가 누락 되었습니까?

답변

4

중첩 할 필요가 없습니다! 블레이드 태그 안에 PHP가 실행 중이므로 문자열을 자연스럽게 연결할 수 있습니다. asset( 기능을 닫 ) 누락 된

<link href="{{ asset("/dist/css/skins/" . $visualSkin or "skin-red-trim" . ".min.css")}}" rel="stylesheet" type="text/css\" /> 

참고. echo 'something'

그래서 당신은 에코와 함께 할 수있는 일, 당신은 블레이드 에코 태그를 수행 할 수 있습니다 {{ 'something' }}를 사용


는 같은 유형입니다.

+0

확인. 심야의 잠들기 실수. ""대신 "+"를 사용하고있었습니다. 연결을 위해.) 누락은 이것을 게시 할 때 복사/붙여 넣기 문제 일뿐입니다. 지금 코드에 있습니다. 오류는 $ visualSkin이 정의되어 있지 않다는 것입니다. 나는 "또는"이 돌볼 것이라고 생각 했단 말인가? 또는 isset으로 확인해야합니까? – hiddenicon

+0

내가 틀렸다고 정정하되, 표준 PHP에서'$ visualSkin '또는 "skin-red-trim"이 부울 (이 경우, true)로 평가되지 않습니까? 실제 가치가 아닌가? $ visualSkin? : "skin-red-trim"을 원한다고 생각합니다. – maiorano84

+0

정확해야합니다. "or"는 단순 블레이드 템플릿 일 것입니다. 이제는 블레이드 내부의 PHP이므로 "또는"는 예상대로 작동하지 않습니다. – hiddenicon