[Erledigt] Suche Mod "User des Monats"

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
issjut
Mitglied
Beiträge: 503
Registriert: 15.10.2007 22:05
Wohnort: Berlin
Kontaktdaten:

Beitrag von issjut »

ok, dann machen wir es mal etwas anders.
Nutzen wir die Dinge die schon da sind und verändern wir sie etwas ;)
Ich denke da an die Anzeige des "Random Users" --> wir klauen das Layout ;-)

Also ne Gruppe hast Du ja schon angelegt und Deinen Beasty Boy des Jahres reingeschoben. Dies Schritte lasse ich also bei der folgenden Beschreibung mal weg.

1. Suche den Ordner dein_forum_ordner/bb3portal/block (wenn Du eine neuere Version des Portals hast evtl auch nur /portal/block/)
2. Kopiere die Datei random_member.php und benenne die Kopie in
beasty_year.php um
3. öffne die neue Datei beasty_year.php
4. lösche den gesammten Inhalt und füge folgenden Code ein:

Code: Alles auswählen

<?php


if (!defined('IN_PHPBB'))
{
	exit;
}

//Zeigt nur Mitlieder aus der Angegebenen Gruppe an
$sql = 'SELECT user_id, username, user_posts, user_regdate, user_colour, user_occ, user_from, user_website, user_avatar, user_avatar_type, user_avatar_width, user_avatar_height, user_gender
	FROM ' . USERS_TABLE . '
	WHERE group_id = 5
	AND user_inactive_time = 0 
	LIMIT 1 ';

$result = $db->sql_query($sql);
         while ($row = $db->sql_fetchrow($result))
         {

   $boy_avatar_url = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']);
   $boy_avatar = '<a onclick="openpopup(this.href); return false" href="' . $boy_avatar_url . '">' . get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) . '</a>';

$template->assign_block_vars('boy_member', array(
   'USERNAME'      => censor_text($row['username']),
   'USERNAME_COLOR'=> ($row['user_colour']) ? ' style="color:#' . $row['user_colour'] .'"' : '',
   'U_USERNAME'   => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']),
   'JOINED'      => $user->format_date($row['user_regdate'], $format = 'd.n.Y'),
   'USER_FROM'      => censor_text($row['user_from']),
   'BOY_AVATAR'   => $boy_avatar,
            ));
         }
$db->sql_freeresult($result);

?>
5. Tausche jetzt wieder an der Stelle:

Code: Alles auswählen

WHERE group_id = ?
das ? durch die ID der neuen Gruppe (speichern und schließen)

Beim nächsten Schritt kommt es darauf an welche version Du vom portal nutzt... wenn die Datei in Deinem Hauptverzeichnis bb3portal.php heißt, dann:

6a. öffne dein_forum_ordner/bb3portal.php

finde:

Code: Alles auswählen

include($phpbb_root_path . 'bb3portal/block/leaders.'.$phpEx);
füge danach ein:

Code: Alles auswählen

include($phpbb_root_path . 'bb3portal/block/beasty_year.'.$phpEx);
Speichern und schließen.

Wenn die Datei in Deinem Hauptverzeichnis aber portal.php heißt, dann:

6b. öffne dein_forum_ordner/portal.php

finde:

Code: Alles auswählen

	include($portal_root_path . '/block/birthday_list.'.$phpEx);
füge danach ein:

Code: Alles auswählen

	include($portal_root_path . '/block/beasty_year.'.$phpEx);
Speichern und schließen.

Nun müssen wir uns nurnoch um die Anzeige des ganzen kümmern...

7. Ich denke mal Du nutzt prosilver, also... gehe zu dein_forum_ordner/styles/prosilver/template/bb3portal/block/

kopiere die Datei random_member.html und benenne Sie um in beasty_year.html

8. öffne die neue Datei beasty_year.html, lösche alles und füge ein:

Code: Alles auswählen

<div class="panel">
	<div class="inner">
		<span class="corners-top"><span></span></span>
			<h3>Beasty Boy des Jahres</h3>
			<!-- BEGIN boy_member -->
         {boy_member.BOY_AVATAR}<br />
         <span style="float:left;font-size:11px;"><a href="{boy_member.U_USERNAME}"><span<!-- IF moy_member.USERNAME_COLOR -->{boy_member.USERNAME_COLOR}<!-- ENDIF -->>{boy_member.USERNAME}</span></a></span><br /><br />
         <span style="float:left;">Mitglied seit:</span><span style="float:right;padding-right:10px;">{boy_member.JOINED}</span><br />
         <span style="float:left;">Wohnort:</span><span style="float:right;padding-right:10px;">{boy_member.USER_FROM}</span><br />
         <!-- END boy_member -->	
		<span class="corners-bottom"><span></span></span>
	</div>
</div>
<br style="clear:both" />
Speichern und schließen.

gleich ist es geschafft ;)

9. öffne dein_forum_ordner/styles/prosilver/template/bb3portal/portal_main.html

finde:

Code: Alles auswählen

<!-- [+] left block area -->
	<td width="190" valign="top" style="padding-right:6px;">
setze folgenden Code an die Stelle an die die neue "Box" angezeigt werden soll. (kannst Du ja dann einfach ausprobieren):

Code: Alles auswählen

<!--// [+] beasty of the year //-->
<!-- INCLUDE bb3portal/block/beasty_year.html -->
<!--// [-] beasty of the year //-->
Speichern und schließen.

Das ganze sollte dann in etwas so aussehen:

[ externes Bild ]

Anmerkung: Ich habe es lokal mal getestet und da hat es wunderbar funktionierte. Allerdings habe ich wohl eine ältere Version des BB3Portals bei mir eingebaut.

Denke aber es sollte trotzdem klappen. Achte nur auf die Abweichungen zu der neuen Version die ich in Klammern dazu geschrieben habe und auf den Punkt 6a (alte version) bzw 6b (neuere version).

Wenn es nicht klappt baue ich mal die neue Version hier ein und poste dann noch mal den entsprechenden Code.

Solltest Du noch mehr Angaben unter dem Avatar stehen haben wollen... z.b. Homepage des Users, Anzahl der Beiträge usw, dann sag bescheid

Viel Glück ;-)
Benutzeravatar
zuluh
Mitglied
Beiträge: 161
Registriert: 12.02.2008 01:23
Wohnort: Neustadt a. Rbge.

Beitrag von zuluh »

Erstmal thx für die ganze Mühe die Du Dir machst :)

Also ich benutze die neuste Version des Portal3 und bin wie folgt vorgegangen.

1. Gruppe angelegt (Beasty Boy) und den User reingepackt.
2. Die Dateien beasty_year.php und beasty_year.html mit deinen Angaben angelegt und die ID gesetzt.
3. In der portal.php habe ich folgendes eingefügt (mit deiner einstellung gab es Mysql error)

Code: Alles auswählen

if ($portal_config['beasty_year'])
{
	include($phpbb_root_path . 'portal/block/beasty_year.'.$phpEx);
}
4. in der Datei portal_body.html folgendes eingefügt.

Code: Alles auswählen

<!-- IF S_DISPLAY_BEASTY_YEAR -->
<!-- INCLUDE portal/block/beasty_year.html -->
<!-- ENDIF -->
5.Die ganzen Dateien hochgeladen.

natürlich klappt es mit der Anzeige nicht da ich den Beasty Boy im ACP ja nicht freischalten kann.
Wir hatten ja schon vom zufälligem Profil geredet, kann ich das nicht so einstellen das nur aus einer bestimmten GruppenID der User gewählt wird?
Natürlich müsste dann die Anzeige noch geändert werden, es soll ja unbedingt Beasty Boy des Jahres drinstehen.

Danke erstmal und mach Dir nicht soviel Streß, genieße das Weekend ich habe es nicht so eilig damit. Irgendwann klappt es schon. ich schaue mir jetzt mal selbst die sache mit den Random User an vielleicht raff ich ja was :)

Lieben Gruß
Dirk
Sport ist Mord !
Benutzeravatar
issjut
Mitglied
Beiträge: 503
Registriert: 15.10.2007 22:05
Wohnort: Berlin
Kontaktdaten:

Beitrag von issjut »

hehe... ich sagte ja, dass ich die neue Version nicht habe, deswegen wusste ich nichtmal, dass es nun via ACP einzustellen geht. Ist nämlich bei meiner nicht so. Demnach wären noch weitere Modifikationen nötig!
zuluh hat geschrieben: Wir hatten ja schon vom zufälligem Profil geredet, kann ich das nicht so einstellen das nur aus einer bestimmten GruppenID der User gewählt wird?
Natürlich müsste dann die Anzeige noch geändert werden, es soll ja unbedingt Beasty Boy des Jahres drinstehen.
Naja du hättest dann noch immer kein Avatar, aber wenn du auf die Anzeige der Random user verzichten kannst, dann mach doch mal folgendes:

öffne die random_meber.php (hauptroot/portalroot/block/)

und ersetze den code der da ist mit folgendem:

Code: Alles auswählen

<?php


if (!defined('IN_PHPBB'))
{
   exit;
}

//Zeigt nur Mitlieder aus der Angegebenen Gruppe an
$sql = 'SELECT user_id, username, user_posts, user_regdate, user_colour, user_occ, user_from, user_website, user_avatar, user_avatar_type, user_avatar_width, user_avatar_height, user_gender
   FROM ' . USERS_TABLE . '
   WHERE group_id = ?
   AND user_inactive_time = 0
   LIMIT 1 ';

$result = $db->sql_query($sql);
         while ($row = $db->sql_fetchrow($result))
         {

   $boy_avatar_url = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']);
   $boy_avatar = '<a onclick="openpopup(this.href); return false" href="' . $boy_avatar_url . '">' . get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) . '</a>';

$template->assign_block_vars('boy_member', array(
   'USERNAME'      => censor_text($row['username']),
   'USERNAME_COLOR'=> ($row['user_colour']) ? ' style="color:#' . $row['user_colour'] .'"' : '',
   'U_USERNAME'   => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']),
   'JOINED'      => $user->format_date($row['user_regdate'], $format = 'd.n.Y'),
   'USER_FROM'      => censor_text($row['user_from']),
   'BOY_AVATAR'   => $boy_avatar,
            ));
         }
$db->sql_freeresult($result);

?>
vergiss nicht das ? wieder auszutauschen

Nun geh in deinen templates ordner und dort zu portal/block/ und öffne die random_member.html

tausche auch hier den vorhandenen Code mit folgendem:

Code: Alles auswählen

<div class="panel">
   <div class="inner">
      <span class="corners-top"><span></span></span>
         <h3>Beasty Boy des Jahres</h3>
         <!-- BEGIN boy_member -->
         {boy_member.BOY_AVATAR}<br />
         <span style="float:left;font-size:11px;"><a href="{boy_member.U_USERNAME}"><span<!-- IF moy_member.USERNAME_COLOR -->{boy_member.USERNAME_COLOR}<!-- ENDIF -->>{boy_member.USERNAME}</span></a></span><br /><br />
         <span style="float:left;">Mitglied seit:</span><span style="float:right;padding-right:10px;">{boy_member.JOINED}</span><br />
         <span style="float:left;">Wohnort:</span><span style="float:right;padding-right:10px;">{boy_member.USER_FROM}</span><br />
         <!-- END boy_member -->   
      <span class="corners-bottom"><span></span></span>
   </div>
</div>
<br style="clear:both" />
nun sollte anstelle der Random-User-Anzeige eigentlich Dein Beasty User erscheinen.

Im ACP musst du natürlich die Anzeige der Random User aktiviert haben, denn das ist ja jetzt Dein beasty user....

Sollte das auch nicht gehen installiere ich das neue portal mal und schicke dir dann die Änderungen
Benutzeravatar
zuluh
Mitglied
Beiträge: 161
Registriert: 12.02.2008 01:23
Wohnort: Neustadt a. Rbge.

Beitrag von zuluh »

Nee klappt leider nicht.

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Unknown column 'user_gender' in 'field list' [1054]
Sport ist Mord !
Benutzeravatar
issjut
Mitglied
Beiträge: 503
Registriert: 15.10.2007 22:05
Wohnort: Berlin
Kontaktdaten:

Beitrag von issjut »

ohh sry... ich hab den Gender mod bei mir eingebaut

nimm das hier aus dem obenren code raus

Code: Alles auswählen

, user_gender
Benutzeravatar
zuluh
Mitglied
Beiträge: 161
Registriert: 12.02.2008 01:23
Wohnort: Neustadt a. Rbge.

Beitrag von zuluh »

mhhh jetzt wird der RandomUser garnicht mehr angezeigt obwohl im acp eingestellt?
Sport ist Mord !
Benutzeravatar
issjut
Mitglied
Beiträge: 503
Registriert: 15.10.2007 22:05
Wohnort: Berlin
Kontaktdaten:

Beitrag von issjut »

ja das kann er ja auch nicht, weil der code dazu nicht mehr existiert ;-) komisch nur, dass die neue Anzeige nicht geht :(

Hast du den cache geleert und die templates im ACP neu geladen?

nagut... ich würde sagen bevor wir hier noch mehr rumwurschteln mache ich das mal in ruhe hier lokal fertig und schicke dir dann die codes die nötig sind!

Denke die unterschiede in den versionen sind doch zu groß!

Eine idee hätte ich noch, wenn du die veränderten dateien noch oben hast (aus dem ersten versuch)

Du hattest doch das hier in die portal.php eingefügt

Code: Alles auswählen

if ($portal_config['beasty_year'])
{
   include($phpbb_root_path . 'portal/block/beasty_year.'.$phpEx);
}
kannst du erstmal wieder entfernen. Und dann versuche mal nur

Code: Alles auswählen

 include($phpbb_root_path . 'portal/block/beasty_year.'.$phpEx);
an eine Stelle zu kopieren, von der du weißt, dass sie im ACP aktiviert ist.

Also dass es z.b so aussieht:

Code: Alles auswählen

if ($portal_config['random_member'])
{
   include($phpbb_root_path . 'portal/block/random_meber.'.$phpEx);
   include($phpbb_root_path . 'portal/block/beasty_year.'.$phpEx);
}
Prinzip dürfte klar sein, weiß nur nicht ob es genauso bei dir zu finden ist.
(ggf. entsprechend anpassen, damit es genauso wie bei dem "include" darüber aussieht

und in der portal_body.html musst du auf jeden Fall die

Code: Alles auswählen

<!-- IF S_DISPLAY_BEASTY_YEAR -->
und

Code: Alles auswählen

<!-- ENDIF -->
vor und nach dem

Code: Alles auswählen

<!-- INCLUDE portal/block/beasty_year.html -->
rausnehmen!!

ich weiß nicht genau welche version Du von dem Mod nutzt... selbst bei der neusten version die ich mal runter geladen habe sieht es bei mir ganz anders aus.
Zuletzt geändert von issjut am 23.02.2008 18:45, insgesamt 1-mal geändert.
Benutzeravatar
zuluh
Mitglied
Beiträge: 161
Registriert: 12.02.2008 01:23
Wohnort: Neustadt a. Rbge.

Beitrag von zuluh »

Ich probiere es morgen mal, heute hab ich keine Zeit mehr, muss weg einen trinken gehen.

Also Dein erstes beispiel nochmal mit den letzten Änderungen werd ich versuchen.

Schönen Abend noch

gruß Dirk
Sport ist Mord !
Benutzeravatar
issjut
Mitglied
Beiträge: 503
Registriert: 15.10.2007 22:05
Wohnort: Berlin
Kontaktdaten:

Beitrag von issjut »

ok... dann gut durst ;-)

und ich mache das hier mal lokal.. bis dennöö
Benutzeravatar
zuluh
Mitglied
Beiträge: 161
Registriert: 12.02.2008 01:23
Wohnort: Neustadt a. Rbge.

Danke

Beitrag von zuluh »

Moin moin,

supi hat geklappt, ich danke Dir bist super.
Der BeastyBoy wird jetzt angezeigt :)


Kleine Frage noch :D

Der Avatar wird ja vom User genommen, ich habe der Gruppe einen Avatar zugeteilt, kann ich es so einstellen das der Gruppenavatar angezeigt wird?
Desweiteren würde ich den Avatar+Name gerne in der Mitte der Box haben.

gruß dirk
Sport ist Mord !
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“