Refine homepage shortcode layout and rendering cleanup
This commit is contained in:
@@ -39,12 +39,22 @@ class PagesController
|
||||
return $this->notFound();
|
||||
}
|
||||
|
||||
$rendered = Shortcodes::render((string)$page['content_html'], [
|
||||
'page_slug' => $slug,
|
||||
'page_title' => (string)$page['title'],
|
||||
]);
|
||||
// WYSIWYG editors often wrap shortcode blocks in <p>, which breaks grid placement.
|
||||
$rendered = preg_replace(
|
||||
'~<p>\s*(<(?:section|div|form|a)[^>]*class="[^"]*ac-shortcode[^"]*"[^>]*>.*?</(?:section|div|form|a)>)\s*</p>~is',
|
||||
'$1',
|
||||
$rendered
|
||||
) ?? $rendered;
|
||||
$rendered = preg_replace('~(<(?:section|div|form|a)[^>]*class="[^"]*ac-shortcode[^"]*"[^>]*>)\s*<br\s*/?>~i', '$1', $rendered) ?? $rendered;
|
||||
$rendered = preg_replace('~<br\s*/?>\s*(</(?:section|div|form|a)>)~i', '$1', $rendered) ?? $rendered;
|
||||
|
||||
return new Response($this->view->render('site/show.php', [
|
||||
'title' => (string)$page['title'],
|
||||
'content_html' => Shortcodes::render((string)$page['content_html'], [
|
||||
'page_slug' => $slug,
|
||||
'page_title' => (string)$page['title'],
|
||||
]),
|
||||
'content_html' => $rendered,
|
||||
]));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user