Eigene Seiten mit assoziativem Array

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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.
Fr33z3m4n
Mitglied
Beiträge: 2
Registriert: 09.12.2008 08:34

Eigene Seiten mit assoziativem Array

Beitrag von Fr33z3m4n »

Guten Tag,

ich bin neu beim phpBB (nur fals es erleichtert meine Fragen zu verstehen).

Also habe gestern nach Vorlage eine eigene Seite im phpBB3 erstellt.
http://wiki.phpbb.com/Adding_pages

Funktioniert auch soweit, jedoch habe ich es nicht geschafft, eine weitere schleife in der vorhandenen einzupflegen.

Gehen wir mal davon aus, ich habe kategorien als Schleife, und will dann auf der Seite unter den Kategorien die jeweiligen Datensätze anzeigen lassen.

Also muss ich ja erstmal
<!--- BEGIN cat --->

und dann in dessen <!--- BEGIN data --->

doch genau da liegt mein Problem. Wie sage ich phpBB3, das es sich hierbei um eine Schleife handelt ?

Code: Alles auswählen

$template->assign_block_vars('block_name', array(
        'EXAMPLE'        => $row['example'],
        'DEMO'            => $row['demonstration'],
        'DATA' => array('data' => array())
    ));
bringt leider nix, auch weitere andere Tests mit anderen Möglichkeiten hat mich nicht zum Ziel geführt.

Woran liegt das, unterstützt das phpBB3 ?
Ich gehe mal davon aus JA, nur finde derzeit einfach nicht die Lösung.

mfg
Fr33z3m4n
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Prinzipielle Funktion der Verschachtelung der Schleifen in einem Template -> Link.
Zuletzt geändert von Miriam am 09.12.2008 10:36, insgesamt 1-mal geändert.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Fr33z3m4n
Mitglied
Beiträge: 2
Registriert: 09.12.2008 08:34

Beitrag von Fr33z3m4n »

genau das was ich gesucht habe.
ich danke dir. :)
DerPate
Mitglied
Beiträge: 157
Registriert: 12.06.2003 22:49

Beitrag von DerPate »

Abend,

maln naheliegendes Problem ... die Template-Ausgabe funtionert mit folgender SQL-Abfrage wunderbar ...

Code: Alles auswählen

	$sql = $db->sql_build_query('SELECT', array(
		'SELECT'	=> $sql_array['SELECT'],
		'FROM'		=> $sql_array['FROM'],
		'LEFT_JOIN'	=> $sql_array['LEFT_JOIN'],
		'WHERE'		=> $sql_array['WHERE'],
		'ORDER_BY'	=> $order_by,
	));	

	while ($page_row = $db->sql_fetchrow($page_result))
	{

				$template->assign_block_vars('page_row', array(
					'U_PAGE' 		=> append_sid("{$phpbb_root_path}" . FOLDER . "start.$phpEx", 'dkp=' . $dkp . '&mode=' . ($submode == true ? $mode : 'viewevent') . '&id=' . $page_row['event_id']),
					'PAGE_NAME' 	=> $submode == 'viewevent' ? $page_row['event_desc'] : stripslashes($page_row['event_name']),
					'PAGE_ICON' 	=> $submode == 'viewevent' ? false : dkp_event_icon($page_row['event_icon'], $page_row['event_name'], 26, 'left'),
					'PAGE_TAG' 	=> $submode == 'viewevent' ? false : '(' . stripslashes($page_row['event_tag'] . ')'),
					'PAGE_POOL' 	=> stripslashes($page_row['pool_name']),
					'PAGE_DATE' 	=> $page_row['event_date'])
				);
Da $page_row['pool_name'] nur 4 verschieden Werte enthält möchte ich dafür im template jeweils nen seperaten Block erzeugen ..

http://wiki.phpbb.com/Template.assign_b ... ted_blocks kenn ich, und habs denk ich soweit auch verstanden, aber ich bekomms um verrecken nicht hin die Daten entsprechend in ein Array zu packen :/

Wäre nett wenn wenn mir jmdf weiterhelfen könnte.


Mfg
Zuletzt geändert von DerPate am 12.12.2008 20:29, insgesamt 1-mal geändert.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Wo ist denn genau das Problem dabei?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
DerPate
Mitglied
Beiträge: 157
Registriert: 12.06.2003 22:49

Beitrag von DerPate »

Hi,

das Problem ist, dass ich es nicht hinbekomme die Daten aus der SQL-Abfrage vernünftig in ein (od. zwei?) Array zu schreiben.

In der while-Schleife steht in etwa

Code: Alles auswählen

$row_reg_ary = array_merge($reg_ary, $reg_ary[ $page_row['region'] ] = array(
					'realm'    => $page_row['realm'],
					'num_guilds'  => $page_row['num_guilds'],
					'realm_id' => $page_row['realm_id']
				));
				
				foreach ($reg_ary AS $region => $reg_detail)
				{
					$template->assign_block_vars('reg_block', array(
						'REGION'			=> $region,
					));
					
					foreach ($reg_ary AS $key => $detail)
					{
						$template->assign_block_vars('reg_block.page_row', array(
							'REALM'				=> $detail['realm'],
							'NUM_GUILDS' 		=> $detail['num_guilds'],
							'U_REALM_LINK' 		=> append_sid("{$phpbb_root_path}" . FOLDER . "realm.$phpEx", 'id=' . $detail['realm_id']),
						));
					}
				}
Das das nicht funktionieren kann seh ich ja selbst, schon allein aufgrund der doppelte Einträge aus $page_row['region'] ... aber ich weiß momentan beim besten Willen nicht wo ich ansetzen muss.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Wie sieht denn das Array aus, mit dem Du anfangst zu arbeiten.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
DerPate
Mitglied
Beiträge: 157
Registriert: 12.06.2003 22:49

Beitrag von DerPate »

Bin gerade nicht an meinem PC um irgendwas zu kopieren ... am Anfang sollte aber nur $reg_ary = array(); stehen.

Ich vermute mal, dass ich ein 2. Array brauch, welches dann in $reg_ary gepackt wird ... nur wie ist eben die Frage. Werd mal bisschen bei php.net rumstöbern und mir heute Abend mal die ACP-Datein anschauen, vll werd ich ja da fündig.

Gruss
DerPate
Mitglied
Beiträge: 157
Registriert: 12.06.2003 22:49

Re: Eigene Seiten mit assoziativem Array

Beitrag von DerPate »

[snip] Hat sich erledigt ...
Zuletzt geändert von DerPate am 24.01.2009 18:33, insgesamt 2-mal geändert.
jimmartens
Mitglied
Beiträge: 369
Registriert: 28.11.2008 20:04
Wohnort: Hamburg
Kontaktdaten:

Re: Eigene Seiten mit assoziativem Array

Beitrag von jimmartens »

Ich würde den Link entfernen, da sich der Browser dabei aufhängt. Denn die Seite wird trotzdem geladen. Am besten kopierst du die Fehlerausgabe in eine txt-Datei und verlinkst darauf.
Um es für die Supporter einfacher zu machen: Hier meine Forums-Adresse: Mein Eisenbahn-Forum
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“