[3.2] Sortieren nach Liste aus den custom profile fields

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Praggle
Mitglied
Beiträge: 48
Registriert: 30.05.2006 10:14

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von Praggle »

Was passiert, wenn du davor // schreibst, bzw. die Zeile vorübergehend löschst?
Wo wird $data definiert?

Oder andere Idee:
Könntest du deine memberlist.php hier per Pastebin hochladen. Dann kann ich selbst mal vergleichen.
cpg
Mitglied
Beiträge: 510
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von cpg »

Ich will hier kein heilloses Durcheinander anrichten, weil ich inzwischen mit 3.3.1 arbeite. Da sind einige Änderungen in den profile_fields gewesen.
Nach dem letzten Update musste ich deshalb einige kleine Änderungen durchführen, die ich aber leider nicht aufgezeichnet habe, weil ich dachte, es würde niemanden interessieren.
Praggle
Mitglied
Beiträge: 48
Registriert: 30.05.2006 10:14

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von Praggle »

Das Interesse an so einer Sortierfunktion scheint wirklich begrenzt zu sein. Man findet jedenfalls nur wenig Kommentare dazu.
Bei mir tut das Ding jetzt ohne die besagte Zeile nach ersten Tests erst mal seinen Dienst. Ich werde es weiter testen.
Praggle
Mitglied
Beiträge: 48
Registriert: 30.05.2006 10:14

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von Praggle »

Moin cpg,

das Sortieren funktioniert zwar gut, aber wie ich jetzt festgestellt habe, geht die Mitgliedersuche auf der Mitgliederliste nach der Modifikation leider nicht mehr richtig.
Beim Absenden des Suchformulars (memberlist.php?mode=searchuser -> Suche) kommt folgende Fehlermeldung:
SQL ERROR [ mysqli ]

Unknown column 'u.user_id' in 'on clause' [1054]

SQL

SELECT u.user_id FROM phpbb_users u , phpbb_user_group ug LEFT JOIN phpbb_profile_fields_data fd ON (u.user_id = fd.user_id) WHERE u.user_type IN (0, 3, 1) AND u.user_id = ug.user_id AND ug.group_id = 51 AND ug.user_pending = 0 ORDER BY u.user_regdate ASC LIMIT 50

BACKTRACE

[...]

FILE: [ROOT]/memberlist.php
LINE: 1571
CALL: phpbb\db\driver\factory->sql_query_limit()
Ich kann da nur schwer durchsteigen, verstehe auch nicht, warum 'u.user_id' dort nicht gefunden wird, bin also quasi mit meinem Latein am Ende, dass ohnehin nur sehr gering ist.

Wenn es doch bei dir läuft, wäre es für mich am einfachsten mal die 4 modifizierten Dateien /memberlist.php, /styles/prosilver/template/memberlist_body.html, /styles/prosilver/template/memberlist_search.html und /language/de/common.php mit meinen Modifikationen zu vergleichen. Man muss das Rad ja nicht zweimal erfinden. Ich hab auch ein benutzerdefiniertes Profilfeld mit dem Namen "location_mysearch" eingerichtet. Die Änderungen von 3.2.10 nach 3.3.1 sind, so weit ich das beurteilen kann, nicht so bedeutsam für diese Problematik. Das sollte sich gut übertragen lassen.

Meine Dateien sehen so aus:
memberlist.php
common.php
memberlist_body.html
memberlist_search.html

Du kannst mir das sonst auch gerne per PN oder Email schicken.
Praggle
Mitglied
Beiträge: 48
Registriert: 30.05.2006 10:14

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von Praggle »

Okay, nun hab ich's doch wieder selbst gefunden. Es sind zwei Klammerpärchen gewesen, die fehlten. Der fehlerhafte Codeblock muss folgendermaßen lauten:

Code: Alles auswählen

		// Get us some users :D
		
		       if(isset($sort_key_sql['n'])) {
             $sql = "SELECT u.user_id
                     FROM (" . USERS_TABLE . " u
                     $sql_from)
                     LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd 
					 ON (u.user_id = fd.user_id)
                     WHERE (" . $db->sql_in_set('u.user_type', $user_types) . "
                     $sql_where)
                     ORDER BY $order_by";
          } else {
          
          $sql = "SELECT u.user_id
             FROM " . USERS_TABLE . " u
                $sql_from
             WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
                $sql_where
             ORDER BY $order_by";
             }
          $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
Also in der FROM und WHERE Klausel fehlten die Klammern.
cpg
Mitglied
Beiträge: 510
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von cpg »

Moin,

der Block sieht bei mir so aus

Code: Alles auswählen

// Get us some users :D
		$sql = "SELECT u.user_id
		
			FROM (" . USERS_TABLE . " u
				$sql_from)
				LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd ON (u.user_id = fd.user_id)
			WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
				$sql_where
			ORDER BY $order_by";
		$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);

		$user_list = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$user_list[] = (int) $row['user_id'];
		}
		$db->sql_freeresult($result);

		// Load custom profile fields
		if ($config['load_cpf_memberlist'])
		{
			/* @var $cp \phpbb\profilefields\manager */
			$cp = $phpbb_container->get('profilefields.manager');

			$cp_row = $cp->generate_profile_fields_template_headlines('field_show_on_ml');
			foreach ($cp_row as $profile_field)
			{
				$template->assign_block_vars('custom_fields', $profile_field);
			}
		}
Ich brauche noch etwas Zeit, bis ich Dir die Dateien zur Verfügung stellen kann; denn ich sitze nicht nur vor dem Rechner, sondern habe noch andere Aufgaben und Vorhaben. .
Es gab doch eine Änderung in den profile_fields und auch eine Änderung beim Auslesen.
Ich habe da einen "Schönheitsfehler", der die Funktion allerdings nicht beeinträchtigt. Das möchte ich trotzdem gerne noch in Ordnung bringen.
Leider muss ich nochmals davor warnen, die Dateien aus verschiedenen Versionen zu mischen.

... mal ganz abgesehen davon, dass so eine Code-Bastelei nicht gerne gesehen wird :)

Gruß
cpg
Praggle
Mitglied
Beiträge: 48
Registriert: 30.05.2006 10:14

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von Praggle »

N'Abend cpg,

lass mal gut sein. Ich will deine Zeit auch nicht überstrapazieren. Vielleicht sind die Versionen doch zu unterschiedlich.

Ich hatte noch ein kleines Problem mit dem Ajax-Livesearch-Feature. Da kam beim Tippen immer eine Ajax-Fehlermeldung. Ich hab da einfach den ursprünglichen Block wieder reingesetzt:

Code: Alles auswählen

// Get us some users :D
		$sql = "SELECT u.user_id
		
			FROM (" . USERS_TABLE . " u
				$sql_from)
				LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd ON (u.user_id = fd.user_id)
			WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
				$sql_where
			ORDER BY $order_by";
		$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);

		$user_list = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$user_list[] = (int) $row['user_id'];
		}
		$db->sql_freeresult($result);

		// Load custom profile fields
		if ($config['load_cpf_memberlist'])
		{
			/* @var $cp \phpbb\profilefields\manager */
			$cp = $phpbb_container->get('profilefields.manager');

			$cp_row = $cp->generate_profile_fields_template_headlines('field_show_on_ml');
			foreach ($cp_row as $profile_field)
			{
				$template->assign_block_vars('custom_fields', $profile_field);
			}
		}
Das führt zwar dazu, dass jetzt bei der Mitgliedersuche während des Tippens im benutzerdefinierten Profilfeld keine Vorschläge angezeigt werden, aber in den anderen Feldern funktioniert das wie gehabt. Und damit kann ich gut leben.

Somit würde ich das aus meiner Sicht jetzt auch abschließen. Mir ist beim Modifizieren der Dateien eigentlich auch nicht sonderlich wohl. Das gibt bei jedem Update wieder neue Probleme. Aber falls sich doch mal jemand an das Erstellen einer Extension machen sollte, wäre so eine Modifikation natürlich schon die Ausgangsbasis.

Dir also vielen Dank für die Unterstützung, auch wenn das Thema schon etwas angestaubt war.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von BNa »

Angestaubt - Garnicht - Interessiert auch andere..
Danke für Deinen Entdeckergeist < :geek:
cpg
Mitglied
Beiträge: 510
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von cpg »

@Praggle
Moin,
Jedenfalls danke ich Dir für den Austausch.
So konnte ich das gleich zum Anlass nehmen, den kleinen "Schönheitssfehler" auszubügeln (bei mir stand unter "Wohnort" jeweils in der nächsten Zeile genau darunter auch noch die Plz (ohne Link zum Sortieren).
Sie war sozusagen doppelt, weil sie auch noch in der Spalte "sortieren nach Plz" stand (wie es sein soll).
Durch das geänderte Auslesen der custom_profile_fields war das nicht so einfach zu trennen und ich musste es ganz umbauen.

Gruß und schönen Feiertag
cpg
Praggle
Mitglied
Beiträge: 48
Registriert: 30.05.2006 10:14

Re: [3.2] Sortieren nach Liste aus den custom profile fields

Beitrag von Praggle »

Für alle, die es auch versuchen möchten, habe ich hier zum Tag der deutschen Einheit noch mal die einzelnen Mod-Schritte zusammengefasst.
Die Ajax-Livesearch-Funktion mit der bei der Mitgliedersuche im Namensfeld schon während des Eintippens Vorschläge gemacht werden, ist zwar grob implementiert, aber dann doch nicht ins Search-Template integriert, weil so bisher nicht die richtigen Inhalte übermittelt werden. Der Aufwand war mir zu groß, eigentlich braucht man es auch nicht und das war ursprünglich ja auch nur für das Feld 'Benutzername' so vorgesehen.


Getestet mit phpBB Deutsch 3.2.10
Mein benutzerdefiniertes Profilfeld hat die Feld-Kennung "plz_wohnort".
Wenn ihr eine andere Kennung benutzen wollt, müsst ihr in allen 4 Dateien "plz_wohnort" durch "mein_eigenes_feld" und "PLZ_WOHNORT" durch "MEIN_EIGENES_FELD" ersetzen. Die Groß- und Kleinschrteibung muss dabei erhalten bleiben.
Die angegebenen Zeilennummern beziehen sich jeweils auf die unveränderte Orginaldatei.

Nicht vergessen: Backup der alten Dateien machen!



Öffne: /memberlist.php

Finde:
(ab Zeile 919)

Code: Alles auswählen

 	case 'livesearch':

		$username_chars = $request->variable('username', '', true);

		$sql = 'SELECT username, user_id, user_colour
			FROM ' . USERS_TABLE . '
			WHERE ' . $db->sql_in_set('user_type', $user_types) . '
				AND username_clean ' . $db->sql_like_expression(utf8_clean_string($username_chars) . $db->get_any_char());
		$result = $db->sql_query_limit($sql, 10);
		$user_list = array();

		while ($row = $db->sql_fetchrow($result))
		{
			$user_list[] = array(
				'user_id'		=> (int) $row['user_id'],
				'result'		=> $row['username'],
				'username_full'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
				'display'		=> get_username_string('no_profile', $row['user_id'], $row['username'], $row['user_colour']),
			);
		}
		$db->sql_freeresult($result);
		$json_response = new \phpbb\json_response();
		$json_response->send(array(
			'keyword' => $username_chars,
			'results' => $user_list,
		));

	break;
Ersetze mit:

Code: Alles auswählen

	case 'livesearch':

		$username_chars = $request->variable('username', '', true);

		$sql = 'SELECT username, u.user_id, user_colour, pf_plz_wohnort
			FROM ' . USERS_TABLE . ' u			
			LEFT JOIN ' . PROFILE_FIELDS_DATA_TABLE . ' fd ON (u.user_id = fd.user_id)
				WHERE ' . $db->sql_in_set('user_type', $user_types) . '
				AND username_clean ' . $db->sql_like_expression(utf8_clean_string($username_chars) . $db->get_any_char());
		$result = $db->sql_query_limit($sql, 10);
		$user_list = array();

		while ($row = $db->sql_fetchrow($result))
		{
			$user_list[] = array(
				'user_id'		=> (int) $row['user_id'],
				'result'		=> $row['username'],
				'plz_wohnort'	=> $row['pf_plz_wohnort'],
				'username_full'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
				'display'		=> get_username_string('no_profile', $row['user_id'], $row['username'], $row['user_colour'], $row['pf_plz_wohnort']),
			);
		}
		
		$db->sql_freeresult($result);
		$json_response = new \phpbb\json_response();
		$json_response->send(array(
			'keyword' => $username_chars,
			'results' => $user_list,
		));

	break;



Finde:
(ab Zeile 957)

Code: Alles auswählen

		// Sorting
		$sort_key_text = array('a' => $user->lang['SORT_USERNAME'], 'c' => $user->lang['SORT_JOINED'], 'd' => $user->lang['SORT_POST_COUNT']);
		$sort_key_sql = array('a' => 'u.username_clean', 'c' => 'u.user_regdate', 'd' => 'u.user_posts');
Ersetze mit:

Code: Alles auswählen

		// Sorting
		$sort_key_text = array('a' => $user->lang['SORT_USERNAME'], 'c' => $user->lang['SORT_JOINED'], 'd' => $user->lang['SORT_POST_COUNT'], 'n' => $user->lang['SORT_PLZ_WOHNORT']);
		$sort_key_sql = array('a' => 'u.username_clean', 'c' => 'u.user_regdate', 'd' => 'u.user_posts', 'n' => 'u.plz_wohnort');

		$sort_key_text['n'] = $user->lang['PLZ_WOHNORT'];
		$sort_key_sql['n'] = 'pf_plz_wohnort';


Finde:
(ab Zeile 1007)

Code: Alles auswählen

		// Search URL parameters, if any of these are in the URL we do a search
		$search_params = array('username', 'email', 'jabber', 'search_group_id', 'joined_select', 'active_select', 'count_select', 'joined', 'active', 'count', 'ip');
Ersetze mit:

Code: Alles auswählen

		// Search URL parameters, if any of these are in the URL we do a search
		$search_params = array('username', 'plz_wohnort', 'email', 'jabber', 'search_group_id', 'joined_select', 'active_select', 'count_select', 'joined', 'active', 'count', 'ip');

Finde:
(Zeile 1015)

Code: Alles auswählen

			$username	= $request->variable('username', '', true);
Danach einfügen:

Code: Alles auswählen

			$plz_wohnort        =  $request->variable('plz_wohnort', '', true . '*');

Finde:
(Zeile 1055)

Code: Alles auswählen

			$sql_where .= ($username) ? ' AND u.username_clean ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), utf8_clean_string($username))) : '';
Danach einfügen:

Code: Alles auswählen

			$sql_where .= mb_strtolower($plz_wohnort) ? ' AND LOWER(pf_plz_wohnort) ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), utf8_clean_string($plz_wohnort))) . ' ' : '';



Finde:
(Ab Zeile 1333)

Code: Alles auswählen

		// Count the users ...
		$sql = 'SELECT COUNT(u.user_id) AS total_users
			FROM ' . USERS_TABLE . " u$sql_from
			WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
			$sql_where";
		$result = $db->sql_query($sql);
		$total_users = (int) $db->sql_fetchfield('total_users');
		$db->sql_freeresult($result);
Ersetze mit:

Code: Alles auswählen

		// Count the users ...
		$sql = 'SELECT COUNT(u.user_id) AS total_users
			FROM (' . USERS_TABLE . " u 
			$sql_from)
			LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd 
			ON (u.user_id = fd.user_id)
			WHERE (" . $db->sql_in_set('u.user_type', $user_types) . "
			$sql_where)";
		$result = $db->sql_query($sql);
		$total_users = (int) $db->sql_fetchfield('total_users');
		$db->sql_freeresult($result);

Finde:
(Zeile 1353)

Code: Alles auswählen

			'username'		=> array('username', '', true),
Danach einfügen:

Code: Alles auswählen

			'plz_wohnort'	=> array('plz_wohnort', '', true. '*'),

Finde:
(Zeile 1508)

Code: Alles auswählen

				'USERNAME'	=> $username,
Danach einfügen:

Code: Alles auswählen

				'PLZ_WOHNORT'	=> $plz_wohnort,

Finde:
(Ab Zeile 1535)

Code: Alles auswählen

		// Get us some users :D
		$sql = "SELECT u.user_id
			FROM " . USERS_TABLE . " u
				$sql_from
			WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
				$sql_where
			ORDER BY $order_by";
		$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
Ersetze mit:

Code: Alles auswählen

		// Get us some users :D
		
		       if(isset($sort_key_sql['n'])) {
             $sql = "SELECT u.user_id
                     FROM (" . USERS_TABLE . " u
                     $sql_from)
                     LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd 
					 ON (u.user_id = fd.user_id)
                     WHERE (" . $db->sql_in_set('u.user_type', $user_types) . "
                     $sql_where)
                     ORDER BY $order_by";
          } else {
          
          $sql = "SELECT u.user_id
             FROM " . USERS_TABLE . " u
                $sql_from
             WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
                $sql_where
             ORDER BY $order_by";
             }
          $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);

Finde:
(Zeile 1709)

Code: Alles auswählen

					'S_INACTIVE'		=> $row['user_type'] == USER_INACTIVE,
Danach einfügen:

Code: Alles auswählen

					'S_PLZ_WOHNORT'	=> (isset($cp_row['row']) && sizeof($cp_row['row'])) ? true : false,

Finde:
(Zeile 1748)

Code: Alles auswählen

			'U_SORT_USERNAME'		=> $sort_url . '&amp;sk=a&amp;sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a'),
Danach einfügen:

Code: Alles auswählen

			'U_SORT_PLZ_WOHNORT'		=> $sort_url . '&amp;sk=n&amp;sd=' . (($sort_key == 'n' && $sort_dir == 'a') ? 'd' : 'a'),




Öffne: /language/de/common.php


Finde:
(Zeile 382)

Code: Alles auswählen

	'LOCATION'							=> 'Wohnort',
Danach einfügen:

Code: Alles auswählen

	'PLZ_WOHNORT'                 => 'PLZ Wohnort',
	'SORT_PLZ_WOHNORT'                 => 'PLZ',



Öffne: /styles/prosilver/template/memberlist_body.html


Finde:
(Zeile 69)

Code: Alles auswählen

		<table class="table1 memberlist" id="memberlist">
		<thead>
		<tr>
			<th class="name" data-dfn="{L_RANK}{L_COMMA_SEPARATOR}<!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF -->"><span class="rank-img"><a href="{U_SORT_RANK}">{L_RANK}</a></span><a href="{U_SORT_USERNAME}"><!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF --></a></th>
			<th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>
			<th class="info"><!-- BEGIN custom_fields --><!-- IF not custom_fields.S_FIRST_ROW -->{L_COMMA_SEPARATOR} <!-- ENDIF -->{custom_fields.PROFILE_FIELD_NAME}<!-- END custom_fields --></th>
			<th class="joined"><a href="{U_SORT_JOINED}#memberlist">{L_JOINED}</a></th>
			<!-- IF U_SORT_ACTIVE --><th class="active"><a href="{U_SORT_ACTIVE}#memberlist">{L_LAST_ACTIVE}</a></th><!-- ENDIF -->
			{% EVENT memberlist_body_memberlist_after %}
		</tr>
		</thead>
		<tbody>
Ersetze mit:

Code: Alles auswählen

		<table class="table1 memberlist" id="memberlist">
		<thead>
		<tr>
			<th class="name" data-dfn="{L_RANK}{L_COMMA_SEPARATOR}<!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF -->"><span class="rank-img"><a href="{U_SORT_RANK}">{L_RANK}</a></span><a href="{U_SORT_USERNAME}"><!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF --></a></th>
			<th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>
			<!-- IF U_SORT_PLZ_WOHNORT --><th class="info"><a href="{U_SORT_PLZ_WOHNORT}#memberlist">{L_PLZ_WOHNORT}</a></th><!-- ENDIF -->
			<th class="joined"><a href="{U_SORT_JOINED}#memberlist">{L_JOINED}</a></th>
			<!-- IF U_SORT_ACTIVE --><th class="active"><a href="{U_SORT_ACTIVE}#memberlist">{L_LAST_ACTIVE}</a></th><!-- ENDIF -->
			{% EVENT memberlist_body_memberlist_after %}
		</tr>
		</thead>
		<tbody>

Finde:
(ab Zeile 128)

Code: Alles auswählen

		<td class="info">
			{%- for field in memberrow.custom_fields -%}
				<div>{% if field.S_PROFILE_CONTACT %}<a href="{{ field.PROFILE_FIELD_CONTACT }}">{% endif %}{{ field.PROFILE_FIELD_VALUE }}{% if field.S_PROFILE_CONTACT %}</a>{% endif %}</div>
			{%- else -%}
				&nbsp;
			{%- endfor -%}
		</td>

Ersetze mit:

Code: Alles auswählen

		<td class="info"><!-- IF memberrow.PROFILE_PLZ_WOHNORT_VALUE --><div>{memberrow.PROFILE_PLZ_WOHNORT_VALUE}</div><!-- ELSE -->&nbsp;<!-- ENDIF --></td>



Öffne: /styles/prosilver/template/memberlist_body.html


Finde:
(Zeile 27)

Code: Alles auswählen

<!-- IF S_EMAIL_SEARCH_ALLOWED -->
DAVOR einfügen:

Code: Alles auswählen

	<dl>
		<dt><label for="plz_wohnort">{L_PLZ_WOHNORT}{L_COLON}</label></dt>
		<dd><input type="text" name="plz_wohnort" id="plz_wohnort" value="{PLZ_WOHNORT}" class="inputbox" /></dd>
	</dl>

Alle 4 Dateien in die entsprechenden Verzeichnisse hochladen und phpBB-Cache leeren.

Viel Glück!
Antworten

Zurück zu „Extension Bastelstube“