2014-06-13 2 views
0

내가보기에 sitecore에서 사용자 정의 링크를 만들려고하고Sitecore MVC 사용자 정의 링크

@Html.Sitecore().Field("CTA display", Model.Item, new { text = "<span>" + + "</span>"}) 

나는 100 %는이 작업을 수행하는 올바른 방법은 무엇인지,하지만 난에서 텍스트 줄 바꿈 할 생각 스타일링을위한 링크. 나는 .Text과 함께 Model.Rendering.Item.Fields["CTA display"]을 넣으려고했으나 작동하지 않습니다.

도움을 주시면 감사하겠습니다.

답변

2

첫째, 난 당신이 표현하고있는 요소의 내부 HTML을 수정할 수있는 SitecoreHelper 확장 방법 작성하여 시작 했죠 :이 선택 사양 innerHtml 문자열을 전달 할 수

public static HtmlString Field(this SitecoreHelper helper, string fieldName, Item item, object parameters, string innerHtml) 
{ 
    if (helper == null) 
    { 
     throw new ArgumentNullException("helper"); 
    } 
    if (innerHtml.IsNullOrEmpty()) 
    { 
     return helper.Field(fieldName, item, parameters); 
    } 
    return new HtmlString(helper.BeginField(fieldName, item, parameters).ToString() + innerHtml + helper.EndField().ToString()); 
} 

그 요소의 여는 태그와 닫는 태그 사이에 삽입됩니다 (이 경우 <a> 태그).

여기에서 CTA 레이블이 포함 된 html 문자열을 위의 방법으로 전달하거나 <span>으로 묶인 필드의 텍스트 값을 출력하는 방법을 수정하십시오.

+0

전 앵커 텍스트를 추가 할 수있는 방법이 있나요 내에서 렌더링? – PaRsH

0

나는 치료를 한 컴퓨터 룰에 의해 위에 게시 된 솔루션을 사용했습니다. 그런 다음 확장 방법은

@Html.Sitecore().Field("Link", Html.Sitecore().CurrentItem, new {Class = "some-class"}, "<span class='some-other-class'></span>") 

을 다음과 같이 호출 할 수 있으며 기간은 앵커 탭