I’m trying to create a fragment that represents a card with custom content. I would like to do something like:
<div class="card" th:fragment="myfragment" th:utext="${content}">
</div>
And then use as
<th:block th:replace="myfragment"> <p>Some custom content that would be the value of 'content'</p> </th:block>
This would make it a lot easier to work with bigger html that would be kinda ugly to write in an attribute. (Basically I’m looking for a similar functionality to Blade’s views and slots)
EDIT: I’m aware of fragment parameterisation but passing long and complex html code in an attribute is pretty ugly and hard to manage.
A more descriptive example would be a card where the card body is not a p but a table for example.
Advertisement
Answer
Soo, maybe not the best solution but I managed to get this working based on this Other SO thread and this Example code
I’ve created a new dialect so I can say this:
<zms:card header="'ASD Title'">
<div th:text="${first_name}"></div>
asdasd card works asdasd
</zms:card>
And it will render this:
<div class="card shadow mb-4">
<div class="card-header py-3">
<div class="d-inline-block">
<h6 class="m-0 font-weight-bold">ASD Title</h6>
</div>
</div>
<div class="card-body">
<div>Name</div>
asdasd card works
</div>
</div>