Podkategorie w dziale download
|
metaxy |
Dodany dnia 30.01.2005 21:30:35
|
Przedszkolak
Postów: 90
Data rejestracji: 23.01.2005 11:32
|
Szukam sposobu na utworzenie podkategoriiw dziale download. Przykładowo powinno to wyglądać tak :
Download -> Kategoria 1 -> Podkategoria 1 -> Plik 1
Nie mam pojęcia jak to zrobić ale wszyscy którzy wpadną na jakieś pomysły mile widziani. |
|
|
|
Wścibski Gość |
Dodany dnia 22.12.2024 09:32:49
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
sonar |
Dodany dnia 30.01.2005 22:01:31
|
Początkujący
Postów: 269 Ostrzeżeń: 1
Data rejestracji: 03.09.2004 18:59
|
o ile sie nie myle to ten problem bym juz poruszany na tym forum i nie znaleziono sposobu na poprawienie tej rzeczy. jedyna rzecza ratujaca w tym wypadku jest osobny system downloadu |
|
|
|
seba22 |
Dodany dnia 31.01.2005 22:22:40
|
Początkujący
Postów: 142
Data rejestracji: 02.12.2004 11:16
|
Nom ja tego kiedys szukałem ale nie znalazlem i zrezygnowalem z tego CMS'a do funkcji ogromnego downloadu.... ale mozesz samemu se skrypt napisac
|
|
|
|
cmike |
Dodany dnia 31.01.2005 23:01:10
|
Przedszkolak
Postów: 60
Data rejestracji: 26.01.2005 22:25
|
To jest do zrobienia. Ja coś takiego robiłem przerabiając trochę kod o bazę na przykładzie PHP-Nuke'a. Można to zobaczyć na mojej stronie. Wystarczy do bazy dodać dodatkową kolum,nę - np.: download_parent_id a następnie na tej zasadzie ułożyć hierarchię.
|
|
|
|
seba22 |
Dodany dnia 01.02.2005 09:39:01
|
Początkujący
Postów: 142
Data rejestracji: 02.12.2004 11:16
|
Ale reasumujac to nie jest takie Hip Hop bo tzeba znac PHP i to z baza danych a to juz o wiele wyrzsza technologia !
Ale mozna se napisac w pare minut taki katalog na plikach textowych... kompletnie zastepujacy standardowy ale to za duzo roboty i 3eba se dac sianka...
|
|
|
|
metaxy |
Dodany dnia 01.02.2005 14:49:48
|
Przedszkolak
Postów: 90
Data rejestracji: 23.01.2005 11:32
|
Ja poradziłem sobie z tym problemem nieco inaczej. Zamiast linków do Głównych kategorii, wstawiłem do pliku download.php, parę modyfikacji i teraz wszystko jest oddzielone nagłówkami tabeli. Wystarczyło z bazy odczytać dowload_cat_id i na tej podstawie je pooddzielać. Nie jest to doskonałe, ale narazie wystarcza. |
|
|
|
port |
Dodany dnia 02.02.2005 15:52:32
|
Przedszkolak
Postów: 46
Data rejestracji: 28.09.2004 18:29
|
A możesz udostępnić ten plik download.php oraz co wpisać do bazy ? Każdemu to się przyda |
|
|
|
metaxy |
Dodany dnia 02.02.2005 18:29:19
|
Przedszkolak
Postów: 90
Data rejestracji: 23.01.2005 11:32
|
Jak już stwierdziłem nie jest to doskonałe bo wymaga, zaglądnięcia do bazy i sprawdzenia jaki numer dowload_cat_id ma ostatnia kategoria nas interesująca. Tak więc zmiany zaczynają się od lini bodajże 29 :
$columns = [color=red]1; $counter = 0;
echo "<table width='100%' cellspacing='0' cellpadding='0' class='tbl'>\n<tr>\n";
echo "<td class='full-header'>Nazwa pierwszej kategorii</td></tr><tr>";
while ($data = dbarray($result)) {
if ($counter != 0) if($counter % $columns == 0) echo "</tr>\n<tr>\n";
$num = dbcount("(download_cat)", "downloads", "download_cat='".$data['download_cat_id']."'");
echo "<td align='left' valign='top'><a href='$PHP_SELF?cat_id=".$data['download_cat_id']."'>".$data['download_cat_name']."</a> <span class='small2'>($num)</span>";
if ($data['download_cat_description'] != "") echo "<br>\n<span class='small'>".$data['download_cat_description']."</span>";
echo "</td>\n";
$counter++;
[/color]
if ($data['download_cat_id'] == 20) echo "<tr class='full-header'><td>Nazwa drugiej kategorii</td></tr>";
if ($data['download_cat_id'] == 40) echo "<tr class='full-header'><td>Nazwa kolejnej kategorii</td></tr>";
Liczbę kolumn zmieniłem na 1 poineważ głupio inaczej wyglądało, ale każdy może zostawić sobie 2, jednakże wtedy nagłówki są obcinane.
To co mamy w ostatnich linijkach kopiujemy zmieniając tylko numery download_cat_id znajdują się one w tableli fusion_download_cats. Dla mnie ten sposób jest dobry ponieważ mam wszystkie kategorie tworzone za kolejnością alfabetyczną. Jeśli komuś to nie spasuje zawsze może z download_cat_name pobierać pierwszy znak jednak wtedy kategorie należące do tego samego działu muszą rozpoczynać się tym samym znakiem. Troszkę to zawiłe, a już napewno prostackie, ale dla mnie wystarcza.
Jeśli ktoś ma lepszy pomysł lub pomysł jak ulepszyć to co ja natworzyłem proszę uprzejmie. |
|
|
|
cmike |
Dodany dnia 02.02.2005 22:16:31
|
Przedszkolak
Postów: 60
Data rejestracji: 26.01.2005 22:25
|
<?
/*--------------------------------------------+
| PHP-Fusion 5 - Content Management System |
|---------------------------------------------|
| author: Nick Jones (Digitanium) ? 2002-2005 |
| web: http://www.php-fusion.co.uk |
| email: |
|---------------------------------------------|
| Released under the terms and conditions of |
| the GNU General Public License (Version 2) |
+--------------------------------------------*/
@include "fusion_config.php";
include "fusion_core.php";
include "subheader.php";
include "side_left.php";
include FUSION_LANGUAGES.FUSION_LAN."downloads.php";
function CoolSize($size) {
$mb = 1024*1024;
if ( $size > $mb ) {
$mysize = sprintf ("%01.2f",$size/$mb) . " MB";
} elseif ( $size >= 1024 ) {
$mysize = sprintf ("%01.2f",$size/1024) . " Kb";
} else {
$mysize = $size . " bytes";
}
$mysize="<small>(".$mysize.")</small>";
return $mysize;
}
if (isset($download_id)) {
$result = dbquery("UPDATE ".$fusion_prefix."downloads SET download_count=download_count+1 WHERE download_id='$download_id'");
$result = dbquery("SELECT download_url FROM ".$fusion_prefix."downloads WHERE download_id='$download_id'");
$data = dbarray($result);
header ("Location: ".$data['download_url']);
}
if (isset($file_id)) {
opentable(LAN_400);
$result = dbquery("SELECT * FROM ".$fusion_prefix."downloads WHERE download_id='$file_id'");
$numrows = dbrows($result);
$i = 1;
while ($data = dbarray($result)) {
echo "<table align=center width=100% cellspacing=0 cellpadding=2 border=0><tr><td width=24 rowspan=2 valign='top'><img src=\"images/topics/".$data['download_os']."\" title=\"".$data['download_title']."\" alt=\"".$data['download_title']."\" align=left></td>
<td align=left class=main-body><a href='$PHP_SELF?cat_id=".$data['download_cat']."&download_id=".$data['download_id']."' target='_blank'><strong>".$data['download_title']."</strong></a> ".CoolSize($data['download_filesize'])." $new<br>\n";
if ($data['download_description'] != "") echo $data['download_description']."<br></td></tr><tr><td align=right>\n";
$dado=explode(' ',$data['download_datestamp']);
$dodanie=$dado[0];
echo "<span class='small'><font class='alt'>".LAN_414."</font> <B>".$dodanie."</B> |
<font class='alt'>".LAN_413."</font> <B>".$data['download_version']."</B> |
<font class='alt'> Rozmiar: </font> <B>".CoolSize($data['download_filesize'])."</B> |
<font class='alt'><a href=\"".$data['download_license']."\" target=_blank>".LAN_411."</a></font> |
<font class='alt'>".LAN_415."</font> <B>".$data['download_count']."</B></span></div>\n";
echo "</td></tr></table><hr size='1' style='border-top: 1px solid #000000;' noshade>\n";
$i++;
}
echo "<center><br><input type='button' value='WSTECZ' class='button' onClick='history.go(-1);'><br><br></center>";
closetable();
}
if (!isset($cat_id)) {
opentable(LAN_400);
$result = dbquery("SELECT * FROM ".$fusion_prefix."download_cats WHERE download_parent_id=0 ORDER BY download_cat_name");
$rows = dbrows($result);
if ($rows != 0) {
$columns = 2; $counter = 0;
echo "<table width='100%' cellspacing='0' cellpadding='5' class='tbl'>\n<tr>\n";
while ($data = dbarray($result)) {
if ($counter != 0) if($counter % $columns == 0) echo "</tr>\n<tr>\n";
$num = dbcount("(download_cat)", "downloads", "download_cat='".$data['download_cat_id']."'");
// ile plików
$id_cat=$data['download_cat_id'];
$result5 = dbquery("SELECT * FROM ".$fusion_prefix."download_cats WHERE download_parent_id='$id_cat'");
while ($liczo=dbarray($result5)) {
$kateg=$liczo['download_cat_id'];
$dum = dbcount("(download_cat)", "downloads", "download_cat='$kateg'");
$num=$dum+$num;
}
//koniec
$result2 = dbquery("SELECT * FROM ".$fusion_prefix."download_cats WHERE download_parent_id='$id_cat'");
$ile_cat=mysql_num_rows($result2);
echo "<td align='left' valign='top' width='50%'><hr width=90% align=left valign='bottom'><a href='$PHP_SELF?cat_id=".$data['download_cat_id']."'><b>".$data['download_cat_name']."</b></a> <span class='small2'>($ile_cat podkategorii - $num plików)</span><br>";
if ($data['download_cat_description'] != "") echo "<br>\n<span class='small'>".$data['download_cat_description']."</span>";
// podkategorie
$rows2 = dbrows($result2);
if ($rows2 != 0) {
while ($data2 = dbarray($result2)) {
if ($counter2 != 0)
echo "<small><a href='$PHP_SELF?cat_id=".$data2['download_cat_id']."'>".$data2['download_cat_name']."</a></small>, ";
if ($data2['download_cat_description'] != "") echo "<br>\n<span class='small'>".$data2['download_cat_description']."</span>";
$counter2++;
}
}
// koniec
echo "</td>\n";
$counter++;
$totp=$totp+$num;
$num=0;
}
echo "</tr>\n</table>\n<br><center>PLIKÓW W BAZIE: <b>$totp</b></center><br>";
} else {
echo "<center><br>\n".LAN_430."<br><br>\n</center>\n";
}
closetable();
} else {
if (!isNum($cat_id)) { header("Location:".$PHP_SELF); exit; }
if ($data = dbarray(dbquery("SELECT * FROM ".$fusion_prefix."download_cats WHERE download_cat_id='$cat_id'"))) {
opentable(LAN_400.": ".$data['download_cat_name']);
// podkategorie
$rezultat = dbquery("SELECT * FROM ".$fusion_prefix."download_cats WHERE download_parent_id='$cat_id' ORDER BY download_cat_name");
$wiersze = dbrows($rezultat);
if ($wiersze != 0) {
$cols = 2; $licz = 0;
echo "<table width='100%' cellspacing='0' cellpadding='5' class='tbl'>\n<tr><td colspan='2' align='left'> <b><u>PODKATEGORIE</u></b></td></tr><tr>\n";
while ($dane = dbarray($rezultat)) {
if ($licz != 0) if($licz % $cols == 0) echo "</tr>\n<tr>\n";
$ilep = dbcount("(download_cat)", "downloads", "download_cat='".$dane['download_cat_id']."'");
$id_cat=$dane['download_cat_id'];
$rezultat2 = dbquery("SELECT * FROM ".$fusion_prefix."download_cats WHERE download_parent_id='$id_cat'");
$ile_cat=mysql_num_rows($rezultat2);
echo "<td align='left' valign='top' width='50%'><a href='$PHP_SELF?cat_id=".$dane['download_cat_id']."'><b>".$dane['download_cat_name']."</b></a> <span class='small2'>($ile_cat podkategorii - $ilep plików)</span><br>";
if ($dane['download_cat_description'] != "") echo "<br>\n<span class='small'>".$dane['download_cat_description']."</span>";
echo "</td>\n";
$licz++;
}
echo "</tr>\n</table>\n";
} else {
$podk=LAN_430;
$podkat=explode(' ',$podk);
$pod=$podkat[0]." pod".$podkat[1];
echo "<br> $pod<br><br>\n";
}
// koniec
echo "<hr class=side-hr>";
$rows = dbcount("(*)", "downloads", "download_cat='$cat_id'");
if (!$rowstart) $rowstart = 0;
if ($rows != 0) {
echo "<br> <b><u>PLIKI</u></b><br><br><hr class=side-hr>";
$result = dbquery("SELECT * FROM ".$fusion_prefix."downloads WHERE download_cat='$cat_id' ORDER BY download_title LIMIT $rowstart,15");
$numrows = dbrows($result);
$i = 1;
while ($data = dbarray($result)) {
echo "<table align=center width=100% cellspacing=0 cellpadding=2 border=0><tr><td width=24 rowspan=2 valign='top'><img src=\"images/topics/".$data['download_os']."\" title=\"".$data['download_title']."\" alt=\"".$data['download_title']."\" align=left></td><td align=left class=main-body><a href='$PHP_SELF?cat_id=$cat_id&download_id=".$data['download_id']."' target='_blank'><strong>".$data['download_title']."</strong></a> ".CoolSize($data['download_filesize'])." $new<br>\n";
if ($data['download_description'] != "") echo $data['download_description']."<br></td></tr><tr><td align=right>\n";
$dado=explode(' ',$data['download_datestamp']);
$dodanie=$dado[0];
echo "<span class='small'><font class='alt'>".LAN_414."</font> <B>".$dodanie."</B> |
<font class='alt'>".LAN_413."</font> <B>".$data['download_version']."</B> |
<font class='alt'> Rozmiar: </font> <B>".CoolSize($data['download_filesize'])."</B> |
<font class='alt'><a href=\"".$data['download_license']."\" target=_blank>".LAN_411."</a></font> |
<font class='alt'>".LAN_415."</font> <B>".$data['download_count']."</B></span></div>\n";
echo "</td></tr></table><hr size='1' style='border-top: 1px solid #000000;' noshade>\n";
$i++;
}
echo "<center><br><input type='button' value='WSTECZ' class='button' onClick='history.go(-1);'><br><br></center>";
closetable();
echo "<div align='center' style='margin-top:5px;'>\n".makePageNav($rowstart,15,$rows,3,"$PHP_SELF?cat_id=$cat_id&")."\n</div>\n";
} else {
echo "<br><center>".LAN_431."</center><br><br>\n";
echo "<center><br><input type='button' value='WSTECZ' class='button' onClick='history.go(-1);'><br><br></center>";
closetable();
}
} else {
header("Location:".$PHP_SELF); exit;
}
}
include "side_right.php";
include "footer.php";
?>
Oto zawartość całego mojego pliku downloads.php.
Tak wyglądą po zmodyfikowaniu tablei - trzeba do niej dodać kolumnę download_parent_id.
:D:D:D:D
Edytowane przez cmike dnia 03.02.2005 10:04:51
|
|
|
|
seba22 |
Dodany dnia 02.02.2005 22:44:45
|
Początkujący
Postów: 142
Data rejestracji: 02.12.2004 11:16
|
Podaj adres sita gdzie mozna zobaczyc efekt )))
A jak bys dal edytuj zaznaczyl opcje "wylacz emoty" to bys byl master ! ))
|
|
|
|
cmike |
Dodany dnia 03.02.2005 10:05:58
|
Przedszkolak
Postów: 60
Data rejestracji: 26.01.2005 22:25
|
Działanie tego modu można zobaczyć na freeware.wnet.net.pl
|
|
|
|
seba22 |
Dodany dnia 03.02.2005 13:47:51
|
Początkujący
Postów: 142
Data rejestracji: 02.12.2004 11:16
|
E no wyglada ladnie calkiem calkiem calkiem jak dodajesz podkategorie ? szczeze ? zrobiles jakas wtyczke do panelu admina ?
|
|
|
|
SebaZ |
Dodany dnia 03.02.2005 14:42:01
|
Zaawansowany
Postów: 1598 Pomógł: 2
Data rejestracji: 10.11.2004 22:39
|
wystarczy lekko zmodyfikować plik ten co jest od dodawania download'u.
Dodajesz jedno pole edit - input i robisz żeby dodawało do download_parent_id wartość
Zadawanie pytań na forum to nie jest prawo, to jest przywilej, którego każdy może być pozbawiony jeżeli nie będzie umiał z niego korzystać. Nie wymagaj więc natychmiastowej odpowiedzi.
|
|
|
|
seba22 |
Dodany dnia 03.02.2005 14:52:39
|
Początkujący
Postów: 142
Data rejestracji: 02.12.2004 11:16
|
Coś tego nie czaje )) ze te pod meni ma sie wyswietlac tylko tam gdzie chcesz... jakos tego dont capiszzi !
|
|
|
|
port |
Dodany dnia 03.02.2005 15:14:41
|
Przedszkolak
Postów: 46
Data rejestracji: 28.09.2004 18:29
|
Trzeba zmodyfikować plik download.php żeby wyświetlał podkategorie, oraz pliki od admina dzięki którym można dodac podkategorie jak i pliki do nich. |
|
|