@@ -6,13 +6,16 @@ class Extensions
6
6
{
7
7
public static function init ()
8
8
{
9
- \rex_extension::register ('PACKAGES_INCLUDED ' , [self ::class, 'ext__initGraphQLEndpoint ' ], \rex_extension::LATE );
10
9
if (\rex::isBackend ()) {
11
10
\rex_extension::register ('OUTPUT_FILTER ' , [self ::class, 'ext__interceptBackendArticleLink ' ]);
12
11
}
13
- \rex_extension::register ('MEDIA_MANAGER_URL ' , [self ::class, 'ext__rewriteMediaUrl ' ], \rex_extension::LATE );
14
- \rex_extension::register ('MEDIA_URL_REWRITE ' , [self ::class, 'ext__rewriteMediaUrl ' ], \rex_extension::LATE );
15
- \rex_extension::register ('URL_REWRITE ' , [self ::class, 'ext__rewriteArticleUrl ' ], \rex_extension::LATE );
12
+ if (\rex::isFrontend ()) {
13
+ \rex_extension::register ('PACKAGES_INCLUDED ' , [self ::class, 'ext__initGraphQLEndpoint ' ], \rex_extension::LATE );
14
+ \rex_extension::register ('GRAPHQL_SLICE_VALUES ' , [self ::class, 'ext__replaceInterLinks ' ]);
15
+ \rex_extension::register ('MEDIA_MANAGER_URL ' , [self ::class, 'ext__rewriteMediaUrl ' ], \rex_extension::LATE );
16
+ \rex_extension::register ('MEDIA_URL_REWRITE ' , [self ::class, 'ext__rewriteMediaUrl ' ], \rex_extension::LATE );
17
+ \rex_extension::register ('URL_REWRITE ' , [self ::class, 'ext__rewriteArticleUrl ' ], \rex_extension::LATE );
18
+ }
16
19
}
17
20
18
21
public static function ext__interceptBackendArticleLink (\rex_extension_point $ ep )
@@ -73,4 +76,16 @@ public static function ext__rewriteArticleUrl(\rex_extension_point $ep)
73
76
}
74
77
return $ subject ;
75
78
}
79
+
80
+ public static function ext__replaceInterLinks (\rex_extension_point $ ep )
81
+ {
82
+ $ content = $ ep ->getSubject ();
83
+ return preg_replace_callback (
84
+ '@redaxo: \\\/ \\\/(\d+)(?:-(\d+))?/?@i ' ,
85
+ function (array $ matches ) {
86
+ return rex_getUrl ((int ) $ matches [1 ], (int ) ($ matches [2 ] ?? \rex_clang::getCurrentId ()));
87
+ },
88
+ $ content ,
89
+ );
90
+ }
76
91
}
0 commit comments