forked from iamdarkle/fancybox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDefineGalleryTemplate.php
54 lines (48 loc) · 1.95 KB
/
DefineGalleryTemplate.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
namespace Darkle\Fancybox;
use s9e\TextFormatter\Configurator;
class DefineGalleryTemplate
{
public function __invoke(Configurator $config)
{
$tag = $config->tags->add('FANCYBOX-GALLERY');
$tag->template = '<div class="fancybox-gallery f-carousel"><xsl:apply-templates/></div>';
$tag = $config->tags->add('FANCYBOX-GALLERY-ITEM');
$tag->template = '<div class="f-carousel__slide"><xsl:apply-templates/></div>';
if ($config->tags->exists('IMG')) {
$tag = $config->tags->get('IMG');
$newTemplate = $tag->template;
$tag->template = <<<XML
<xsl:choose>
<xsl:when test="parent::FANCYBOX-GALLERY-ITEM">
<a data-fancybox="gallery" href="{@src}">
<img data-lazy-src="{@src}" alt="{@alt}" loading="lazy"/>
</a>
</xsl:when>
<xsl:otherwise>
<a data-fancybox="single" href="{@src}">
<img src="{@src}" alt="{@alt}" loading="lazy"/>
</a>
</xsl:otherwise>
</xsl:choose>
XML;
}
if ($config->tags->exists('UPL-IMAGE-PREVIEW')) {
$tag = $config->tags->get('UPL-IMAGE-PREVIEW');
$tag->template = <<<XML
<xsl:choose>
<xsl:when test="parent::FANCYBOX-GALLERY-ITEM">
<a data-fancybox="gallery" href="{@url}">
<img data-lazy-src="{@url}" alt="" loading="lazy"/>
</a>
</xsl:when>
<xsl:otherwise>
<a data-fancybox="single" href="{@url}">
<img src="{@url}" alt="" loading="lazy"/>
</a>
</xsl:otherwise>
</xsl:choose>
XML;
}
}
}