https://alk3my.com/how-to-customise-confluence-sub-menus-in-kodi-xbmc
Kodi는 위키와 포럼을 통해 잘 문서화되었지만 기본 테마 (Confluence)를 사용자 정의하여 하위 메뉴를 갖도록 사용자 정의하는 방법을 설명하는 자습서를 찾을 수 없습니다. 아이디어는 다양한 TV 쇼와 영화 라이브러리를 별개의 메뉴 옵션으로 분리하는 것이 었습니다. 예를 들어 라이브러리에 Anime, Kids 및 일반 TV 쇼가 있지만 동일한 뷰에서보고 싶지 않습니다. Aeon Flux와 같은 테마는 기본적으로 많은 사용자 정의를 허용하며 스마트 재생 목록 및 사용자 정의 메뉴를 사용하여이를 달성 할 수 있지만 결국 메뉴 / 하위 메뉴를 설정할 수있는 한 Confluence에 가장 만족했습니다.
과정
먼저 미디어를 분리하는 것입니다. 장르 또는 태그 / 기타를 통해 할 수는 있지만 분리를 완전히 제어 할 수는 없습니다. 내 파일 구조의 예는 다음과 같습니다.
아니메
|-영화
|-TV
키즈
|-영화
|-TV
TV 시리즈
이 구조는 경로 필터링을 기반으로 스마트 재생 목록을 사용할 수 있습니다. Kodi / XBMC에서 소스로 소스를 추가했는지 확인하고 각 폴더에 적절한 컨텐츠를 설정하십시오 (소스는 루트 일 수 있음).
스마트 재생 목록
그런 다음 스마트 재생 목록을 만듭니다. Kodi / XBMC에 내장 된 편집기를 사용하거나 XML 편집기 (또는 메모장에 상응하는 것)를 사용하여 수동으로 작성할 수 있습니다. 이들의 위치는 userdata 폴더에 있습니다 (즉, 백업 가능하고 이식 가능하며 업데이트 후에도 유지됨). 위치는 운영 체제에 따라 다릅니다. 내 Windows 컴퓨터의 경우 ...
%AppData%\Kodi\userdata\playlists
다른 운영 체제의 위치는 Kodi userdata wiki 에서 찾을 수 있습니다 . 또한 비디오를 태클하고 있었기 때문에 비디오 폴더에 더있었습니다 (프로세스는 음악 / 혼합 컨텐츠와 동일해야 함). 대부분의 재생 목록이 매우 유사하고 경로 필터 및 레이블 만 다양하기 때문에 수동으로 편집하는 것이 편했습니다. 아래 예를 참조하십시오.
<? xml version = "1.0"encoding = "UTF-8"standalone = "yes"?>
<smartplaylist type = "tvshows">
<name> 애니메이션 </ name>
<match> 전체 </ match>
<rule field = "path"operator = "startswith">
<value> smb : //192.168.1.109/EX2/Anime/TV/ </ value>
</ rule>
</ smartplaylist>
규칙은 "contains"연산자를 대신 사용하고 "Anime / TV /"또는 이와 유사한 것을 확인하면됩니다. 다른 조건을 추가 할 수 있으며 주문도 가능합니다. 다른 많은 옵션은 Kodi 스마트 재생 목록 위키 에서 찾을 수 있습니다 . 이 위키는 또한 Kodi / XBMC를 사용하는 방법을 보여줍니다.
하위 메뉴
마지막으로 다음 단계는 정보를 찾기가 조금 더 어려웠습니다. 과거에 라운드를 수행하는 수정 된 사용자 정의 버전의 Confluence가 있었고 시도하지 않았지만 더 이상 지원되지 않는다는 것을 읽었습니다. 어쨌든 하위 메뉴 (또는 해당 문제의 기본 메뉴)를 설정하는 것은 여전히 쉽습니다.
가장 먼저해야 할 일은 기본 Kodi 폴더의 "skin.confluence"폴더를 userdata 섹션에서 한 단계 위의 addons 폴더로 복사하는 것입니다. 이렇게하면 나중에 언제든지 설정을 백업하고 복원 할 수 있습니다. Windows 설치의 경우에도 기본 폴더는이 위치에있었습니다.
C:\Program Files (x86)\Kodi\addons
복사 된 폴더는 ...
%AppData%\Kodi\addons
이제이 폴더 안에 "720p"폴더가 있습니다. 여기에서 "IncludesHomeMenuItems.xml"을 편집하려고합니다 (잘못된 것을 편집하고 원래 상태로 돌아 가야 할 경우 백업을 원할 수 있습니다).
선택한 XML 편집기에서 (또는 NotePad / TextEdit / nano가 할 것입니다) 열어서 Sublime Text 2를 선호합니다. 선택한 포함 내에서 컨트롤을 추가 / 제거하려고합니다. 영화 및 TV 쇼에서 하위 메뉴를 원했기 때문에 각각 "HomeSubMenuMovies"및 "HomeSubMenuTVShows"에서 컨트롤을 추가 / 제거해야했습니다. 이미지 컨트롤을 시작과 끝 부분에 그대로 두십시오 (그들의 끝에있는 하위 메뉴 모양입니다). 파일에서 제어 순서를 변경하면 Kodi / XBMC의 순서가 변경됩니다.
레이블 태그가 실제 레이블이 아닌 ID (저장된 레이블 이름)를 가리 키기 때문에 기존 컨트롤의 용도를 알기가 어렵습니다. 그러나 onclick 태그는 태그를 제공합니다. 대부분은 (예 : Videos, MoviesActors, return) 형식으로 ActivateWindow () 함수 (사용할 함수)를 사용합니다. 이것이 의미하는 것은 비디오 라이브러리를 사용하고 액터별로 그룹화 된 영화를 대상으로하고 있다는 것입니다 (반환은 무시하고 루트 메뉴로 돌아 왔는지 여부에 관계없이 다시 클릭 할 때의 동작과 관련이 있음). Kodi 위키의 다음 페이지에서는 ActivateWindow 기능과 해당 매개 변수에 대해 설명합니다.
그래서 우리가하고 싶은 것은 우리가 신경 쓰지 않는 컨트롤을 제거 (또는 <!--> 사용하여 주석 처리)하는 것입니다. 거의 사용하지 않는 영화 장르, 배우 및 연도 컨트롤에 대해서는 언급했습니다. 이제 아이템을 추가하고 스마트 재생 목록을 타겟팅합니다. 아래는 예입니다.
<control type = "button"id = "99000">
<include> ButtonHomeSubCommonValues </ include>
<label> 어린이 </ label>
<onclick> ActivateWindow (Videos, special : //userdata/playlists/video/KidsMovies.xsp,return) </ onclick>
</ control>
텍스트 레이블을 명시 적으로 배치하고 ActivateWindow 함수가 이번에는 약간 다르다는 점을 제외하면 기존 항목과 매우 유사합니다. 동영상 데이터베이스를 계속 타겟팅하고 있지만 사용자 데이터 경로에 도달 한 다음 해당 스마트 재생 목록을 타겟팅하기 위해 "특별한"(호출 될 수있는 프로토콜)을 사용하고 있습니다. 이제 컨트롤에는 모두 ID가 필요하며 각 컨트롤마다 고유해야합니다. 나는 파일에 아무것도 없었기 때문에 99000에서 시작했습니다.
Btw, 메인 메뉴 항목을 편집하는 것도 간단합니다. 대신 "Home.xml"파일을보십시오.