Refactor TemplateService and Blog Views: Updated TemplateService to utilize a generic model for placeholder replacement, enhancing flexibility in content rendering. Modified blog views to use the new featured image URL property, improving image handling and ensuring consistency across templates.

This commit is contained in:
Ümit Tunç
2025-11-06 16:51:17 -03:00
parent 605f0d158f
commit 43ff270cbd
3 changed files with 16 additions and 16 deletions
+12 -12
View File
@@ -437,11 +437,11 @@ class TemplateService
if ($type === 'page') {
if ($field === 'content' && str_contains($html, '{' . $originalPlaceholder . '}')) {
$pageContent = '';
if ($page) {
if (method_exists($page, 'translate')) {
$pageContent = $page->translate('content') ?: $page->content;
if ($model) {
if (method_exists($model, 'translate')) {
$pageContent = $model->translate('content') ?: $model->content;
} else {
$pageContent = $page->content;
$pageContent = $model->content;
}
}
$html = str_replace('{' . $originalPlaceholder . '}', $pageContent ?? '', $html);
@@ -450,11 +450,11 @@ class TemplateService
if ($field === 'title' && str_contains($html, '{' . $originalPlaceholder . '}')) {
$pageTitle = '';
if ($page) {
if (method_exists($page, 'translate')) {
$pageTitle = $page->translate('title') ?: $page->title;
if ($model) {
if (method_exists($model, 'translate')) {
$pageTitle = $model->translate('title') ?: $model->title;
} else {
$pageTitle = $page->title;
$pageTitle = $model->title;
}
}
$html = str_replace('{' . $originalPlaceholder . '}', $pageTitle ?? '', $html);
@@ -463,11 +463,11 @@ class TemplateService
if ($field === 'excerpt' && str_contains($html, '{' . $originalPlaceholder . '}')) {
$pageExcerpt = '';
if ($page) {
if (method_exists($page, 'translate')) {
$pageExcerpt = $page->translate('excerpt') ?: $page->excerpt;
if ($model) {
if (method_exists($model, 'translate')) {
$pageExcerpt = $model->translate('excerpt') ?: $model->excerpt;
} else {
$pageExcerpt = $page->excerpt;
$pageExcerpt = $model->excerpt;
}
}
$html = str_replace('{' . $originalPlaceholder . '}', $pageExcerpt ?? '', $html);
+2 -2
View File
@@ -6,9 +6,9 @@
<div class="grid">
@forelse($posts as $post)
<article class="card">
@if(!empty($post->featured_image))
@if(!empty($post->featured_image_url))
<a href="{{ route('blog.show', $post->slug) }}">
<img src="{{ asset($post->featured_image) }}" alt="{{ method_exists($post, 'translate') ? $post->translate('title') : $post->title }}">
<img src="{{ $post->featured_image_url }}" alt="{{ method_exists($post, 'translate') ? $post->translate('title') : $post->title }}">
</a>
@endif
<h3>
+2 -2
View File
@@ -4,8 +4,8 @@
<article class="post">
<div class="container">
<h1>{{ method_exists($post, 'translate') ? $post->translate('title') : $post->title }}</h1>
@if(!empty($post->featured_image))
<img src="{{ asset($post->featured_image) }}" alt="{{ method_exists($post, 'translate') ? $post->translate('title') : $post->title }}">
@if(!empty($post->featured_image_url))
<img src="{{ $post->featured_image_url }}" alt="{{ method_exists($post, 'translate') ? $post->translate('title') : $post->title }}">
@endif
<div class="post-content">
{!! method_exists($post, 'translate') ? $post->translate('content') : ($post->content ?? '') !!}