Reference: Last minute | Za Sněhem | Fotovandr | Vandrovník | Adresář firem | Bazar | Inzerce zdarma | Knihy | Registr firem | Reklamní plochy
DEVELOPER ZONE
RS MultiCMS
Redakční systém MultiCMS je variabilní a flexibilní systém. Tato sekce obsahuje informace o práci se systémem a možnostech přizpůsobení systému. Více obecných informací naleznete na hlavní stránce.
Hledání
Hledat
Rubriky
O stránkách
Export a import
Nové funkce
Plánované funkce
Podpora SEO
Propojení s aplikacemi
Systém
Ukázky skriptů
Začínáme tvořit
Řešení problémů
Diskuze
Lepsi diskuze3 (3)
Ovládací panel pro články, aliasy a další5 (5)
Dotazy0
Obecné0
Všechny diskuze
Přidat nové téma
Anketa
Co považujete za přednost systému?
otevřenost díky API
6363
virtuální souborů systém
1717
snadnou rozšiřitelnost
1111
WYSIWYG editor
3939
nevidím žádnou výhodu
5454
jiné
99
Odběr novinek
Zapsat
Online Help
Help
Reference
RSS
Developer Zone
Designer Zone
Powered by MultiCMS
Zpět na MultiCMS.net
Výpis článků
superadmin / 15.08.2005
Tento skript nabízí jednu možnost jak vypisovat články. První jsou vypisovány blokově, ostatní řádkově.
 

Tento skript je poměrně rozsáhlý a nebudeme ho komentovat. Jen upozorníme na několik detailů:

  • výpis se provádní kompletně jen v jednom cyklu, aby nebyl žádný výpis na více místech
  • toto celkem znepřehlednilo tento kód, ale doufáme, že poskytne alespoň nějakou motivaci
  • na úvodu je možné nastavit počet sloupců a řádků prvotního výpisu a dále řádkového výpisu
  • je nutné doplnit CSS
<?
define("PEREX_MAXLEN",150);
$v_cols=2;
$v_rows=3;
$v_list=20;
$v_plist=80;
$pfrom=(int)$pfrom;
if($cat>=0) {
 $tc=&$site->GetCat($cat ? $cat : $SysParam["CatSections"]);
 $items=&$site->GetItems($tc->GetSubCatsVector(),DTYPE_PAGE,array("data7","pdate DESC","idate DESC"),$pfrom,$v_plist+1);
}
else {
 $items=&$site->GetItemsEx("SELECT * FROM $tblItems WHERE (INSTR(LCASE(data1),'".strtolower($stext)."') OR INSTR(LCASE(data3),'".strtolower($stext)."') OR INSTR(LCASE(data11),'".strtolower($stext)."')) AND type=".DTYPE_PAGE,array("data7","pdate DESC","idate DESC"),$pfrom,$v_plist+1);
}
$items->RemoveUnpublished();
if($cat>=0&&$items->Count()==1) { //přímé zobrazení článku pokud je jen jeden v adresáři
 $pitem=&$items->Items(0);
 $art=$pitem->Index();
 $page="page";
 include "pages/$page.php";
}
else {
 $rl=1;
 $re=0;
 $cnt=($items->Count()<($pfrom ? $v_plist : $v_cols*$v_rows+$v_list) ? $items->Count() : ($pfrom ? $v_plist : $v_cols*$v_rows+$v_list));
 for($c=0;$c<$cnt;$c++) {
  $pitem=&$items->Items($c);
 
  $pimage=$pitem->PublishImage();
  $autor=&$site->GetUser($pitem->Owner());
  $link=$pitem->GetLink();
 
  if($rl&&($v_rows*$v_cols==$c||$pfrom)) {
   $rl=0;
  }
  if(!$rl) {
   if(!$re) {
    if(!$pfrom) Grid_End($v_cols,$c+1);
    echo "<table width="100%" cellpadding="0"><tr><td class="clnazev" colspan="3">";
    Header_Print("Ostatní články");
    echo "</td></tr>";
    $re=1;
   }
  }
  if($rl&&!$c) Grid_Start(" width="100%" border="0" cellpadding="0" cellspacing="0"");
  if($rl&&!$re) Grid_Next($v_cols,$c+1," valign="top"","<td>&nbsp;</td>");
 
  if($rl) {
?>
<table width="100%" cellpadding="0">
 <tr><td class="clnazev"><?Header_Print(str_replace(" ","&nbsp;",$pitem->Name()),$link);?></td></tr>
 <tr><td class="clzahlavi">
  <?echo Date("j.m.Y",$pitem->PublishDate()); echo " - <a href="index.php?$loginparam"."page=zprava&amp;idx=".$pitem->Index()."">"; echo !$autor->Anonymous() ?  $autor->Name() : "anonymně"; echo "</a>";?>
  <div class="clfloatright"><?$catitem=&$site->GetCat($pitem->Cat());?><a href="index.php?&lt;?echo $loginparam;?>cat=<?echo $catitem->Index();?>"><?echo $catitem->Caption();?></a></div>
 </td></tr>
 <tr><td class="clpopis">
  <?if($pimage) { $image=$site->GetItem($pimage);?><a href="<?echo $link;?>"><img alt="" class="tit" src="<?echo $image->GetLink(1,"mw=80");?>" border="0"></a><? } ?>
  <?echo strlen($pitem->Description())>PEREX_MAXLEN ? substr($pitem->Description(),0,PEREX_MAXLEN)."..." : $pitem->Description();?>
 </td></tr>
 <tr><td class="clzapati"><a href="<?echo $link;?>"><img alt="" src="img/tl_button.gif" border="0"> Více</a><?if($pitem->DiscussionAllowed()):?> | <a href="index.php?&lt;?echo $loginparam."page=disc&amp;disc=".$pitem->Index();?>">Diskuze - <?echo $pitem->GetDiscussionNotesCount(); $latest=$pitem->GetDiscussionLatestNotesCount(); if($latest) echo " ($latest)";?> příspěvků</a><?EndIf;?></td></tr>
</table>
<?
  }
  else {
?>
 <tr><td class="cllnazev"><a href="<?echo $link;?>"><?echo $pitem->Name();?></a></td><td class="cllzahlavi"><?echo Date("j.m.Y",$pitem->PublishDate());?></td><td class="cllzapati"><a href="<?echo $link;?>"><img alt="" src="img/tl_button.gif" border="0"> Více</a><?if($pitem->DiscussionAllowed()):?> | <a href="index.php?&lt;?echo $loginparam."page=disc&amp;disc=".$pitem->Index();?>">Diskuze - <?echo $pitem->GetDiscussionNotesCount(); $latest=$pitem->GetDiscussionLatestNotesCount(); if($latest) echo " ($latest)";?> příspěvků</a><?EndIf;?></td></tr>
<?
  }
 }
 if(!$rl) {
  if($c+1<$items->Count()) {
?>
 <tr><td class="clzapati" colspan="3"><a href="index.php?&lt;?echo $loginparam?>pfrom=<?echo $c;?>"><img alt="" src="img/tl_button.gif" border="0"> Daląí články</a></td></tr>
<?
  }
  echo "</table>";
 }
 if(!$items->Count()) {
  Header_Print("Ostatní články");
  echo "ľádné články";
 }
}
?>
 
 
Přečteno 512x
 
Komentáře
 
Přidat komentář
Vypsat označené komentáře
Vypsat všechny komentáře
 
Zpět