[FLOW3] Wie lege ich eine Catchall / Wildcard Route an?

Tragt einfach in eurer Routes.yaml folgendes ein:

-
  name: 'default'
  uriPattern: '({all})'
  defaults:
    '@package':    '[dein_Vendor].[dein_Package]'
    '@controller': 'Standard'
    '@action':     'index'
    '@format':     'html'

Bitte beachten: dieser Routeneintrag sollte der allerletzte sein (also ganz unten stehen), da sonst alle danach folgenden definierten Routen nicht mehr funktionieren werden.

[Quicktip] Shopware 4 auf andere Domain umziehen

Wenn man eine Shopware Installation auf einen anderen Server verschiebt bzw. die Domain zum Shop ändert, dann wird dieser nach korrektem Aufruf trotzdem immer wieder auf die alte URL weiter leiten. Um dies zu umgehen, muss man in der Shopware Datenbank folgendes bearbeiten:

In der Tabelle s_core_shops den jeweiligen Shop heraus suchen und anschließend die Felder “host” und “hosts” auf die neue URL setzen. Danach sollte Shopware auch unter der neuen URL korrekt funktionieren.

[php] URLs effektiver zusammensetzen

Als PHP Entwickler muss man sich ja auch ab und zu mal um den Zusammenbau von URLs kümmern – entweder wird einem diese Arbeit von einem Framework abgenommen, oder man muss manuell ran. Mir geht es hier um den manuellen Weg. Man kann da folgendermaßen rangehen:

$url = "http://host/?id=10";
if($_GET["name"] != "")
{
	$url .= '&name='$_GET["name"];
}
if($_GET["country"] != "")
{
	$url .= '&country='$_GET["country"];
}
usw.


Wie man sieht, muss man für jeden eventuellen Parameter eigene if-Abfragen bauen, deren Muster ist aber immer das gleiche. Was spricht also dagegen, es folgendermaßen zu lösen?

$url = "http://host/?id=10";
$parameters = array(
	array("name"=>"name", "value"=>$_GET["name"]),
	array("name"=>"country", "value"=>$_GET["country"])
);
foreach($parameters as $parameter)
{
	if($parameter["value"] != "")
	{
		$url .= '&'.$parameter["name"].'='.$parameter["value"];
	}
}

Ok, im ersten Moment ist der neue Code bei gleichem Ergebnis etwas umfangreicher, jedoch ergibt sich ein erheblicher Vorteil, wenn neue Parameter dazu kommen. Denn nun muss man einfach dem $parameters-Array ein neues Element hinzufügen und schon wird dieses mit in die URL eingebaut.