Hallo Zusammen,
ich sitze gerade an einem Projekt dei dem ich eine Bildausgabe im Frontend durch Freitextfelder benötige. Durch einige Suchen bin ich auf div. Lösungen gekommen.
pluginname->_private->smarty->modifier.mediaurl.php
Models()->getRepository('Shopware\Models\Media\Media')->findOneBy(['id' => $id]);
if ($media) {
$path = $media->getPath();
$mediaUrl = Shopware()->Container()->get('shopware_media.media_service')->getUrl($path);
return $mediaUrl;
}
}
}
Dadurch die Entwicklung innerhalb eines Plugins und nicht in einem Theme erfolgt, wird der Modifier leider nicht direkt erkannt. Also habe ich weiter gesucht und eine Möglichkeit der Registrierung in den Docs gefunden. mainplugin.php:
public function build(ContainerBuilder $container)
{
parent::build($container);
$container->addCompilerPass(new AddTemplatePluginDirCompilerPass());
}
Diese zeigt auf Plugin->Components->CompilerPass->AddTemplatePluginDirCompilerPass.php:
getDefinition('template');
$template->addMethodCall('addPluginsDir', ['pluginname/_private/smarty']);
}
}
Leider kann ich in Smarty weiterhin nicht auf den modifier {$sCategoryContent.attr|mediaurl} zugreifen. Wie kann ich Shopware nun diesen Modifier korrekt beibringen?