"Neueste Kommentare"-Link im Album

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

"Neueste Kommentare"-Link im Album

Beitrag von bce »

Deine phpBB Version: 2.0.15
Typ Deines phpBB Forums: Standard phpBB (auch Vanilla genannt)
MODs: Ja
Dein Wissensstand: Fortgeschritten
Link zu Deinem Forum: [url]http://[/url]

PHP Version:
MySQL Version:


Was hast Du gemacht, bevor das Problem aufgetreten ist?



Was hast Du bereits versucht um das Problem zu lösen?




Fehlerbeschreibung und Nachricht

hallo.
habe folgendes album am start:
Powered by Photo Album Addon 2.0.53 © 2002-2003 Smartor with Volodymyr (CLowN) Skoryk's SP1 addon & IdleVoid's Album Category Hierarchy mod!
da meine foren-user nun verstärkt bilder kommentieren kam das ein oder andere anliegen zu mir, wie man evtl. leicht zu den kommentaren der einzelnen bilder springen könnte...

gibt es eine möglichkeit, sich die z.b. 10 letzten kommentare anzeigen zu lassen..?
thx
Zuletzt geändert von bce am Di 17.Mai, 2005 23:38, insgesamt 1-mal geändert.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Müsste ohne weiteres machbar sein. :)
Ich hab aber momentan den IdleVoid's Album Category Hierarchy mod noch nicht verbaut und strecke deswegen erstmal alles von mir, da ich nicht weis wie stark der die Datenbankeinträge verändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hm, unabhängig der Bilder?
Dann müsste eine Abfrage auf die Album-Kommentar-Tabelle mit den Formatierungen der album_showpage.php reichen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

hab da grad ma geschaut und was gefunden!
aber leider nur für das ez-portal, das ich nicht habe.

http://www.phpbbhacks.com/download/3419

könnte man das für meine zwecke anpassen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wo soll das denn bei Dir erscheinen?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

denke, am besten in der album.php... wo das dann geneu ist, kan ich ja ändern
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn das im Album erscheinen soll, warum dann nicht nach den letzten Kommentaren sortieren?
Ginge hier sicher einfacher, sofern das (aus dem Kopf weiß ich es nicht) nicht schon möglich ist...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

was wäre aus einer sicht die einfachste lösung?

mir schwebt in etwa vor, dass die neuen kommentare in einer kleinen tabelle in der album.php ausgegeben wird...
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Alles machbar, ich hatte das nur angemerkt, da ja das Album eh schon sortiert werden kann.
Nun ja, versuch mal, den Mod von phpbbhacks umzubasteln.
So schwer sollte das ja nicht sein.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

ok.. bin am basteln.

aber in der kommentar-vorschau werden die smilies nicht umgesetzt. es steht der entsprechende code dort.
kann man das ändern?

das steht in der php datei:

Code: Alles auswählen

// 
// BEGIN: Fetch Recent album comments 
// 

$template->assign_block_vars('recent_comment', array());    

   $sql = "SELECT * 
         FROM `phpbb_album_comment` 
         ORDER BY `comment_id` DESC LIMIT 10"; 
          
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      message_die(GENERAL_ERROR, "Could not obtain information needed.", "", __LINE__, __FILE__, $sql); 
   } 

   while( $row = $db->sql_fetchrow($result) ) 
   { 
         $recent_comment .= ' 
         <a href="album_comment.php?comment_id=' . $row['comment_id'] .'">'. $row['comment_text'] . '</a><hr> 
          
      ';                
   } 
    
   $template->assign_vars(array( 
         'RECENT_COMMENT_NAME' => $lang['Recently Submited Comments'], 
         'RECENT_COMMENT' => $recent_comment 
   )); 
    
// 
// END: Fetch Recent album comments 
// 
Zuletzt geändert von bce am Mi 18.Mai, 2005 17:59, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Smilies werden mit smilies_pass($variable); generiert. Dazu muss die bbcode.php includiert werden.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

ok. schau ich dann mal.

hab jetzt ein prob bei der übergabe ans template.

in der album.php steht nun folgendes:

Code: Alles auswählen

// BEGIN: Fetch Recent album comments 
// 
$zcomment=0;
$template->assign_block_vars('recent_comment', array());    

   $sql = "SELECT * 
         FROM `phpbb_album_comment` 
         ORDER BY `comment_id` DESC LIMIT 10"; 
          
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      message_die(GENERAL_ERROR, "Could not obtain information needed.", "", __LINE__, __FILE__, $sql); 
   } 

   while( $row = $db->sql_fetchrow($result) ) 
   { 
		 $zcomment++;
		 //$recent_comment .= $zcomment; 
 		 $recent_comment .= '
         <a href="album_comment.php?comment_id=' . $row['comment_id'] .'">'. $row['comment_text'] . '</a><hr> 
          
      ';                
   } 


	   
   $template->assign_vars(array( 
         'RECENT_COMMENT_NAME' => $lang['Recently Submited Comments'],
		 'COUNT_COMMENT' => $zcomment,
         'RECENT_COMMENT' => $recent_comment 
   )); 
    
// 
// END: Fetch Recent album comments 
es geht um die neu erschaffene variable "$zcomment"
diese soll immer ans template übergeben werden, so das in jeder zeile die nummer steht. von 1 bis 10.

im template schaut so aus:

Code: Alles auswählen

<!-- Neuste Kommentare -->
<br />
<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline"> 
<tr>
	<th class="thTop" height="25" nowrap="nowrap">{RECENT_COMMENT_NAME}</th>
</tr>
<tr> 
	<td class="row1" align="left"><span class="gensmall"> 
		<!-- BEGIN recent_comment --> 
			{COUNT_COMMENT} - {RECENT_COMMENT} 
		<!-- END recent_comment --> 
		</span>
	</td> 
</tr> 
</table> 
<br /> 
<!-- Neuste Kommentare -->

-> es wird nur in der 1ten zeile die variable ausgeben. inhalt: 10

warum wird nicht von 1 bis 10 ausgeben? was mach ich bei der template-übergabe falsch?

ziel soll später auch mal sein die kategorie mit zu übermittlen...

thx
Zuletzt geändert von bce am Mi 18.Mai, 2005 18:55, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm ja, weil Du den Zähler zwar in der Schleife durchlaufen lässt, dann aber nur das Endergebnis, also 10 an das Template übergibst. So wäre es richtig:

Code: Alles auswählen

// BEGIN: Fetch Recent album comments
//
$zcomment=0;
$template->assign_block_vars('recent_comment', array());

$sql = "SELECT * FROM phpbb_album_comment
	ORDER BY comment_id DESC LIMIT 10";
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, "Could not obtain information needed.", "", __LINE__, __FILE__, $sql);
}

while( $row = $db->sql_fetchrow($result) )
{
	$zcomment++;
	//$recent_comment .= $zcomment;
	$recent_comment .= $zcomment.'&nbsp;<a href="album_comment.php?comment_id=' . $row['comment_id'] .'">'. $row['comment_text'] . '</a><hr>';
}
$db->sql_freeresult($result);

$template->assign_vars(array(
	'RECENT_COMMENT_NAME' => $lang['Recently Submited Comments'],
	'RECENT_COMMENT' => $recent_comment)
);

//
// END: Fetch Recent album comments
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

soo.. hab mich mal wieder dran gesetzt...

brauch nun nen befehl, der eine zeichenkette auf X zeichen kürzt...
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

>zeichenkette kürzen
Schau mal hier hinein. Müsste eigentlich helfen: http://www.oxpus.de/fpost-24109.html#24109
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

ok danke :)

Code: Alles auswählen

if (strlen($kommentar) >= 100 ) {
		     $kommentar = substr($kommentar, 0, 100).'...';
			 }
es wird langsam ;)
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re:

Beitrag von Dungeonwatcher »

Moin! :cool:

Ich habe dies auf vielfachen Wunsch meiner User auch in meinem Forum eingebaut. Bis auf eine Unschönheit funktioniert es bestens.
THNX an bce und oxpus. :anbet

Diese Unschönheit besteht darin, das ich für das Album nur eingeloggte User zulasse. Hierbei landet man beim Klick auf den Kommentarlink und dem anschließenden Einloggen im Nirvana. D.h. die commentar_id wird in der album_comment.php nicht mit übergeben.

Code: Alles auswählen

if (!$userdata['session_logged_in'] )
{
	redirect(append_sid("login.$phpEx?redirect=album_comment.$phpEx", true));
}
Alternativ hoffte ich, das ich dies per Switch user_logged_in in der portal.tpl lösen könnte:

Code: Alles auswählen

      <!-- BEGIN switch_user_logged_in -->
      <!-- BEGIN recent_comment -->
      <br />
      <table width="200" cellpadding="2" cellspacing="1" border="0" class="forumline">
        <tr>
          <th class="thTop" height="25">{RECENT_COMMENT_NAME}</th>
        </tr>
        <tr>
          <td class="row1" align="left"><span class="gensmall">{RECENT_COMMENT}</span>
          </td>
        </tr>
      </table>
      <!-- END recent_comment -->
      <!-- END switch_user_logged_in -->
Dies wäre mir sogar am liebsten. Das funktioniert aber auch nicht.
Wo ist mein Denkfehler?

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: "Neueste Kommentare"-Link im Album

Beitrag von oxpus »

Im Portal würdest du mit diesen beiden Switsches eine Verschachtelung erzeugen, die so nicht im Script wiederholt wird.
Warum daher nicht gleich im Script mit einer Abfrage dafür sorgen, dass keine Elemente für recent_comment an das Template übergeben werden, wenn der User nicht wie gewünscht angemeldet ist?
Das spart dann dazu auch noch die Ausführung der SQL-Anweisung, wenn ein Gast sich das Portal anschaut ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: "Neueste Kommentare"-Link im Album

Beitrag von Dungeonwatcher »

Hi! :cool:

Wo du mal wieder recht hast. :)

Ich hab's jetzt so gelöst:

Code: Alles auswählen

//
// BEGIN: Fetch Recent album comments
//
if ($userdata['session_logged_in'])
{
	$zcomment=0;
	$template->assign_block_vars('recent_comment', array());   

	$sql = "SELECT * FROM `phpbb_album_comment`
		ORDER BY `comment_id` DESC LIMIT 10";

	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Could not obtain information needed.", "", __LINE__, __FILE__, $sql);
	}

	while( $row = $db->sql_fetchrow($result) )
	{
		$zcomment++;
		if (strlen($row['comment_text']) >= 25 )
		{
			$row['comment_text'] = substr($row['comment_text'], 0, 24).'...';
		}
		$recent_comment .= '<img src="' . $images['mini_icon_gallery'] . '" />&nbsp;<a href="album_comment.php?comment_id=' . $row['comment_id'] .'">'. $row['comment_text'] . '</a><br />';
	}
	$template->assign_vars(array(
		'RECENT_COMMENT_NAME'	=> $lang['Recently Submited Comments'],
		'COUNT_COMMENT'			=> $zcomment,
		'RECENT_COMMENT'		=> $recent_comment)
	);
}
//
// END: Fetch Recent album comments 
//
und im Template:

Code: Alles auswählen

      <!-- BEGIN recent_comment -->
      <br />
      <table width="200" cellpadding="2" cellspacing="1" border="0" class="forumline">
        <tr>
          <th class="thTop" height="25">{RECENT_COMMENT_NAME}</th>
        </tr>
        <tr>
          <td class="row1" align="left"><span class="gensmall">{RECENT_COMMENT}</span>
          </td>
        </tr>
      </table>
      <!-- END recent_comment -->
Damit sehen es nur die eingeloggten User und es spart bei Gästen 21 SQL Queries.

THNX


Bye
Antworten