DB 기반 메타 키워드/설명을 만들어야합니다. 나는이 레코드를 데이터베이스, xml 형식으로 저장하겠다. 그것은 문화마다있을 것이기 때문입니다.MVC 3 멀티 문화 사이트에 대한 동적 메타 키워드 메타 설명 기능 설명
어떻게해야합니까?
의견, 제안, 도움, 크게 감사드립니다. 감사
DB 기반 메타 키워드/설명을 만들어야합니다. 나는이 레코드를 데이터베이스, xml 형식으로 저장하겠다. 그것은 문화마다있을 것이기 때문입니다.MVC 3 멀티 문화 사이트에 대한 동적 메타 키워드 메타 설명 기능 설명
어떻게해야합니까?
의견, 제안, 도움, 크게 감사드립니다. 감사
는 keywork/설명
당신은 사용자의 문화를 결정하는 Thread.CurrentThread.CurrentUICulture을 사용할 수를 반환하는 방법에 바로 호출입니다.
culture를 자동 변경하려면 web.config에서 변경해야합니다.
예 : (의 Web.config)
<globalization uiCulture="auto" culture="auto" />
(컨트롤러)
ViewBag.Description = GetDescription(pageId, Thread.CurrentThread.CurrentUICulture.Name)
(보기)
<meta name="description" content="@ViewBag.Description ">
1 - 컨트롤러
2 (모델)에서 키워드/설명을 가져옵니다 - Viewbag 속성에 할당 3 - 레이아웃 (또는보기)에서 viewbag 속성을 표시
또는
키워드/설명이있는 모델을 지정하고 컨트롤러의 매개 변수로보기에 지정하십시오.
문화권 정보 :
메서드 컨트롤러 (및 경로)의 매개 변수로 입력하면됩니다.
그런 다음 키워드/설명을 검색하는 메소드에이 매개 변수를 제공해야합니다. 변경할 필요가있는 무엇
는 모든 모델 객체에 대한 부모 인터페이스를 확인합니다. 당신은 할 수 :
public interface IBaseMasterViewDto
{
int PageId { get; set; }
string Title { get; set; }
string MetaKeywords { get; set; }
string MetaDescription { get; set; }
}
은 따라서 마스터보기에 당신이
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage<IBaseMasterViewDto>" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title><%: Model.Title %></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="keywords" content="<%: Model.MetaKeywords %>" />
<meta name="description" content="<%: Model.MetaDescription %>" />
는 희망이 도움이 사용할 수 있습니다.
+1 alex - 매우 유사한 접근 방식을 직접 사용하십시오. 이 plas fujiy의 대답의 조합은 두 가지 모두에서 가장 좋습니다. –
쉐인,
나는 잠시 후에 여기에 약간 비슷한 질문을했다. 나는 문화적 요소를 다루지는 않았지만 위의 fujiy의 대답은 그것을 향해 나아 간다. 또한, alexl의 인터페이스는 느슨한 입력 된 viewdata 요소 (비슷한 질문에서 내 대답 당)에 더 나은 솔루션입니다. 어쨌든, 여기에 내가 그 질문에 대해 '날'응답 내용은 다음과 같습니다
일 - alexl의 appraoch와 콤보에 사용, 당신은 당신이 나에게 어떤을 줄 수있는이 –
에 아주 좋은 일반적인 방법이있을 것이다 이 레코드를 db에 저장하는 방법에 대한 정보. 그것은 XML이 될까요? 또는 각 언어 => 각 레코드?thanks – ShaneKm
구현 세부 사항이지만 Id (PK), PageId, CultureName, Keywords 및 Description의 5 개 열이있는 표가 될 수 있습니다. PageId는 페이지 관리 방법에 따라 다릅니다. CMS가있는 경우 URL 또는 페이지의 ID가 될 수 있습니다. –