From d3a38a1b033b92c5d64c1388b5580219b4e8f4a5 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Fri, 6 Jan 2023 13:14:42 +0100 Subject: [PATCH] add posst card image --- assets/css/admin.scss | 4 ++++ src/Entity/Blog/Post.php | 15 +++++++++++++++ src/Form/Blog/PostType.php | 15 +++++++++++++++ templates/blog/post_admin/_form.html.twig | 2 +- templates/blog/post_admin/_show.html.twig | 11 +++++++++++ templates/page/post/_post_card.html.twig | 4 +++- 6 files changed, 49 insertions(+), 2 deletions(-) diff --git a/assets/css/admin.scss b/assets/css/admin.scss index 95f0cbc..00c0430 100644 --- a/assets/css/admin.scss +++ b/assets/css/admin.scss @@ -51,3 +51,7 @@ background-size: cover; } } + +.choices__list--dropdown { + z-index: 3; +} diff --git a/src/Entity/Blog/Post.php b/src/Entity/Blog/Post.php index 840ce0b..cd8cef5 100644 --- a/src/Entity/Blog/Post.php +++ b/src/Entity/Blog/Post.php @@ -84,6 +84,9 @@ class Post implements EntityInterface #[ORM\OneToMany(targetEntity: PostFollow::class, mappedBy: 'post', orphanRemoval: true)] private $postFollows; + #[ORM\Column(type: 'string', length: 255, nullable: true)] + private $image2; + public function __construct() { $this->categories = new ArrayCollection(); @@ -423,4 +426,16 @@ class Post implements EntityInterface return $this; } + + public function getImage2(): ?string + { + return $this->image2; + } + + public function setImage2(?string $image2): self + { + $this->image2 = $image2; + + return $this; + } } diff --git a/src/Form/Blog/PostType.php b/src/Form/Blog/PostType.php index 50d5086..e2e3104 100644 --- a/src/Form/Blog/PostType.php +++ b/src/Form/Blog/PostType.php @@ -23,6 +23,7 @@ use Symfony\Component\Validator\Constraints\Range; use Symfony\Component\Validator\Constraints\Url; use App\Form\Type\SimpleMdTextareaType; use App\Core\Form\Type\EditorJsTextareaType; +use App\Core\Form\FileManager\FilePickerType; class PostType extends AbstractType { @@ -160,6 +161,20 @@ class PostType extends AbstractType ] ); + $builder->add( + 'image2', + FilePickerType::class, + [ + 'label' => 'Image (carte)', + 'required' => false, + 'data_class' => null, + 'attr' => [ + ], + 'constraints' => [ + ], + ] + ); + $builder->add( 'tags', CollectionType::class, diff --git a/templates/blog/post_admin/_form.html.twig b/templates/blog/post_admin/_form.html.twig index e6299a3..da54000 100644 --- a/templates/blog/post_admin/_form.html.twig +++ b/templates/blog/post_admin/_form.html.twig @@ -38,7 +38,7 @@ - {% for item in ['image', 'status', 'contentFormat', 'publishedAt'] %} + {% for item in ['image', 'image2', 'status', 'contentFormat', 'publishedAt'] %}
{{ form_row(form[item]) }}
diff --git a/templates/blog/post_admin/_show.html.twig b/templates/blog/post_admin/_show.html.twig index 428bfbb..f3dae48 100644 --- a/templates/blog/post_admin/_show.html.twig +++ b/templates/blog/post_admin/_show.html.twig @@ -99,6 +99,17 @@ - {% endif %} +
  • + Image (carte) + + {% if entity.image2 %} +
    + +
    + {% else %} + - + {% endif %} +
  • Statut diff --git a/templates/page/post/_post_card.html.twig b/templates/page/post/_post_card.html.twig index 11b1edc..48b4e8b 100644 --- a/templates/page/post/_post_card.html.twig +++ b/templates/page/post/_post_card.html.twig @@ -2,7 +2,9 @@ {% set color = generate_color_by_string(post.title) %} {%- set image -%} - {%- if post.image -%} + {%- if post.image2 -%} + {{ asset(post.image2)|imagine_filter('post_preview_filter') }} + {%- elseif post.image -%} {{ asset(post.image)|imagine_filter('post_preview_filter') }} {%- elseif post.quickImage -%} {{ post.quickImage }}