«Хлебные крошки» (Slaed 2.1 и выше)
Показывает полный путь для подкатегорий и файла по категориям, а именно
Категория / подкатегория1 / подкатегория2 / файл с возможностью быстрого перехода в любой раздел.
Пример работы Модуль Files
Все изменения проводим в Files/index.php
Куски буду брать с запасом, что бы лучше было понятно откуда они
Шаг 1
Устанавливаем функцию, формирующую путь Код | 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
| function krohi($id, $ptitle) {
global $prefix, $db, $module_name;
static $mas_kro;
$id = intval($id);
if (!is_array($mas_kro)) {
$result = $db->sql_query("SELECT cid, title, parentid FROM ".$prefix."_files_categories ");
while (list($cid, $title, $parentid) = $db->sql_fetchrow($result)) $mas_kro[$cid] = array($title, $parentid, $cid);
}
$flag = $mas_kro[$id][1];
if ($ptitle == "" ) {
$put = "<font class=\"option\">".$mas_kro[$id][0]."</font>";
} else {
$put = "<a title=\"Перейти к категории\" href=\"index.php?name=".$module_name."&op=cat&id=".$mas_kro[$id][2]."\">".$mas_kro[$id][0]."</a> / <font class=\"option\">".$ptitle."</font>";
}
while ($flag!=0) {
$put = "<a title=\"Перейти к категории\" href=\"index.php?name=".$module_name."&op=cat&id=".$mas_kro[$flag][2]."\">".$mas_kro[$flag][0]."</a> / ".$put;
$flag = $mas_kro[$flag][1];
}
if ($id=="0") {
if (isset($_GET['new']) OR isset($_GET['hits'])) {
$put = "<a title=\"Перейти к категории\" href=\"index.php?name=".$module_name."\">Начало раздела Files</a> / ".$ptitle."";
} else {
$put = "".$ptitle."";
}
}
return "<b>".$put."</b>";
} |
Шаг 2
function mainfiles() - для отображения пути при просмотре новых файлов и хитов
Шаг 2.1
Расширяем запрос на поле cid и не забываем вписать переменную $cid. Меняем Код | 1 2 3 4 5
| $result3 = $db->sql_query("SELECT lid, title, description, img, UNIX_TIMESTAMP(date) as formatted, votes, totalvotes, totalcomments, hits FROM ".$prefix."_files WHERE ".$order."");
if ($db->sql_numrows($result3) > 0) {
OpenTable();
echo "<center><font class=\"option\"><b>".$file_logo."</b></font><hr><br />";
while (list($lid, $f_title, $description, $f_img, $formatted, $votes, $totalvotes, $comment, $hits) = $db->sql_fetchrow($result3)) { |
на Код | 1 2 3 4 5
| $result3 = $db->sql_query("SELECT lid, cid, title, description, img, UNIX_TIMESTAMP(date) as formatted, votes, totalvotes, totalcomments, hits FROM ".$prefix."_files WHERE ".$order."");
if ($db->sql_numrows($result3) > 0) {
OpenTable();
echo "<center><font class=\"option\"><b>".$file_logo."</b></font><hr><br />";
while (list($lid, $cid, $f_title, $description, $f_img, $formatted, $votes, $totalvotes, $comment, $hits) = $db->sql_fetchrow($result3)) { |
Шаг 2.2
Меняем Код | 1
| <td>$zimg</td><td><a href=index.php?name=$module_name&op=view_file&lid=$lid title=\"$f_title\"><b>$f_title</b></a></td> |
на Код | 1
| <td>$zimg</td><td>".krohi($cid, "<a href=index.php?name=$module_name&op=view_file&lid=$lid title=\"$f_title\"><b>$f_title</b></a>")."</td> |
Шаг 3
function cat() отображаем принадлежность подкатегории к категории, меняем Код | 1 2 3 4
| menu();
OpenTable();
echo "<center><font class=\"option\">$cat_title</font><br />$cat_description</center>";
CloseTable(); |
на Код | 1 2 3 4
| menu();
OpenTable();
echo "<center><b><a title=\"Перейти к категории\" href=\"index.php?name=".$module_name."\">Начало раздела Files</a> / </b>".krohi($cid, "")."<br />$cat_description</center>";
CloseTable(); |
Шаг 4
function view_file() отображаем принадлежность файла к категории, меняем Код | 1
| echo "<center><font class=\"option\">$title</font></center><hr>" |
на Код | 1
| echo "<center><b><a title=\"Перейти к категории\" href=\"index.php?name=".$module_name."\">Начало раздела Files</a> / </b>".krohi($cid, "$title")."</center><hr>" |
Всё готово.
PS: для 2.0 Lite и ниже нужно еще в функции на Шаге 1 правильно раздавать ссылки на просмотр категорий содержащих подкатегории и не содержащих.
Дата публикации: 03.08.2007 Прочитано: 11124 раз |
|