34 lines
900 B
PHP
34 lines
900 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Esun\MultiLocaleTranslation\Plugin\Blog;
|
|
|
|
use Esun\MultiLocaleTranslation\Model\BlogPostTranslationApplier;
|
|
use Esun\MultiLocaleTranslation\Model\CmsTranslationRepository;
|
|
use Mageplaza\Blog\Model\Post;
|
|
|
|
class ApplyStoreTranslationToPost
|
|
{
|
|
public function __construct(
|
|
private readonly BlogPostTranslationApplier $translationApplier,
|
|
private readonly CmsTranslationRepository $translationRepository
|
|
) {
|
|
}
|
|
|
|
public function afterLoad(Post $subject, Post $result): Post
|
|
{
|
|
$this->translationApplier->apply($result);
|
|
return $result;
|
|
}
|
|
|
|
public function afterDelete(Post $subject, Post $result): Post
|
|
{
|
|
$this->translationRepository->clearEntityTranslations(
|
|
(int)$subject->getId(),
|
|
CmsTranslationRepository::ENTITY_BLOG_POST
|
|
);
|
|
return $result;
|
|
}
|
|
}
|