Ich brauche in meiner Klasse den ContextService um an die ShopId zu kommen, nur bekomme ich einen Fehler beim theme cache generieren, der sich mir nicht wirklich erschließt.
Die Klasse/Service der den ContextService braucht habe ich in der services.xml zugewiesen.
So schaut ein Teil der Translation Klasse aus, der dafür relevant ist.
use Doctrine\DBAL\Connection;
use Shopware\Bundle\StoreFrontBundle\Service\ContextServiceInterface;
use Shopware_Components_Translation as Translator;
public function __construct(ContextServiceInterface $contextService, Connection $connection)
{
$this->contextService = $contextService;
$this->connection = $connection;
$this->translator = new Translator();
}
private function getTranslation($translationType, $objectId, $string)
{
$shopId = $this->contextService->getShopContext()->getShop()->getId();
}
Die getTranslation rufe ich in einer anderen Klasse aus
$this->translation = $this->container->get('mega_danger_notes.bundle.translation');
......
....
.
$this->translation->translateString($satz->getDescription(), 'h', $satz->getId());