2013-12-23 4 views
0

Mediawiki 템플릿 또는 Scribunto (루아) 모듈에서 현재 쿼리 문자열 (또는 전체 URL 쿼리 문자열 포함)을 가져 오는 방법이 있습니까?Mediawiki 페이지에서 쿼리 문자열 가져 오기

+0

일반적으로 생성 된 콘텐츠를 결정하는 것은 모두 페이지 제목입니다. 나는 쿼리 문자열을 검사하는 유스 케이스를 상상할 수 없다. 사용자의 관점에서 무엇을 달성하기를 원하십니까? 아마도 당신은 잘못된 접근법을 취했을 것입니다. – skalee

+0

사용자가 GET 방법을 통해 양식을 제출할 수있게하고 싶습니다. (현재 양식 확장이 청구서에 맞지 않는 것처럼 확장 기능을 구현해야한다고 생각합니다.) 따라서 표시 할 단락 범위의 단락을 지정할 수 있습니다. Labeled Section Transclusion 섹션 참조) 그런 다음 결과를 공유/북마크하십시오. 나는 해상도 로직을 템플릿에서 액세스 가능한 상태로 유지할 생각을 좋아합니다. –

+0

Semantic Forms 확장은 비슷한 접근법을 지원하는 것처럼 보입니다. 그러나 POST 요청에만 해당되며, 필요한 것보다 약간 더 복잡해 보입니다. –

답변

1

이것이 옵션 인 경우 obtaining HTML content with API을 고려하십시오. 이것은 확장 기능을 작성하는 것보다 간단해야합니다. 물론 이것은 일반 페이지가 아닌, 비어있는 기사 나 서버 위의 비 wiki 사이트에서 클라이언트 측으로 구성된 것입니다. Labeled Section Transclusion 확장 프로그램을 사용하면 이것이 효과가 있다고 언급했습니다.

또는 생성 된 HTML에서 일부 서버 측 사후 처리를 고려하십시오. MediaWiki가 많이 캐시되므로 꽤 잘 수행됩니다.

AFAIK 쿼리 문자열을 확인하는 마법의 단어는 없으며, IMO는 매우 나쁜 것입니다. 기사 소스는 MVC 패턴의 모델과 같습니다. 프레젠테이션을 넣지 않아야합니다.

+0

사람들이 추가 서버 측 코드없이 위키 텍스트의 일부분을 가져 오기 위해 단순히 iframe을 추가 할 수있는 방법이 있다면 매우 편리하다고 생각합니다 (예 : Wikisource의 발췌문). 또한, 나는 당신이 "컨트롤러 물건을 거기에 놓아서는 안된다"는 의미라고 생각합니다. 나는 이미 템플릿의 동적 인 특성이 REST를 통해 사이트 외부에서 사용 가능해야한다고 생각합니다. –

+0

'action = render' (http://www.mediawiki.org/wiki/Manual:Parameters_to_index.php#Actions)는 "title"대신 "text"인수로 작동하지 않습니다. API) - 여전히 구문 분석되므로 XSS 위험이 없어야합니다. –

+0

이쪽으로 https://bugzilla.wikimedia.org/show_bug.cgi?id=58971을 제출했습니다. –