@
otava5 Trochu poopravím @
BBaron. Při volání include widgetu se řazení nadefinovat dá. Do parametrů volání include příslušného widgetu se musí přidat dva parametry, pro sestupné řazení podle data přidání to pak vypadá takto:
Kód:
...
<param name="sortby" value="datedded"/>
<param name="sortorder" value="descending"/>
...
Podmínkou je samozřejmě to, že v záznamech seznamu je vyplněna položka ListItem.DateAdded. A to u SC je. Ale pozor, když je seznam v SC rozdělen na více stránek, tak se pochopitelně seřadí pouze 1. stránka (nebo lépe řečeno ta, na kterou v parametrech volání include widgetu uvedeš odkaz). U seznamu Netflix je to ještě v pohodě, tam těch záznamů je méně než 500 a jsou tedy všechny na jedné stránce, ale až těch záznamů bude více a seznam bude rozdělený na více stránek (a výchozí řazení bude podle abecedy - což u tohoto seznamu bývá), tak to přestane fungovat správně.
Co se týče filtrace obsahu, tam to opravdu jednoduše a standardně nejde. Teoreticky by se to dalo filtrovat, ale až při zobrazení obsahu seznamu. Například podle subřetězce "CZ".
Hrál jsem si s tím kdysi, nějak to fungovalo, ale pak jsem to opustil. Znamenalo by to sáhnout do kódu příslušného include. Podstatou té úpravy je to, že se záznamy zobrazovaného seznamu zobrazí jen při splnění podmínky filtru. Je třeba to udělat v definici příslušného type="panel", pro obě definice, jak <itemlayout ...> tak <focusedlayout...>. Použije se pro ně <visible> tag, s obsahem něco jako:
Kód:
<visible>String.Contains(...ListItem.Title,CZ)</visible>
Tady je ale třeba si uvědomit, že se filtruje až načtený seznam, proto je třeba načítat více záznamů než obvykle, aby tam po filtraci vůbec něco zbylo. [EDIT] Vyzkoušel jsme si to právě teď na testovací virtuálce, ale nějak to nefunguje a když jsme se zamyslel, tak to tak ani fungovat nemůže. Tak si to asi špatně pamatuji. Takže tahle rada (tedy týkající se té filtrace podle CZ) není úplně to správné. Tak sorry!
Ideální by samozřejmě bylo tuhle filtraci (i řazení) dělat už při requestu do databáze SC. Na to má @
BBaron připravené řešení, či API. A kdyby do databáze SC přidal i položku obsahující studio nebo providera, které by se pak propagovala v záznamech seznamu do ListItem.Studio, bylo by to pak úplně o něčem jiném.