Hi,
ich habe hier ein wahrscheinlich etwas kleineres Problem, komme aber nicht zu einer Lösung.
Ich habe in Symfony einen Frontend-Controller, welcher mir Html generieren soll, das in einem Artikel eingebunden wird.
Der Controller sieht wie folgt aus:
PHP-Code:
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;
use Twig\Environment as TwigEnvironment;
/**
* @Route("/test", defaults={"_scope" = "frontend"})
*/
class FrontendController extends AbstractController
{
private $twig;
public function __construct(TwigEnvironment $twig)
{
$this->twig = $twig;
}
/**
* @Route("/fe-test", name="fe_test")
*/
public function test()
{
$res = $this->twig->render(
'test.html.twig',
[]
);
return new Response($res);
}
/**
* @Route("/irgendwas", name="fe_test2")
*/
public function test2()
{
// Do sth else
}
}
Wenn ich diese Route in meiner Testumgebung (localhost:8000) über den Browser aufrufe, dann bekomme ich mein gerendertes Html.
Dieses möchte ich nun in einen Artikel einbinden. Ich bin selbst nicht der größte Contao-Spezialist, deswegen ist mein Ansatz sicher etwas rudimentär.
Ich habe in den Artikel ein Template eingebunden, welches folgendes macht:
PHP-Code:
echo file_get_contents('http://localhost:8000/test/fe-test');
Leider funktioniert dies in meinem Contao-Artikel nicht wie im Browser und ich bekomme folgende Meldung:
"Warning: file_get_contents(http://localhost:8000/test/fe-test): failed to open stream: HTTP request failed!".
Was mache ich falsch bzw. wie müsste ich das gestalten, damit in meinem Artikel mein, aus dem Symfony-Backend gerendertes, Html angezeigt wird?
Nebenbei: Der Ansatz mit der hardgecodeten URL ist natürlich nur erstmal ein Test. Hier würde mich interessieren, ob ich noch irgendeine Contao-spezifische Konstante o.ä.
für den Hostnamen verwenden muss (Base-Url) oder ob es Contao schon reichen würde, wenn ich nur die Route selbst nehme ("/fe-test").
Wahrscheinlich ist auch "file_get_contents" nicht der beste Weg hier den Content meiner Route zu beziehen, oder?
Für hilfreiche Tipps wäre ich sehr dankbar!
Lesezeichen