Skip to content

Commit 5b1dfd5

Browse files
authored
Merge pull request #26 from monsieurbiz/feature/rich-editor-compatibility
2 parents ab6fdc3 + 7f98353 commit 5b1dfd5

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

src/MonsieurBizSyliusMediaManagerPlugin.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,9 @@ public function getPath(): string
2424
{
2525
return \dirname(__DIR__);
2626
}
27+
28+
public static function richEditorExtensionExists(): bool
29+
{
30+
return class_exists('MonsieurBiz\SyliusRichEditorPlugin\Twig\RichEditorExtension');
31+
}
2732
}

src/Twig/Extension/FileExtension.php

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace MonsieurBiz\SyliusMediaManagerPlugin\Twig\Extension;
1515

1616
use MonsieurBiz\SyliusMediaManagerPlugin\Exception\FileNotFoundException;
17+
use MonsieurBiz\SyliusMediaManagerPlugin\MonsieurBizSyliusMediaManagerPlugin;
1718
use MonsieurBiz\SyliusMediaManagerPlugin\Provider\MimeTypesProviderInterface;
1819
use MonsieurBiz\SyliusMediaManagerPlugin\Repository\FileRepositoryInterface;
1920
use MonsieurBiz\SyliusMediaManagerPlugin\Resolver\FilePathResolverInterface;
@@ -31,11 +32,20 @@ public function __construct(
3132

3233
public function getFunctions(): array
3334
{
34-
return [
35+
$richEditorTwigExtension = $this->richEditorExtensionExists() ? [] : [
36+
new TwigFunction('monsieurbiz_richeditor_get_media_without_upload_dir', [$this, 'getMediaWithoutUploadDir'], ['is_safe' => ['html', 'js']]),
37+
];
38+
39+
return array_merge([
3540
new TwigFunction('get_media_manager_file_path', [$this, 'getMediaManagerFilePath']),
3641
new TwigFunction('get_mime_type', [$this, 'getMimeType']),
3742
new TwigFunction('is_svg_image', [$this, 'isSvgImage']),
38-
];
43+
], $richEditorTwigExtension);
44+
}
45+
46+
public function richEditorExtensionExists(): bool
47+
{
48+
return MonsieurBizSyliusMediaManagerPlugin::richEditorExtensionExists();
3949
}
4050

4151
public function getMediaManagerFilePath(string $path): string
@@ -71,4 +81,10 @@ public function isSvgImage(string $relativeFilePath): bool
7181
{
7282
return \in_array($this->getMimeType($relativeFilePath), MimeTypesProviderInterface::SVG_TYPE_MIMES, true);
7383
}
84+
85+
// Fallback for rich editor if not installed in project
86+
public function getMediaWithoutUploadDir(string $path): string
87+
{
88+
return $path;
89+
}
7490
}

templates/type/show/_image.html.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{% if is_svg_image(this.filePath) %}
44
<img class="rounded-1" src="{{ get_media_manager_file_path(this.filePath) }}" alt="" style="max-width: 300px;max-height: 300px; height: 100%" />
55
{% else %}
6-
<img class="rounded-1" src="{{ this.filePath ? this.filePath|imagine_filter('monsieurbiz_sylius_media_manager_uploaded_image', {"relative_resize": {"widen": this.extraParams.filterWidth }}) : '' }}" alt="" style="max-width: 300px;max-height: 300px;" />
6+
<img class="rounded-1" src="{{ this.filePath ? monsieurbiz_richeditor_get_media_without_upload_dir(this.filePath)|imagine_filter('monsieurbiz_sylius_media_manager_uploaded_image', {"relative_resize": {"widen": this.extraParams.filterWidth }}) : '' }}" alt="" style="max-width: 300px;max-height: 300px;" />
77
{% endif %}
88
</div>
99

0 commit comments

Comments
 (0)