Seite 1 von 1

Benutzerdefinierte Profilfelder Invalid Argument

Verfasst: 16.04.2008 19:53
von sunwater
phpBB3 3.0.1
Installierter Mod: Who was here

Ein User hat mir gemeldet, dass er ein benutzerdefiniertes Profilfeld nicht ändern kann, weil das Feld leer ist. Ich hab das in der Administration gecheckt und das Feld schaut ganz normal aus. Wenn ich den entsprechenden User administriere, schaut sein Profil auch normal aus. Cache wurde bereits geleert (Browser und phpBB3), der User erhält folgende Fehlermeldung:

Code: Alles auswählen

[phpBB Debug] PHP Notice: in file /includes/functions_profile_fields.php on line 758: Invalid argument supplied for foreach()
Hab schon hier im Forum gesucht, aber leider nichts gefunden. :roll:

Danke im Voraus. :wink:

Verfasst: 17.04.2008 09:25
von sunwater
*Schups* und Nachtrag:

Code: Alles auswählen

/**
	* Process dropdown-type
	* @access private
	*/
	function generate_dropdown($profile_row, $preview = false)
	{
		global $user, $template;

		$value = $this->get_var('int', $profile_row, $profile_row['field_default_value'], $preview);

		if (!isset($this->options_lang[$profile_row['field_id']]) || !isset($this->options_lang[$profile_row['field_id']][$profile_row['lang_id']]) || !sizeof($this->options_lang[$profile_row['field_id']][$profile_row['lang_id']]))
		{
			$this->get_option_lang($profile_row['field_id'], $profile_row['lang_id'], FIELD_DROPDOWN, $preview);
		}

		$profile_row['field_value'] = $value;
		$template->assign_block_vars($this->profile_types[$profile_row['field_type']], array_change_key_case($profile_row, CASE_UPPER));

		foreach ($this->options_lang[$profile_row['field_id']][$profile_row['lang_id']] as $option_id => $option_value)
		{
			$template->assign_block_vars('dropdown.options', array(
				'OPTION_ID'	=> $option_id,
				'SELECTED'	=> ($value == $option_id) ? ' selected="selected"' : '',
				'VALUE'		=> $option_value)
			);
		}
	}

Verfasst: 17.04.2008 21:20
von bantu
Das bringt so leider nichts, wenn du die entsprechende Zeile nicht markierst.

Beachte bitte: KB:knigge - Topic Bumping (24 Stunden)

Verfasst: 18.04.2008 13:53
von sunwater
Verzeihung, ich kenn den Knigge, war nur schlampig :oops:
Der Fehler liegt in dieser Zeile:

Code: Alles auswählen

foreach ($this->options_lang[$profile_row['field_id']][$profile_row['lang_id']] as $option_id => $option_value)
Danke im Voraus,

Verfasst: 18.04.2008 17:37
von bantu
Hast du nachträglich ein Sprachpaket installiert?

Verfasst: 19.04.2008 09:13
von sunwater
DAS war der entscheidende Hinweis!
Der User verwendet als einziger Deutsch_Du und ich hab in meiner kindlichen Einfalt (meiner Erinnerung nach) die De_x_Sie in die De kopiert. *Grummel*
Danke vielmals. :wink: