Seite 1 von 1

Multiple ANzeige in der Wer ist onlie liste

Verfasst: 09.05.2025 23:26
von chris1278
Hallo. Ich bin gerade dabei eine neue Erweiterung zu programieren.

Ich habe dafür drei Routings in der entsprechenden yml datei angelegt.

Bei dem ersten Routing funktioniert das aber sobald ich die anderen seiten aufrufe steht immer forenübersicht.

Ich meine wenn man in der Forenindex auf den schriftzug wer ist online klickt sieht man ja immer wer gerade was macht.

Ich habe das so probiert:

Code: Alles auswählen

public function add_seite1_viewonline($event)
{
	if ($event['row']['session_page'] === 'app.' . $this->phpEx . '/seite1' ||
		$event['row']['session_page'] === 'app.' . $this->phpEx . '/seite1.php')
	{
			$event['location'] = $this->language->lang('VIEWONLINE_SEITE1');
			$event['location_url'] = $this->helper->route('chris1278_ext_seite1');
	}
}

public function add_seite2_viewonline($event)
{
	if ($event['row']['session_page'] === 'app.' . $this->phpEx . '/seite2' ||
		$event['row']['session_page'] === 'app.' . $this->phpEx . '/seite2.php')
	{
			$event['location'] = $this->language->lang('VIEWONLINE_SEITE2');
			$event['location_url'] = $this->helper->route('chris1278_ext_seite2');
	}
}

public function add_seite3_viewonline($event)
{	
	if ($event['row']['session_page'] === 'app.' . $this->phpEx . '/seite3' ||
		$event['row']['session_page'] === 'app.' . $this->phpEx . '/seite3.php')
	{
			$event['location'] = $this->language->lang('VIEWONLINE_SEITE3');
			$event['location_url'] = $this->helper->route('chris1278_ext_seite3');
	}
}


genau so wie so:

Code: Alles auswählen

public function add_seite1_viewonline($event)
{
	if ($event['row']['session_page'] === 'app.' . $this->phpEx . '/seite1' ||
		$event['row']['session_page'] === 'app.' . $this->phpEx . '/seite1.php')
	{
			$event['location'] = $this->language->lang('VIEWONLINE_SEITE1');
			$event['location_url'] = $this->helper->route('chris1278_ext_seite1');
	}

	if ($event['row']['session_page'] === 'app.' . $this->phpEx . '/seite2' ||
		$event['row']['session_page'] === 'app.' . $this->phpEx . '/seite2.php')
	{
			$event['location'] = $this->language->lang('VIEWONLINE_SEITE2');
			$event['location_url'] = $this->helper->route('chris1278_ext_seite2');
	}
	
	if ($event['row']['session_page'] === 'app.' . $this->phpEx . '/seite3' ||
		$event['row']['session_page'] === 'app.' . $this->phpEx . '/seite3.php')
	{
			$event['location'] = $this->language->lang('VIEWONLINE_SEITE3');
			$event['location_url'] = $this->helper->route('chris1278_ext_seite3');
	}
}
Falls mir da jemand ein tip geben kann was ich da falsch gemacht habe. Oder evtl. eine Extension kennt die auch mehrer routing seiten hat und in der wer ist online liste richtig ausgegeben wird. Dafür wäre ich erstmal sehr dankbar.

Re: Multiple ANzeige in der Wer ist onlie liste

Verfasst: 10.05.2025 23:24
von chris1278
Ich habe es gelöst bekommen.

Also folgendes Problem bestand.

Da ich die Routing Links mit Parameter benutz, habe so nach dem aufbau hier:

xyz/seite1.php?mode=1...usw hat dies nicht funktioniert.

Ich habe das ganze jetzt so umgebaut:

Code: Alles auswählen

if (strpos($event['row']['session_page'], 'seite1') == true || strpos($event['row']['session_page'], 'seite1.php') == true)
{
	$event['location'] = $this->language->lang('VIEWONLINE_SEITE1');
	$event['location_url'] = $this->helper->route('chris1278_ext_seite1');
}
else if (strpos($event['row']['session_page'], 'seite2') == true || strpos($event['row']['session_page'], 'seite2.php') == true)
{
	$event['location'] = $this->language->lang('VIEWONLINE_SEITE2');
	$event['location_url'] = $this->helper->route('chris1278_ext_seite2');
}
else if (strpos($event['row']['session_page'], 'seite3') == true || strpos($event['row']['session_page'], 'seite3.php') == true)
{
	$event['location'] = $this->language->lang('VIEWONLINE_SEITE3');
	$event['location_url'] = $this->helper->route('chris1278_ext_seite3');
}

Damit wird eben geprüft, ob die besagte Zeichenfolge in dem String enthalten ist. Also Beispiel:

Der String hat den Inhalt: Hallo, die Welt ist schön!

Jetzt wird einfach geprüft, ob in dem String sagen wir mal als Beispiel das Wort Welt enthalten ist. Ist der Eintrag enthalten gibt es true aus und der Eintrag wird in die wer ist online Liste geschleust.

Dann spielt es keine Rolle, was vor dem gesuchten Eintrag steht oder dahinter.


Die Variante, die ich vorher hat, funktioniert eben nur mit den absoluten angaben.