diff --git a/src/UrlPatternManager.php b/src/UrlPatternManager.php index 829a38c..436627e 100644 --- a/src/UrlPatternManager.php +++ b/src/UrlPatternManager.php @@ -415,6 +415,31 @@ class UrlPatternManager return $url; } + /** + * Generate URL from a specific pattern string (for preview) + * + * @param string $entityType + * @param int $idEntity + * @param int $idLang + * @param string $pattern Pattern string to use + * @return string|null + */ + public function generateUrlFromPattern($entityType, $idEntity, $idLang, $pattern) + { + $entityData = $this->getEntityData($entityType, $idEntity, $idLang); + if (!$entityData) { + return null; + } + + $patternConfig = $this->getPattern($entityType) ?: []; + $patternConfig['pattern'] = $pattern; + + $url = $this->replacePlaceholders($pattern, $entityData, $patternConfig); + $url = $this->applyUrlFormatting($url, $entityType, $patternConfig); + + return $url; + } + /** * Get entity data for placeholder replacement *