Contao\CoreBundle\Image\Studio\Studio nutzen
In einem ContentElement-Klasse will ich Contao\CoreBundle\Image\Studio\Studio verwenden. Aber egal, wie ich Contao\CoreBundle\Image\Studio\Studio einbinde: es kommt immer "You have requested a non-existent service"
Klasse Person.php
PHP-Code:
<?php
namespace Schachbulle\ContaoSpielerregisterBundle\ContentElements;
class Person extends \ContentElement
{
/**
* Template
* @var string
*/
protected $strTemplate = 'ce_spielerregister_person';
/**
* Generate the module
*/
protected function compile()
{
// Person aus Datenbank laden, wenn ID übergeben wurde
if($this->spielerregister_id)
{
$objPerson = $this->Database->prepare("SELECT * FROM tl_spielerregister WHERE id=?")
->execute($this->spielerregister_id);
// Adresse gefunden
if($objPerson->numRows)
{
// Überschrift auf Platzhalter %s prüfen
$pos = strpos($this->headline, '%s');
if($pos !== false)
{
// Überschrift ändern
$this->headline = sprintf($this->headline, $objPerson->firstname1.' '.$objPerson->surname1);
}
$this->Template->addImage = false;
$this->Template->addBefore = false;
// Add an image
if ($this->addImage)
{
$figure = \System::getContainer()
->get(\Contao\CoreBundle\Image\Studio\Studio::class)
->createFigureBuilder()
->from($this->singleSRC)
->setSize($this->size)
->setMetadata($this->objModel->getOverwriteMetadata())
->enableLightbox((bool) $this->fullsize)
->buildIfResourceExists();
if (null !== $figure)
{
$figure->applyLegacyTemplateData($this->Template, $this->imagemargin, $this->floating);
}
}
// Daten aus tl_content in das Template schreiben
$this->Template->headline = $this->headline;
$this->Template->name = $objPerson->firstname1.' '.$objPerson->surname1;
$this->Template->lebensdaten = \Schachbulle\ContaoSpielerregisterBundle\Klassen\Helper::getLebensdaten($objPerson->birthday, $objPerson->birthplace, $objPerson->death, $objPerson->deathday, $objPerson->deathplace);
$this->Template->kurzinfo = $objPerson->shortinfo;
$this->Template->langinfo = $objPerson->longinfo;
}
}
return;
}
}
Versucht habe ich schon:
\Contao\CoreBundle\Image\Studio\Studio
Contao\CoreBundle\Image\Studio\Studio
\CoreBundle\Image\Studio\Studio
\Image\Studio\Studio
\Studio\Studio
\Studio
Immer derselbe Fehler.
EDIT: Die Anleitung unter https://docs.contao.org/dev/framewor...-figurebuilder scheint für Core-Entwickler geschrieben worden zu sein, denn Aufrufe z.B. von System ohne \ davor funktionieren in Erweiterungen nicht.