Seite 1 von 2

Rangbilder in der Rangübersicht?

Verfasst: 02.05.2004 18:30
von Gumfuzi
Folgendes Snippet funzt bei mir nicht, obwohl ich es schon 2x probiert habe:
http://www.phpbb.de/viewtopic.php?p=250023#250023

so sehen meine Dateien aus:

admin_ranks.php:
ich habe es in beide Bereich gepostet ("// They want to add a new rank, show the form." und "// They didn't feel like giving us any information. Oh, too bad, we'll just display the list then...")

Code: Alles auswählen

		// They want to add a new rank, show the form.
		//
		$rank_id = ( isset($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) : 0;
		
		$s_hidden_fields = "";
		
		if( $mode == "edit" )
		{
			if( empty($rank_id) )
			{
				message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);
			}

			$sql = "SELECT * FROM " . RANKS_TABLE . "
				WHERE rank_id = $rank_id";
			if(!$result = $db->sql_query($sql))
			{
				message_die(GENERAL_ERROR, "Couldn't obtain rank data", "", __LINE__, __FILE__, $sql);
			}
			
			$rank_info = $db->sql_fetchrow($result);
			$s_hidden_fields .= '<input type="hidden" name="id" value="' . $rank_id . '" />';

		}
		else
		{
			$rank_info['rank_special'] = 0;
		}

		$s_hidden_fields .= '<input type="hidden" name="mode" value="save" />';

		$rank_is_special = ( $rank_info['rank_special'] ) ? "checked=\"checked\"" : "";
		$rank_is_not_special = ( !$rank_info['rank_special'] ) ? "checked=\"checked\"" : "";
		
		$template->set_filenames(array(
			"body" => "admin/ranks_edit_body.tpl")
		);

		$template->assign_vars(array(
			"RANK" => $rank_info['rank_title'],
	        "RANK_IMAGE" => ( $rank_rows[$i]['rank_image'] != "" ) ? '<img src="../' . $rank_rows[$i]['rank_image'] . '" />' : "",
			"SPECIAL_RANK" => $rank_is_special,
			"NOT_SPECIAL_RANK" => $rank_is_not_special,
			"MINIMUM" => ( $rank_is_special ) ? "" : $rank_info['rank_min'],
			"IMAGE" => ( $rank_info['rank_image'] != "" ) ? $rank_info['rank_image'] : "",
			"IMAGE_DISPLAY" => ( $rank_info['rank_image'] != "" ) ? '<img src="../' . $rank_info['rank_image'] . '" />' : "",
			
			"L_RANKS_TITLE" => $lang['Ranks_title'],
			"L_RANKS_TEXT" => $lang['Ranks_explain'],
			"L_RANK_TITLE" => $lang['Rank_title'],
			"L_RANK_SPECIAL" => $lang['Rank_special'],
			"L_RANK_MINIMUM" => $lang['Rank_minimum'],
			"L_RANK_IMAGE" => $lang['Rank_image'],
			"L_RANK_IMAGE_EXPLAIN" => $lang['Rank_image_explain'],
			"L_SUBMIT" => $lang['Submit'],
			"L_RESET" => $lang['Reset'],
			"L_YES" => $lang['Yes'],
			"L_NO" => $lang['No'],
			
			"S_RANK_ACTION" => append_sid("admin_ranks.$phpEx"),
			"S_HIDDEN_FIELDS" => $s_hidden_fields)
		);
		
	}
	else if( $mode == "save" )
	{

..........
..........
..........
		//
		// They didn't feel like giving us any information. Oh, too bad, we'll just display the
		// list then...
		//
		$template->set_filenames(array(
			"body" => "admin/ranks_list_body.tpl")
		);
		
		$sql = "SELECT * FROM " . RANKS_TABLE . "
			ORDER BY rank_min, rank_title";
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);
		}
		
		$rank_rows = $db->sql_fetchrowset($result);
		$rank_count = count($rank_rows);
		
		$template->assign_vars(array(
			"L_RANKS_TITLE" => $lang['Ranks_title'],
			"L_RANKS_TEXT" => $lang['Ranks_explain'],
			"L_RANK" => $lang['Rank_title'],
			"L_RANK_MINIMUM" => $lang['Rank_minimum'],
			"L_SPECIAL_RANK" => $lang['Special_rank'],
			"L_EDIT" => $lang['Edit'],
			"L_DELETE" => $lang['Delete'],
			"L_ADD_RANK" => $lang['Add_new_rank'],
			"L_ACTION" => $lang['Action'],

		
			"S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx"))
		);
		
		for( $i = 0; $i < $rank_count; $i++)
		{
			$rank = $rank_rows[$i]['rank_title'];
			$special_rank = $rank_rows[$i]['rank_special'];
			$rank_id = $rank_rows[$i]['rank_id'];
			$rank_min = $rank_rows[$i]['rank_min'];

			if($special_rank)
			{
				$rank_min = $rank_max = "-";
			}
			
			$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
			$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
	
			$template->assign_block_vars("ranks", array(
				"ROW_COLOR" => "#" . $row_color,
				"ROW_CLASS" => $row_class,
				"RANK" => $rank,
				"RANK_MIN" => $rank_min,

		        "RANK_IMAGE" => ( $rank_rows[$i]['rank_image'] != "" ) ? '<img src="../' . $rank_rows[$i]['rank_image'] . '" />' : "",

				"SPECIAL_RANK" => ( $special_rank == 1 ) ? $lang['Yes'] : $lang['No'],

				"U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&id=$rank_id"),
				"U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&id=$rank_id"))
			);
		}
	}
}
else
und in der rank_list_body.tpl:

Code: Alles auswählen

<h1>{L_RANKS_TITLE}</h1>

<p>{L_RANKS_TEXT}</p>

<form method="post" action="{S_RANKS_ACTION}"><table cellspacing="1" cellpadding="4" border="0" align="center" class="forumline">
	<tr>
		<th class="thCornerL">{L_RANK}</th>
		<th class="thTop">Rankimage</th>
		<th class="thTop">{L_RANK_MINIMUM}</th>
		<th class="thTop">{L_SPECIAL_RANK}</th>
		<th class="thTop">{L_EDIT}</th>
		<th class="thCornerR">{L_DELETE}</th>
	</tr>
	<!-- BEGIN ranks -->
	<tr>
		<td class="{ranks.ROW_CLASS}" align="center">{ranks.RANK}</td>
		<td class="{ranks.ROW_CLASS}" align="center">{ranks.RANK_IMAGE}</td>
	        <td class="{ranks.ROW_CLASS}" align="center">{ranks.RANK_MIN}</td>
		<td class="{ranks.ROW_CLASS}" align="center">{ranks.SPECIAL_RANK}</td>
		<td class="{ranks.ROW_CLASS}" align="center"><a href="{ranks.U_RANK_EDIT}">{L_EDIT}</a></td>
		<td class="{ranks.ROW_CLASS}" align="center"><a href="{ranks.U_RANK_DELETE}">{L_DELETE}</a></td>
	</tr>
	<!-- END ranks -->			
	<tr>
		<td class="catBottom" align="center" colspan="6"><input type="submit" class="mainoption" name="add" value="{L_ADD_RANK}" /></td>
	</tr>
</table></form>
Ich habe nun eine eigene Spalte, aber es wird dort NICHTS angezeigt.
Sieht so aus, als ob die Variable leer wäre.

Weiss da jemand Rat? Wäre super nett!

Verfasst: 02.05.2004 19:01
von Markus67
Hi ...

entweder bin ich blind ... aber ich finde die Liste nicht in deinem Board :-?

Markus

Verfasst: 02.05.2004 19:25
von Gumfuzi
Ich meine die Liste, die beim ACP dabei ist.

Verfasst: 02.05.2004 21:03
von Markus67
Hi ....

Hast du mal probiert einen Rang zu editieren und abzuspeichern ob die Grafik dann angezeigt wird ?

Ich weiß der MOD aber trotzdem mal probieren :wink:

Markus

Verfasst: 02.05.2004 21:06
von Gumfuzi
Hi Markus!

Ja, das funzt wunderbar, habe ich schon oft so gemacht. Nur will ich bei meinen ca. 50 Rängen überall das Bild ändern und mit der Übersicht ist es übersichtlicher zu editieren (dann vergisst man keines).

Verfasst: 02.05.2004 21:11
von Markus67
Hi ...

Verlinke mal deine admin/admin_ranks.php als txt-Datei ...

Markus

Verfasst: 02.05.2004 21:14
von Gumfuzi
http://members.liwest.at/ssw/phpbb/admin_ranks.php.txt

Der Fehler liegt sicher nur irgendwo im Detail.... aber ich komm einfach nicht drauf!

Verfasst: 02.05.2004 21:28
von Markus67
Hi ....

Den Rang zeigt er zwar an im Adminbereich .... aber er zeigt das Bild erst an wenn man den Rang editiert ....

Bei mir das gleiche .... :-?

Markus

Verfasst: 02.05.2004 21:32
von Gumfuzi
Daß er es erst beim editieren anzeigt, war vorher auch schon so.

Aber warum holt er die Daten nicht:

Code: Alles auswählen

		$sql = "SELECT * FROM " . RANKS_TABLE . "
			ORDER BY rank_min, rank_title";
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);
		}
Damit wird doch die ganze Tabelle "Ranks_Table" geladen - oder?
Also sollte in dieser Variable auch etwas drin sein - ist es aber nicht:

Code: Alles auswählen

		        "RANK_IMAGE" => ( $rank_rows[$i]['rank_image'] != "" ) ? '<img src="../' . $rank_rows[$i]['rank_image'] . '" />' : "",
komisch...

Verfasst: 02.05.2007 02:30
von mark2
Ich bin zwar kein Profi und habe keine Ahnung was php angeht aber ich habe es hin bekommen.
Für phpBB Version 2.0.22

Code: Alles auswählen

#--- Öffne 
#
#--- admin/admin_ranks.php
#
#--- Finde:
#
$template->assign_vars(array(
"L_RANKS_TITLE" => $lang['Ranks_title'],
#
#--- Füge danach ein:
#
 "L_PREVIEW" => $lang['Preview'],  
#
#--- Finde:
#
$rank = $rank_rows[$i]['rank_title'];
#
#--- Füge danach ein:
#
$rank_image = $rank_rows[$i]['rank_image'];
#
#--- Finde:
#
"RANK" => $rank,
#
#--- Füge danch ein:
#
"RANK_IMAGE" => ( $rank_rows[$i]['rank_image'] != "" ) ? '<img src="../' . $rank_rows[$i]['rank_image'] . '" />' : "", 



#
#--- Öffne
#
#--- templates/xxx/admin/ranks_list_body.tpl
#
#--- Finde:
#
<th class="thCornerL">{L_RANK}</th>
#
#--- Füge danach ein:
#
<th class="thTop">{L_PREVIEW}</th>
#
#--- Finde:
#
<td class="{ranks.ROW_CLASS}" align="center">{ranks.RANK}</td>
#
#--- Füge danach ein:
#
 <td class="{ranks.ROW_CLASS}" align="center">{ranks.RANK_IMAGE}</td>