Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
encodeMediaUrl example
#[Package('storefront')]
class
UrlEncodingTwigFilter
extends
AbstractExtension
{
/** * @return list<TwigFilter> */
public
function
getFilters
(
)
{
return
[
new
TwigFilter
(
'sw_encode_url',
$this
->
encodeUrl
(
...
)
)
,
new
TwigFilter
(
'sw_encode_media_url',
$this
->
encodeMediaUrl
(
...
)
)
,
]
;
}
public
function
encodeUrl
(
?string
$mediaUrl
)
: ?string
{
if
(
$mediaUrl
=== null
)
{
return
null;
}
$urlInfo
=
parse_url
(
$mediaUrl
)
;
if
(
!\
is_array
(
$urlInfo
)
)
{
$filter
=
new
UrlEncodingTwigFilter
(
)
;
static
::
assertEquals
(
'https://shopware.com:80/so%20me/thing%20new.jpg',
$filter
->
encodeUrl
(
'https://shopware.com:80/so me/thing new.jpg'
)
)
;
}
public
function
testItReturnsNullIfMediaIsNull
(
)
: void
{
$filter
=
new
UrlEncodingTwigFilter
(
)
;
static
::
assertNull
(
$filter
->
encodeMediaUrl
(
null
)
)
;
}
public
function
testNullIfNoMediaIsUploaded
(
)
: void
{
$filter
=
new
UrlEncodingTwigFilter
(
)
;
$media
=
new
MediaEntity
(
)
;
static
::
assertNull
(
$filter
->
encodeMediaUrl
(
$media
)
)
;
}
/** * NEXT-21735 * * @group quarantined */