틀:MainSectionGrid
외관
이 템플릿은 대문 섹션 안에 (선택적) 탭 UI와 Cargo 쿼리 결과를 아이콘 그리드로 렌더링하는 데
사용합니다. 쿼리 결과의 각 행은 cargo_template로 지정한 슬롯 템플릿에
필드명=값 파라미터로 전달되어 그리드 슬롯 하나를 만듭니다.
사용법
{{MainSectionGrid
|탭=<ul><li class="active" data-rarity="all">새로운!</li><li data-rarity="LLR">LLR</li></ul> (선택, 생략 시 탭 없음)
|cargo_table=Heroes
|cargo_fields=T.name_cn=name_cn,T.icon=icon,T.rarity=rarity
|cargo_where=T.icon IS NOT NULL AND T.icon != ''
|cargo_group_by=T.name_cn
|cargo_order_by=T.name_cn
|cargo_limit=300
|cargo_template=HeroGridSlot
}}
중요(구현 메모): 내부적으로 tables={{{cargo_table}}}=T 형태로 항상 테이블 별칭
T를 붙인다(별칭 없이 단일 테이블을 그대로 쿼리하면 Cargo가 _pageID 백링크
컬럼 참조에서 SQL 오류를 내는 버그가 실측 확인됨 — group by를 쓰는 쿼리는 이 버그를 우회하지만,
group by가 없는 쿼리(장비/기술)는 반드시 별칭이 있어야 한다. 별칭을 항상 붙이는 쪽으로 통일).
따라서 cargo_fields/cargo_where/cargo_group_by/
cargo_order_by 작성 시 반드시 T. 접두사를 쓰고, cargo_fields는
필드명=필드명 형태(자기 자신에 별칭)로 써야 한다 — 그래야 named args=yes
옵션에서 슬롯 템플릿에 원래 필드명 그대로(예: name_cn)가 전달된다. 그렇지 않으면(별칭 없이
쓰면) Cargo가 밑줄을 공백으로 바꾼 표시용 라벨(예: name cn)을 파라미터 키로 써버려서
슬롯 템플릿의 {{{name_cn}}} 같은 파라미터가 채워지지 않는다.
where/group by가 빈 문자열이면 Cargo는 에러 없이 해당 절을 그냥 생략한다(실측 확인됨).