[ vladimirn @ 05.03.2007. 13:02 ] @
Pokusacu da u najkracem mogucem obliku objasnim u cemu je problem: Nasledio sam rad na jednom CMS-u. Jedan od modula koji je uradjen je modul News. U okviru CMS-a moze biti vise modula News. Svaki od tih modula ima svoj ID. Svaki od njih takodje moze imati vise vesti u okviru samog sebe. Jedan modul ima vise vesti. CMS ima vise modula News. Pojavila se potreba da ja dodam arhivu vesti. Dodao sam polje u tabeli koje sam nazvao Arhiva, i nakon sto administrtaor klikne na "Stavi u arhivu" , polje u tabeli se updateuje i dobije vrednost '1'. Po defaultu sam stavio da je '0'. Treba da prikazem otprilike ovo: Ako odredjeni Modul News (tu odredjujem koji je tako sto radim upit ka bazi da mi se izdvoje ModuleID svih koji imaju Arhiva='1') ima arhivu, u zaglavlju samog modula prikazi link "arhiva". Na izgled jednostavno, pojavio se problem. Kada u tabeli News, postoji makar samo jedno polje Arhiv koje ima vrednost '1', meni se u zaglavlju svih Modula News, pojavljuje link ka arhivi. Trebalo bi da s pokaze samo u onom Modulu koji ima arhivu, odnosno gde je stanje Arhiva='1'. Dakle, primera radi, Modul News ima sledece podatke: ModuleID | Title | ShortDesc | LongDesc | Arhiva(ovo sam ja dodao) 1 Naslov Kratak opis Duzi opis 1 2 Naslov Kratak opis Duzi opis 0 1 Naslov Kratak opis Duzi opis 0 2 Naslov Kratak opis Duzi opis 1 Kao sto vidite, Modul koji ima isti ID moze da ima nekoliko vesti. Neke su u arhivi a neke ne. Jednostavno nemam ideju kako da to prikazem. Uradio sam , izmedju ostalog i sledece(ovo je poslednje sto sam napisao, takod a verovatno i ne radi i besmisleno je, ali meni mozak kljuca, tako da ...pardon :)): Code: function CheckArhiv($mid){ global $conn,$smarty; $sql_arhiva="select ModuleID, Arhiva from news where Arhiva='1'"; $sql=mysql_query($sql_arhiva); while ($arhiva=mysql_fetch_array($sql)) { if ($modid==$mid and $arhiv==1) { $smarty->assign("arhiva","Arhiva"); }} } elem to je samo jedna od kombinacija koje sam pokusao. Zatim sam na template koji prikazuje stranicu stavio: Code: {if $CentralPane_content[b].ModuleDefID==3 and $arhiva}{if $arhiva}<a href="?modid={$CentralPane_content[b].ModuleID}&portalid={$portalid}&p=viewArchive">{php} echo NEWSARCHIV;{/php}</a>{/if}{/if} Na kraju kao rezultat dobijam ono sto rekoh na pocetku: Ukoliko se u tabeli pronadje makar samo jedno polje gde je Arhiva='1', u svakom Modulu News, ja dobijem link ka arhivi za taj modul. 'Rvem se sa ovim nekoliko dana kombinujuci, ali ne uspevam. Pls help :) [Ovu poruku je menjao vladimirn dana 07.03.2007. u 15:10 GMT+1] [Ovu poruku je menjao vladimirn dana 07.03.2007. u 16:05 GMT+1] [Ovu poruku je menjao vladimirn dana 08.03.2007. u 13:39 GMT+1] |