|
25 | 25 | // Frontend: Snippet-Replacement |
26 | 26 | if (!rex::isBackend()) { |
27 | 27 | rex_extension::register('OUTPUT_FILTER', static function (rex_extension_point $ep) { |
28 | | - $content = $ep->getSubject(); |
29 | | - |
30 | | - // 1. Snippet-Keys ersetzen |
31 | | - $content = ReplacementService::replace($content, [ |
| 28 | + return ReplacementService::replace($ep->getSubject(), [ |
32 | 29 | 'clang_id' => rex_clang::getCurrentId(), |
33 | 30 | ]); |
34 | | - |
35 | | - // 2. HTML-Ersetzungen anwenden |
36 | | - $content = HtmlReplacementService::process($content, 'frontend'); |
37 | | - |
38 | | - return $content; |
39 | 31 | }, rex_extension::NORMAL); |
| 32 | + |
| 33 | + // HTML-Ersetzungen immer als letzter Filter ausführen |
| 34 | + rex_extension::register('OUTPUT_FILTER', static function (rex_extension_point $ep) { |
| 35 | + return HtmlReplacementService::process($ep->getSubject(), 'frontend'); |
| 36 | + }, rex_extension::LATE); |
40 | 37 | } |
41 | 38 |
|
42 | 39 | // Backend: Snippet-Replacement (nur in sicheren Kontexten) |
43 | 40 | if (rex::isBackend()) { |
44 | 41 | rex_extension::register('OUTPUT_FILTER', static function (rex_extension_point $ep) { |
45 | | - // Prüfen, ob wir uns in einem Edit-Kontext befinden |
46 | 42 | if (ContextDetector::isEditContext()) { |
47 | 43 | return $ep->getSubject(); |
48 | 44 | } |
49 | 45 |
|
50 | | - $content = $ep->getSubject(); |
51 | | - |
52 | | - // 1. Snippet-Keys ersetzen |
53 | | - $content = ReplacementService::replace($content, [ |
| 46 | + return ReplacementService::replace($ep->getSubject(), [ |
54 | 47 | 'context' => 'backend', |
55 | 48 | 'clang_id' => rex_clang::getCurrentId(), |
56 | 49 | ]); |
| 50 | + }, rex_extension::NORMAL); |
57 | 51 |
|
58 | | - // 2. HTML-Ersetzungen anwenden |
59 | | - $content = HtmlReplacementService::process($content, 'backend'); |
| 52 | + // HTML-Ersetzungen immer als letzter Filter ausführen |
| 53 | + rex_extension::register('OUTPUT_FILTER', static function (rex_extension_point $ep) { |
| 54 | + if (ContextDetector::isEditContext()) { |
| 55 | + return $ep->getSubject(); |
| 56 | + } |
60 | 57 |
|
61 | | - return $content; |
62 | | - }, rex_extension::NORMAL); |
| 58 | + return HtmlReplacementService::process($ep->getSubject(), 'backend'); |
| 59 | + }, rex_extension::LATE); |
63 | 60 | } |
64 | 61 |
|
65 | 62 | // Sprog-Integration (falls Sprog aktiv ist) |
|
0 commit comments