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 ($type === 'page') {
if ($field === 'content' && str_contains($html, '{' . $originalPlaceholder . '}')) { if ($field === 'content' && str_contains($html, '{' . $originalPlaceholder . '}')) {
$pageContent = ''; $pageContent = '';
if ($page) { if ($model) {
if (method_exists($page, 'translate')) { if (method_exists($model, 'translate')) {
$pageContent = $page->translate('content') ?: $page->content; $pageContent = $model->translate('content') ?: $model->content;
} else { } else {
$pageContent = $page->content; $pageContent = $model->content;
} }
} }
$html = str_replace('{' . $originalPlaceholder . '}', $pageContent ?? '', $html); $html = str_replace('{' . $originalPlaceholder . '}', $pageContent ?? '', $html);
@@ -450,11 +450,11 @@ class TemplateService
if ($field === 'title' && str_contains($html, '{' . $originalPlaceholder . '}')) { if ($field === 'title' && str_contains($html, '{' . $originalPlaceholder . '}')) {
$pageTitle = ''; $pageTitle = '';
if ($page) { if ($model) {
if (method_exists($page, 'translate')) { if (method_exists($model, 'translate')) {
$pageTitle = $page->translate('title') ?: $page->title; $pageTitle = $model->translate('title') ?: $model->title;
} else { } else {
$pageTitle = $page->title; $pageTitle = $model->title;
} }
} }
$html = str_replace('{' . $originalPlaceholder . '}', $pageTitle ?? '', $html); $html = str_replace('{' . $originalPlaceholder . '}', $pageTitle ?? '', $html);
@@ -463,11 +463,11 @@ class TemplateService
if ($field === 'excerpt' && str_contains($html, '{' . $originalPlaceholder . '}')) { if ($field === 'excerpt' && str_contains($html, '{' . $originalPlaceholder . '}')) {
$pageExcerpt = ''; $pageExcerpt = '';
if ($page) { if ($model) {
if (method_exists($page, 'translate')) { if (method_exists($model, 'translate')) {
$pageExcerpt = $page->translate('excerpt') ?: $page->excerpt; $pageExcerpt = $model->translate('excerpt') ?: $model->excerpt;
} else { } else {
$pageExcerpt = $page->excerpt; $pageExcerpt = $model->excerpt;
} }
} }
$html = str_replace('{' . $originalPlaceholder . '}', $pageExcerpt ?? '', $html); $html = str_replace('{' . $originalPlaceholder . '}', $pageExcerpt ?? '', $html);
+2 -2
View File
@@ -6,9 +6,9 @@
<div class="grid"> <div class="grid">
@forelse($posts as $post) @forelse($posts as $post)
<article class="card"> <article class="card">
@if(!empty($post->featured_image)) @if(!empty($post->featured_image_url))
<a href="{{ route('blog.show', $post->slug) }}"> <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> </a>
@endif @endif
<h3> <h3>
+2 -2
View File
@@ -4,8 +4,8 @@
<article class="post"> <article class="post">
<div class="container"> <div class="container">
<h1>{{ method_exists($post, 'translate') ? $post->translate('title') : $post->title }}</h1> <h1>{{ method_exists($post, 'translate') ? $post->translate('title') : $post->title }}</h1>
@if(!empty($post->featured_image)) @if(!empty($post->featured_image_url))
<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 }}">
@endif @endif
<div class="post-content"> <div class="post-content">
{!! method_exists($post, 'translate') ? $post->translate('content') : ($post->content ?? '') !!} {!! method_exists($post, 'translate') ? $post->translate('content') : ($post->content ?? '') !!}