Pagina 1 van 2

Zelf aanpassen van Filters

Geplaatst: 14 mar 2011, 12:19
door peterpc
Beste mensen,

het editten van de filters kan enorm vereenvoudigd worden door :

1. zoveel mogelijk haken te verwijderen
2. bij kolommen zoveel mogelijk de SQL expressie 'IN' te gebruiken
dus in plaats van subcat = 100 or subcat = 102 or subcat = 103
subcat in (100,102,103)
of cat = 1 or cat = 2 or cat = 3
cat in (1,2,3)
dit zijn numerieke kolommen
3. voor tekst kolommen blijft de 'LIKE' constructie gelden, daar het
meestal om een substring gaat.

Voorgaande maakt het filter bestand een stuk leesbaarder en de filter
queries gaan sneller.

Hierbij mijn filter bestand als voorbeeld.

Code: Selecteer alles

<Spotnet>
  <Filter Name="Volledige Overzicht" Image="\Images\cf\home.png"><![CDATA[cat in(1,2,3,4)]]></Filter>
  <Filter Name="Nieuw" Visible="true" Image="\Images\cf\new.png"><![CDATA[id > [SN:NEW]]]></Filter>
  <Filter Name="Vandaag" Visible="true" Image="\Images\cf\today.png"><![CDATA[date > ( [SN:DATE] - 86400 )]]></Filter>
  <Filter Name="Favorieten" Image="\Images\cf\fav.png"><![CDATA[topcat = 1]]></Filter>
  <Filter Name=""><![CDATA[cat in (1,2,3,4)]]></Filter>
  <Filter Name="Beeld" Image="\Images\cf\tag.png"><![CDATA[cat = 1]]></Filter>
  <Filter Name=" - DivX" Image="\Images\cf\divx.png"><![CDATA[subcat = 100 and subcats NOT LIKE '%d11|%']]></Filter>
  <Filter Name=" - WMV" Image="\Images\cf\wmv.png"><![CDATA[subcat = 101 and subcats NOT LIKE '%d11|%']]></Filter>
  <Filter Name=" - MPG" Image="\Images\cf\mpg.png"><![CDATA[subcat = 102 and subcats NOT LIKE '%d11|%']]></Filter>
  <Filter Name=" - DVD5" Image="\Images\cf\dvd.png"><![CDATA[subcat = 103 and subcats NOT LIKE '%d11|%']]></Filter>
  <Filter Name=" - DVD9" Image="\Images\cf\dvd.png"><![CDATA[subcat = 110 and subcats NOT LIKE '%d11|%']]></Filter>
  <Filter Name=" - Bluray" Image="\Images\cf\bray.png"><![CDATA[subcat = 106]]></Filter>
  <Filter Name=" - HD" Image="\Images\cf\hd.png"><![CDATA[subcat in (106,107,108,109,104)]]></Filter>
  <Filter Name=" - TV Series" Image="\Images\cf\tel.png"><![CDATA[cat = 1 AND subcats LIKE '%d11|%']]></Filter>
  <Filter Name=" - Boeken" Image="\Images\cf\book.png"><![CDATA[cat = 5]]></Filter>
  <Filter Name=" - Asian" Image="\Images\cf\dvd.png"><![CDATA[cat = 1 and subcat in (100,103,108,110) and (subcats like '%d28|%' or tag like '%asian%')]]></Filter>
  <Filter Name=" - Simply Releases" Image="\Images\cf\dvd.png"><![CDATA[cat = 1 and tag like '%simplyreleases%']]></Filter>
  <Filter Name=" - Erotiek" Image="\Images\cf\female.png"><![CDATA[cat = 9]]></Filter>
  <Filter Name=" - Erotiek (hetero)" Image="\Images\cf\female.png"><![CDATA[cat = 9 and extcat = 923 and subcat in (900,903)]]></Filter>
  <Filter Name=" - Erotiek (lesbian)" Image="\Images\cf\female.png"><![CDATA[cat = 9 and extcat in (925,926) and subcat in (900,903)]]></Filter>
  <Filter Name=""><![CDATA[cat in (1,2,3,4)]]></Filter>
  <Filter Name="Muziek" Image="\Images\cf\tag.png"><![CDATA[cat=2]]></Filter>
  <Filter Name=" - Compressed" Image="\Images\cf\music.png"><![CDATA[subcat in (200,201,202,203,205,206,207,208)]]></Filter>
  <Filter Name=" - Lossless" Image="\Images\cf\music.png"><![CDATA[subcat = 204]]></Filter>
  <Filter Name=""><![CDATA[cat in (1,2,3,4)]]></Filter>
  <Filter Name="Spellen" Image="\Images\cf\tag.png"><![CDATA[cat=3]]></Filter>
  <Filter Name=" - Windows" Image="\Images\cf\vista.png"><![CDATA[subcat = 300]]></Filter>
  <Filter Name=" - Mac" Image="\Images\cf\mac.png"><![CDATA[subcat = 301]]></Filter>
  <Filter Name=" - Linux" Image="\Images\cf\linux.png"><![CDATA[subcat = 302]]></Filter>
  <Filter Name=" - Playstation" Image="\Images\cf\psx.png"><![CDATA[subcat in (303,304,312,305)]]></Filter>
  <Filter Name=" - X-box" Image="\Images\cf\xbox.png"><![CDATA[subcat in (306,307)]]></Filter>
  <Filter Name=" - Nintendo" Image="\Images\cf\nintendo_wii.png"><![CDATA[subcat in (308,309,310,311)]]></Filter>
  <Filter Name=" - PDA" Image="\Images\cf\pda.png"><![CDATA[subcat in (313,314,315)]]></Filter>
  <Filter Name=""><![CDATA[cat in (1,2,3,4)]]></Filter>
  <Filter Name="Applicaties" Image="\Images\cf\tag.png"><![CDATA[cat = 4]]></Filter>
  <Filter Name=" - Windows " Image="\Images\cf\vista.png"><![CDATA[subcat = 400]]></Filter>
  <Filter Name=" - MAC " Image="\Images\cf\mac.png"><![CDATA[subcat = 401]]></Filter>
  <Filter Name=" - Linux/OS2" Image="\Images\cf\linux.png"><![CDATA[subcat in (403,402,)]]></Filter>
  <Filter Name=" - PDA/Navigatie" Image="\Images\cf\pda.png"><![CDATA[subcat in (405,406,407,404)]]></Filter>
  <Filter Name=" - Navigatie" Image="\Images\cf\nav.png"><![CDATA[subcat = 405]]></Filter>
  <Filter Name=""><![CDATA[cat in (1,2,3,4)]]></Filter>
  <Filter Name="Tags" Image="\Images\cf\tag.png"><![CDATA[cat in (1,2,3,4)]]></Filter>
</Spotnet>
Doe er Uw voordeel mee.

Re: Zelf aanpassen van Filters

Geplaatst: 14 mar 2011, 20:37
door arie250713
Dank je voor de tip.
Deze ga ik erin zetten.
hoop dat ie dan mooier is als wat ik tot nu toe tegenkwam.

Groet
Arie

Re: Zelf aanpassen van Filters

Geplaatst: 14 mar 2011, 20:44
door Just Be
Bedankt voor het delen, heb mijn eigen filter bestand net klaar .
maar ga zeker eens kijken of het inderdaad sneller is met IN (,,,,,,,) ;)

Heb je nog meer handige codes ?
Ben zelf aan het hobbyen met SelectedImage =
Wel veel werkt want je moet weer een ander icoontje maken, maar is wel grappig.
Zo veranderd het icoontje als je erop klikt.

Re: Zelf aanpassen van Filters

Geplaatst: 14 mar 2011, 21:57
door Rickezz
Hey cool! Das handig, dankjewel!
Heb je nog meer tips die bij de meeste beginners nog niet bekend zijn?

Re: Zelf aanpassen van Filters

Geplaatst: 15 mar 2011, 01:03
door Rickezz
Van jou afgekeken heb ik van deze filter:

<![CDATA[subcat = 400 AND NOT subcats LIKE '%b16|%']]>

deze gemaakt:

<![CDATA[extcat = 400 and not extcat = 416]]>

en het werkt!
Alle haakjes, hoofdletters en subcats LIKE weg.

alleen van bv de volgende filter kan ik niks beters maken:

<![CDATA[extcat = 400 and subcats like '%b0|%']]>

Het probleem is dat 400 a0 is en b0 dus nooit 400 kan zijn.
Dat geldt dus voor b0 t/m 5.
Dit probleem zie je bij beeld, geluid en applicaties als de tagcodes verspringen van a naar b en c.
Das wel jammer eigenlijk...
Bestaat hier een oplossing voor?

Re: Zelf aanpassen van Filters

Geplaatst: 15 mar 2011, 07:11
door peterpc
Om een volledige reeks te testen, bijvoorbeeld 'volledig overzicht' kan ook
de 'BETWEEN' operator gebruikt worden, dus :

cat in (1,2,3,4,5,6,7,8,9,10)

gaat er zo uit zien :

cat between 1 and 10

Re: Zelf aanpassen van Filters

Geplaatst: 15 mar 2011, 10:18
door Rickezz
Ook bedankt voor die tip!

Re: Zelf aanpassen van Filters

Geplaatst: 15 mar 2011, 10:33
door peterpc
Rickezz schreef: alleen van bv de volgende filter kan ik niks beters maken:

<![CDATA[extcat = 400 and subcats like '%b0|%']]>
Deze misschien : subcat = 400 and subcats like '%b0|%'

Re: Zelf aanpassen van Filters

Geplaatst: 15 mar 2011, 10:36
door Rickezz
peterpc schreef:
Rickezz schreef: alleen van bv de volgende filter kan ik niks beters maken:

<![CDATA[extcat = 400 and subcats like '%b0|%']]>
Deze misschien : subcat = 400 and subcats like '%b0|%'
Werkt allebei. Ik doelde meer op het laatste stukje.
Het zou handig zijn and subcats like '%b0|%' weg te kunnen werken in een simpelere vorm zoals in mijn eerste voorbeeld.

Re: Zelf aanpassen van Filters

Geplaatst: 15 mar 2011, 11:16
door peterpc
Ik ben bang dat als er voor een bepaalde categorie geen subcat meer zijn, er geen andere
mogelijkheid is dan de subcats like constructie. En gebruik maken van extcat is ook niet
aan te raden, want ik kwam bijvoorbeeld extcat 799 tegen waar ik even geen brood van
kan bakken.