Ergebnisseite der Bildersuche anpassen

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
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Ergebnisseite der Bildersuche anpassen

Beitrag von Dungeonwatcher »

Hi! :cool:

Offenbar ist mein "Problem" mal wieder so speziell, das auf phpbb.de niemand eine Antwort darauf weiß. ^6

Ich hänge mal wieder an einem Problem fest, wo mir die Lösung nicht in den Kopf will.

Auf der Ergebnisseite der Bildersuche des Smartor Albums werden Standardmäßig die gefundenen Bilder untereinander angezeigt. Das sieht nicht nur Blöd aus sondern passt auch nicht zum Rest des Albums. Ich versuche nun schon seit Tagen dies so zu ändern, das die gefunden Bilder wie beim Rest des Albums neben- und untereinander angezeigt werden, je nachdem wie es im ACP eingestellt wurde. Das sind bei mir 4 Bilder neben- und 5 Bilder untereinander.
Das die Bilder nebeneinander angezeigt werden habe ich hinbekommen. Dummerweise werden aber jetzt bei mehr als 4 Bilder alle nebeneinander angezeigt. D.h. ich bekomme es nicht hin, das nach dem 4ten Bild eine neue Zeile angefangen wird. :eek:

Das ganze sieht aktuell im Code so aus:

album_search_body.tpl

Code: Alles auswählen

<table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center">
  <tr> 
    <th class="thTop" colspan="{S_COLS}" nowrap="nowrap">{L_CATEGORY}</th>
  </tr>
  <tr>
    <!-- BEGIN pic_detail -->
    <td class="row1" width="{S_COL_WIDTH}" align="center" valign="middle"><a href="{switch_search_results.pic_detail.U_PIC}"><img src="{switch_search_results.pic_detail.THUMBNAIL}" alt="{switch_search_results.pic_detail.DESC}" border="0" vspace="10" /></a></td> 
    <!-- END pic_detail -->
  </tr>
album_search.php

Code: Alles auswählen

				$template->assign_block_vars('switch_search_results.pic_detail', array(
					'L_USERNAME'		=> $picrow['pic_username'],
					'U_PROFILE'		=> append_sid('profile.php?mode=viewprofile&u=' . $picrow['pic_user_id']),
					'L_CAT'			=> ($picrow['cat_user_id'] != ALBUM_PUBLIC_GALLERY ) ? 'User personal' : $picrow['cat_title'],
					'VIEW'			=> $picrow['pic_view_count'],
					'PIC_ID'			=> $picrow['pic_id'],
					'SIZE'				=> $pic_size,
					'DIMENSIONS'		=> $pic_width . ' x ' . $pic_height,
					'TITLE'			=> $picrow['pic_title'],
					'U_PIC'			=> append_sid('album_page.php?pic_id=' . $picrow['pic_id']),
					'THUMBNAIL'		=> append_sid('album_thumbnail.'. $phpEx . '?pic_id=' . $picrow['pic_id']),
					'DESC'			=> $picrow['pic_desc'],
					'TIME'			=> create_date($board_config['default_dateformat'], $picrow['pic_time'], $board_config['board_timezone'], 0),
					'RATING'			=> ($album_config['rate'] == 1) ? ( '<a href="'. append_sid("album_rate.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Rating'] . '</a>: ' . $picrow['rating'] . '<br />') : '',
					'COMMENTS'		=> ($album_config['comment'] == 1) ? ( '<a href="'. append_sid("album_comment.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Comments'] . '</a>: ' . $picrow['comments'] . '<br />') : '',
					'IP'				=> ($userdata['user_level'] == ADMIN) ? $lang['IP_Address'] . ': <a href="http://www.ripe.net/fcgi-bin/whois?form_type=simple&full_query_string=&searchtext=' . decode_ip($picrow['pic_user_ip']) . '" target="_blank">' . decode_ip($picrow['pic_user_ip']) .'</a><br />' : '',
					'EDIT'				=> ( ($userdata['user_level'] == ADMIN) or ($userdata['user_id'] == $picrow['pic_user_id']) ) ? '<a href="'. append_sid("album_edit.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Edit_pic'] . '</a>' : '',
					'DELETE'			=> ( ($userdata['user_level'] == ADMIN) or ($userdata['user_id'] == $picrow['pic_user_id']) ) ? '<a href="'. append_sid("album_delete.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Delete_pic'] . '</a>' : '',
					'MOVE'			=> ( ($userdata['user_level'] == ADMIN) or ($userdata['user_id'] == $picrow['pic_user_id']) ) ? '<a href="'. append_sid("album_modcp.$phpEx?mode=move&pic_id=". $picrow['pic_id']) .'">' . $lang['Move'] . '</a>' : '',
					'LOCK'			=> ($userdata['user_level'] == ADMIN) ? '<a href="'. append_sid("album_modcp.$phpEx?mode=". (($picrow['pic_lock'] == 0) ? 'lock' : 'unlock') ."&pic_id=". $picrow['pic_id']) .'">'. (($picrow['pic_lock'] == 0) ? $lang['Lock'] : $lang['Unlock']) .'</a>' : '',
				));
					
				$in[$numres] = $picrow['pic_id'];
				$numres++;
			}
		}
		while( $picrow = $db->sql_fetchrow($result) );

		$template->assign_vars(array(
			'L_RESULTS'		=> $lang['Results'],
			'L_NRESULTS'		=> $total_pics,
			'L_CATEGORY'		=> $lang['Category'],
			'L_PIC_TITLE'		=> $lang['Pic_Title'],
			'L_PIC_DESC'		=> $lang['Pic_Desc'],
			'L_PICS'			=> $lang['Pics'],
			'L_POSTER'		=> $lang['Poster'],
			'L_POSTED'		=> $lang['Posted'],
			'L_PIC_ID'			=> $lang['Pic_id'],
			'L_SIZE'			=> $lang['Size'],
			'L_VIEW'			=> $lang['View'],
			'L_DIMENSION'		=> $lang['Dimension'],
			'SIZE'				=> $pic_size,
			'DIMENSIONS'		=> $pic_width . ' x ' . $pic_height,
			'L_ALBUM_SEARCH'	=> $lang['Album_Search'],
			'U_ALBUM_SEARCH'	=> append_sid("album_search.$phpEx"),
			'S_COLS'			=> $album_config['cols_per_page'],
			'S_COL_WIDTH'		=> (100/$album_config['cols_per_page']) . '%'
		));
Hier die kplt. album_search.php.

Wo ist mein Denkfehler, bzw. was ist hier falsch?

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

Re: Ergebnisseite der Bildersuche anpassen

Beitrag von oxpus »

Du machst den Denkfehler, dass du die Struktur einer Darstellung wir in den Kategorien nicht logisch nachbildest.
Was du erzeugst, sind Suchergebnisse mit nebeneinanderstehenden Bildern.
Du musst aber den "Umbruch" in der Tabelle nach jedem X-ten Bild darstellen.
Also nach sagen wir mal jedem 4. Bild auch eine neue Tabellezeile im Template mit </tr> <tr> erstellen.
Das führst du aber nicht durch.

Ich kann dir allerdings im Detail jetzt weniger helfen, da ich aktuell einen grösseren Kundenauftrag bearbeite.
Als Tipp kann ich dir nur mitgeben, zu prüfen, ob die aktuelle Anzahl Bilder einen "Zwischenzähler" von 4 erreicht haben und dann den "Umbruch" einfügen.
Den Zwischenzähler kann man dann wieder auf 0 setzen, so dass man dann von neuem beginnen kann...
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: Ergebnisseite der Bildersuche anpassen

Beitrag von Dungeonwatcher »

Hi! :cool:

Uff, das läuft auf ein fast komplettes neuschreiben des Scripts hinaus. :eek: :hh:
Da warte ich dann mal bis zum nächsten längeren Regen. Da habe ich dann mehr Zeit und Ruhe dafür. :)

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

Re: Ergebnisseite der Bildersuche anpassen

Beitrag von oxpus »

??? Neuschreiben?
Warum?
Es muss doch letztlich nur ein Zähler und eine Prüfung inkl. "Zählerreset" rein und der "Zeilenumbruch" an das Template gesendet werden.
Das ist doch alles so schon realisierbar, ohne wirklich viel an der album_search.php ändern zu müssen...
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: Ergebnisseite der Bildersuche anpassen

Beitrag von Dungeonwatcher »

Hi! :cool:

Ich sitze seit Tagen davor und versuche zu verstehen wie die Ergebnisseite erstellt wird und vergleiche es mit anderen Scripten aus dem Album. Der Erfolg ist gleich NULL. Ich bringe dies einfach nicht zusammen. Vielleicht sehe ich nur den Wald vor lauter Bäumen nicht mehr. Daher brauche ich einfach einige Tage Ruhe (schlechtes Wetter) um dann von "Vorne" anzufangen. Oft macht's dann einfach "Klick" und mir fällt die Lösung wie "Schuppen aus den Haaren" ein. :)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Ergebnisseite der Bildersuche anpassen

Beitrag von oxpus »

Hilfestellung:

$i = 0;
Schleife Suchergebnisse
{
$i++;
wenn $i = 4 dann
{
"zeilenumbruch" an das template schicken
$i = 0;
}
bilder an das template schicken
}

Ich denke, das sollte nun einfacher zu verstehen 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
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: Ergebnisseite der Bildersuche anpassen

Beitrag von Dungeonwatcher »

Moin! :cool:
oxpus hat geschrieben:Ich denke, das sollte nun einfacher zu verstehen sein ;)
Das Prinzip schon, die Umsetzung nein. Nach meinem Verständnis muss ich diese do while Schhleife durch eine for Schleife ersetzen:

Code: Alles auswählen

	if ( $picrow = $db->sql_fetchrow($result) )
	{
		$in = array();
		do
		{
			if ( ! in_array($picrow['pic_id'], $in) ) 
			{
				// Start add - Pics Dimension/Size Add-on
				$pic_size = getimagesize(ALBUM_UPLOAD_PATH . $picrow['picfilename']);
				$pic_width = $pic_size[0];
				$pic_height = $pic_size[1];

				$pic_size = round(((filesize(ALBUM_UPLOAD_PATH . $picrow['picfilename'])) / 1024), 2) . ' ' . $lang['Kb'];
				// End add - Pics Dimension/Size Add-on
				
				if(!$picrow['rating'])
				{
					$picrow['rating'] = $lang['Not_rated'];
				}
				else
				{
					$r = "";
					$rating = $picrow['rating'];
					for ($temp = 1; $temp <= $rating; $temp++)
					{
						$r .= "<img src='./images/rank.png' style='$css_style' alt=''/>";
					}
					$picrow['rating'] = $r;
				}
				
				$template->assign_block_vars('switch_search_results.pic_detail', array(
					'L_USERNAME'		=> $picrow['pic_username'],
					'U_PROFILE'			=> append_sid('profile.php?mode=viewprofile&u=' . $picrow['pic_user_id']),
					'L_CAT'				=> ($picrow['cat_user_id'] != ALBUM_PUBLIC_GALLERY ) ? 'User personal' : $picrow['cat_title'],
					'VIEW'				=> $picrow['pic_view_count'],
					'PIC_ID'			=> $picrow['pic_id'],
					'SIZE'				=> $pic_size,
					'DIMENSIONS'		=> $pic_width . ' x ' . $pic_height,
					'TITLE'				=> $picrow['pic_title'],
					'U_PIC'				=> append_sid('album_page.php?pic_id=' . $picrow['pic_id']),
					'THUMBNAIL'			=> append_sid('album_thumbnail.'. $phpEx . '?pic_id=' . $picrow['pic_id']),
					'DESC'				=> $picrow['pic_desc'],
					'TIME'				=> create_date($board_config['default_dateformat'], $picrow['pic_time'], $board_config['board_timezone'], 0),
					'RATING'			=> ($album_config['rate'] == 1) ? ( '<a href="'. append_sid("album_rate.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Rating'] . '</a>: ' . $picrow['rating'] . '<br />') : '',
					'COMMENTS'			=> ($album_config['comment'] == 1) ? ( '<a href="'. append_sid("album_comment.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Comments'] . '</a>: ' . $picrow['comments'] . '<br />') : '',
					'IP'				=> ($userdata['user_level'] == ADMIN) ? $lang['IP_Address'] . ': <a href="http://www.ripe.net/fcgi-bin/whois?form_type=simple&full_query_string=&searchtext=' . decode_ip($picrow['pic_user_ip']) . '" target="_blank">' . decode_ip($picrow['pic_user_ip']) .'</a><br />' : '',
					'EDIT'				=> ( ($userdata['user_level'] == ADMIN) or ($userdata['user_id'] == $picrow['pic_user_id']) ) ? '<a href="'. append_sid("album_edit.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Edit_pic'] . '</a>' : '',
					'DELETE'			=> ( ($userdata['user_level'] == ADMIN) or ($userdata['user_id'] == $picrow['pic_user_id']) ) ? '<a href="'. append_sid("album_delete.$phpEx?pic_id=". $picrow['pic_id']) . '">' . $lang['Delete_pic'] . '</a>' : '',
					'MOVE'				=> ( ($userdata['user_level'] == ADMIN) or ($userdata['user_id'] == $picrow['pic_user_id']) ) ? '<a href="'. append_sid("album_modcp.$phpEx?mode=move&pic_id=". $picrow['pic_id']) .'">' . $lang['Move'] . '</a>' : '',
					'LOCK'				=> ($userdata['user_level'] == ADMIN) ? '<a href="'. append_sid("album_modcp.$phpEx?mode=". (($picrow['pic_lock'] == 0) ? 'lock' : 'unlock') ."&pic_id=". $picrow['pic_id']) .'">'. (($picrow['pic_lock'] == 0) ? $lang['Lock'] : $lang['Unlock']) .'</a>' : '',
				));
					
				$in[$numres] = $picrow['pic_id'];
				$numres++;
			}
		}
		while( $picrow = $db->sql_fetchrow($result) );
Und genau daran hapert es am Verstehen. ^6
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Ergebnisseite der Bildersuche anpassen

Beitrag von oxpus »

Warum denn das?
Schleife ist Schleife.
Der Zähler muss doch eh unabhängig davon verwendet werden.
Also tut es auch eine while-Schleife...
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!
Antworten