Seite 1 von 1

Alphabetisch sortieren!!!

Verfasst: 04.04.2005 11:51
von PetraK
Ich habe ein kleines Probelm, und zwar möchte ich innerhalb des Forums die Themen alphabetisch aufrufen so wie in der Mitgliederliste, zum Beispiel alle Säugetiere, die mit dem Buchstabe A, B, C, D etc. beginnen, sollen mit dem Buchstaben A, B, C oder D beginnend im Thread Säugetiere aufgelistet werden, zum besseren Verständnis:

[ externes Bild ]

http://www.tierdoku.de/viewforum.php?f=2

Wenn ich auf den Buchstaben A drücke, dann erscheint die Fehlermeldung, dass dieses Forum nicht existiert.

Kann es sein, dass die Einträge im viewforum.php nicht korrekt sind? Vielleicht müssen die Änderungen im viewtopic.php vorgenommen werden. Jedenfalls weiss ich hier nicht mehr weiter, vielleicht kann mir einer von den netten Usern bei dem Problem behilflich sein :P

Beste Grüsse PetraK[/img]

Verfasst: 04.04.2005 12:00
von Markus67
Hi ...

Hast du das selbst gebastelt oder irgendwo runtergeladen. So wie es aussieht wird da überhaupt nicht auf die entsprechende Foren-ID zugegriffen.

Markus

Verfasst: 04.04.2005 12:04
von PetraK
Hallo Markus,
ich habe es selbst gebastelt, natürlich in Anlehnung des Alphatischen Moduls Mitgliederliste, d. h. ich habe dieses Modul für die verschiedenen Thread etwas umgemodelt, aber wie Du siehst klappt es leider nicht.

Ich kann ja mal das Original-Script als Textdatei hochladen.

Verfasst: 04.04.2005 12:13
von PetraK
Das ist das Original für die Memberliste.

###############################################
## Hack Title: Sort memberlist per letter
## Hack Version: 1.0.1
## Author: Freakin' Booty ;-P
## Website: http://www.freakingbooty.tk
## Description: This enables people to search for users that have their name starting
## with a specific letter. You can also choose "others" (meaning non-alpha
## characters), and "all" (the regular list).
## Compatibility: 2.0.3 - 2.0.6
##
## Installation Level: Easy
## Installation Time: 4 - 5 minutes
## Files To Edit: 3
## memberlist.php
## language/lang_english/lang_main.php
## templates/SubSliver/memberlist_body.tpl
##
## Included Files: 0
##
## History:
## 1.0.0: Initial release
## 1.0.1: Hack tested and confirmed to work on 2.0.4 - 2.0.6 aswell.
## Added an HTML space so that the spacing is preserved at all times.
##
## Author Notes:
## None
##
## Support: http://www.phpbbhacks.com/forums
## Copyright: ©2003 Sort memberlist per letter 1.0.1 - Freakin' Booty ;-P
##
###############################################
## You downloaded this hack from phpBBHacks.com, the #1 source for phpBB related downloads.
## Please visit http://www.phpbbhacks.com/forums for support.
###############################################
##
###############################################
## This hack is released under the GPL License.
## This hack can be freely used, but not distributed, without permission.
## Intellectual Property is retained by the hack author(s) listed above.
###############################################

#
#-----[ OPEN ]--------------------------------------------
#
memberlist.php

#
#-----[ FIND ]--------------------------------------------
#
//
// End session management
//

#
#-----[ AFTER, ADD ]--------------------------------------
#
if(isset($HTTP_POST_VARS['letter']))
{
$by_letter = ($HTTP_POST_VARS['letter']) ? $HTTP_POST_VARS['letter'] : 'all';
}
else if(isset($HTTP_GET_VARS['letter']))
{
$by_letter = ($HTTP_GET_VARS['letter']) ? $HTTP_GET_VARS['letter'] : 'all';
}

#
#-----[ FIND ]--------------------------------------------
#
$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar

#
#-----[ BEFORE, ADD ]-------------------------------------
#
//
// Set per-letter selection
//
$others_sql = '';
$select_letter = '';
for ($i = 97; $i <= 122; $i++)
{
$others_sql .= " AND username NOT LIKE '" . chr($i) . "%' ";
$select_letter .= ( $by_letter == chr($i) ) ? chr($i) . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=" . chr($i) . "&mode=$mode&order=$sort_order&start=$start") . '">' . chr($i) . '</a>&nbsp;';
}
$select_letter .= ( $by_letter == 'others' ) ? $lang['Others'] . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=others&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['Others'] . '</a>&nbsp;';
$select_letter .= ( $by_letter == 'all' ) ? $lang['All'] : '<a href="' . append_sid("memberlist.$phpEx?letter=all&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['All'] . '</a>';

$template->assign_vars(array(
'L_SORT_PER_LETTER' => $lang['Sort_per_letter'],
'S_LETTER_SELECT' => $select_letter,
'S_LETTER_HIDDEN' => '<input type="hidden" name="letter" value="' . $by_letter . '">')
);

if($by_letter == 'all')
{
$letter_sql = '';
}
else if($by_letter == 'others')
{
$letter_sql = $others_sql;
}
else
{
$letter_sql = " AND username LIKE '$by_letter%' ";
}

#
#-----[ FIND ]--------------------------------------------
#
WHERE user_id <> " . ANONYMOUS . "
ORDER BY $order_by";

#
#-----[ REPLACE WITH ]------------------------------------
#
WHERE user_id <> " . ANONYMOUS . "$letter_sql
ORDER BY $order_by";

#
#-----[ FIND ]--------------------------------------------
#
$sql = "SELECT count(*) AS total
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS;

#
#-----[ REPLACE WITH ]------------------------------------
#
$sql = "SELECT count(*) AS total
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . $letter_sql;

#
#-----[ FIND ]--------------------------------------------
#
$pagination = generate_pagination("memberlist.$phpEx?mode=$mode&order=$sort_order", $total_members, $board_config['topics_per_page'], $start). '&nbsp;';

#
#-----[ INLINE, FIND ]-------------------------------------
#
&order=$sort_order

#
#-----[ AFTER, ADD ]--------------------------------------
#
# this is before the quote!
#
&letter=$by_letter

#
#-----[ OPEN ]--------------------------------------------
#
# make sure to edit this file for every language installed
#
language/lang_english/lang_main.php

#
#-----[ FIND ]--------------------------------------------
#
//
// That's all, Folks!
// -------------------------------------------------

#
#-----[ BEFORE, ADD ]-------------------------------------
#
//
// Sort memberlist per letter
//
$lang['Sort_per_letter'] = 'Show only usernames starting with';
$lang['Others'] = 'others';
$lang['All'] = 'all';

#
#-----[ OPEN]--------------------------------------------
#
# make sure to edit this file for every template installed
#
templates/subSilver/memberlist_body.tpl

#
#-----[ FIND ]--------------------------------------------
#
<input type="submit" name="submit" value="{L_SUBMIT}" class="liteoption" />
</span></td>
</tr>

#
#-----[ AFTER, ADD ]--------------------------------------
#
<tr>
<td colspan="2" align="right" nowrap="nowrap"><span class="genmed">{L_SORT_PER_LETTER}:&nbsp;{S_LETTER_SELECT}{S_LETTER_HIDDEN}</span></td>
</tr>

#
#-----[ SAVE & CLOSE ALL FILES ]--------------------------
#

Verfasst: 04.04.2005 12:17
von PetraK
Und in dem geänderten script steht statt memberlist.php viewforum.php, dementsprechend habe ich die Einträge auch in der viewforum.php vorgenommen.

Verfasst: 04.04.2005 12:47
von Markus67
Hi ...

Das funktioniert so nicht mit der viewforum da ja die Foren-ID in dem Script nicht mit berücksichtig wird.

Versuchs mal mit dem hier :wink:
[BETA] Sort Topics Alphabetically

Markus

Verfasst: 04.04.2005 13:03
von PetraK
Hallo Markus,
vielen lieben Dank für Deine Mühe, ich glaube, dass ist es, was ich so lange gesucht habe. Nochmals vielen Dank für Deine Hilfe :grin:

Grüsse PetraK

Verfasst: 04.04.2005 14:13
von PetraK
Hallo Markus,
es klappt mit dem Alphabet sehr gut, ich habe es schon eingebaut, kannst es Dir ja mal ansehen. Das Alphabet ist deshalb so wichtig für mich, da die Rubriken der Tierarten immer grösser werden und irgendwann verliert man die Übersicht und ich glaube für den User ist es auch einfacher.

Und nochmals vielen Dank Markus :grin:

Beste Grüsse PetraK

P.S. Ich war schon öfter auf Deiner Seite, gefällt mir sehr gut.
Hast Du einen kleinen Button in der Grösse 88 x 31 Pixel, ich würde nämlich gerne einen Link zu Deiner Seite einbauen.

Verfasst: 04.04.2005 18:21
von thompson
super mod. läßt sich sicher prima verwenden. ich glaube dafür habe ich auch schon eine idee.

vielen dank auch von mir.

Verfasst: 22.09.2005 13:17
von Emmelmann
Ich habe da ein Problem mit diesem Mod.

An für sich funktioniert er einwandfrei, doch wenn die Liste mehr als eine Seite hat, dann wird Seite 2 erst mal leer angezeigt und man muss um Seite 2 angezeigt zu bekommen wieder den Auswahlbuchstaben klicken.

Weiß da jemand eine Lösung?

Gruss
Peter