Подсчет количества статей (pages'ов) в текущей категории Slaed 2.1 и выше (Lite ветка)
По заявкам. Правда писал по 2.5, но код идентичен, если не на 100%, то на 99.
Всё прокомметированно.
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| <?php function categories($id="") { global $prefix, $db, $module_name, $multilingual, $currentlang, $tablenumhome, $homesubcat, $catdescrhome, $shownumeric; static $massiv, $massiv2, $massiv3; $id = (intval($id)) ? $id : 0; if ($id) { $where = "WHERE parentid = '$id'"; } elseif ($id && $multilingual) { $where = "WHERE parentid = '$id' AND (planguage='$currentlang' OR planguage='')"; } elseif ($multilingual) { $where = "WHERE planguage='$currentlang' OR planguage=''"; } else { $where = ""; } $tdwidth = intval(100/$tablenumhome); if (!is_array($massiv)) { $result = $db->sql_query("SELECT cid, title, description, parentid FROM ".$prefix."_pages_categories ".$where.""); while (list($cid, $title, $description, $parentid) = $db->sql_fetchrow($result)) $massiv[] = array($cid, $title, $description, $parentid); } if (!is_array($massiv2)) { $result = $db->sql_query("SELECT cid, title, description, parentid FROM ".$prefix."_pages_categories"); while (list($cid, $title, $description, $parentid) = $db->sql_fetchrow($result)) $massiv2[] = array($cid, $title, $description, $parentid); }
// начало вставки 1 if (!is_array($massiv3)) { $result = $db->sql_query("SELECT cid, Count(pid) FROM ".$prefix."_pages WHERE active != '0' GROUP BY cid"); while (list($cid, $summ) = $db->sql_fetchrow($result)) $massiv3[$cid] = $summ; } // конец вставки 1
if ($massiv) { foreach ($massiv as $key => $val) { if ($val[3] == $id) {
// добавлено условие, что бы выводился ноль, в случае отсутствия файлов в категории if (!isset($massiv3[$val[0]])) {$massiv3[$val[0]] = 0;}
// добавлено $massiv3[$val[0]] $description = ($catdescrhome) ? "<tr><td colspan=\"2\"><i>".$val[2]."</i></td></tr>" : ""; $ccontent .= "<td valign=\"top\" width=\"".$tdwidth."%\"><table border=\"0\"><tr><td><img border=\"0\" src=\"images/blocks/Pages.gif\" title=\"$title\"></td><td width=\"100%\"><a href=\"index.php?name=$module_name&op=cat&id=$val[0]\" title=\"$val[1]\"><b>$val[1]</b></a> (".$massiv3[$val[0]].")</td></tr>".$description."";
if ($homesubcat == 1 && $massiv2) { foreach ($massiv2 as $key => $val2) { if ($val[0] == $val2[3]) { // добавлено условие, что бы выводился ноль, в случае отсутствия файлов в категории if (!isset($massiv3[$val2[0]])) {$massiv3[$val2[0]] = 0;}
// добавлено $massiv3[$val2[0]] $ccontent .= "<tr><td colspan=\"2\"><img border=\"0\" src=\"images/navi.gif\" title=\"$val2[1]\"> <a href=\"index.php?name=$module_name&op=cat&id=$val2[0]\" title=\"$val2[1]\">$val2[1]</a> (".$massiv3[$val2[0]].")</td></tr>"; } } } $ccontent .= "</table></td>"; if ($cont == ($tablenumhome - 1)) { $ccontent .= "</tr><tr>"; $cont = 0; } else { $cont++; } } } } if ($ccontent) { OpenTable(); echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\" align=\"center\"><tr>".$ccontent."</td></tr></table>"; if ($shownumeric == 1) { list($pages_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(pid) FROM ".$prefix."_pages WHERE active='1'")); list($cat_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(cid) FROM ".$prefix."_pages_categories")); echo "<hr><center>"._ALLP.": <b>$pages_num</b> "._ALLP2." <b>$cat_num</b> "._ALLP3."</center>"; } CloseTable(); } } ?> |
Дата публикации: 17.12.2007 Прочитано: 8362 раз |