Najlepsza odpowiedź
Problem udało mi się rozwiązać z pomocą niemieckiego Contao Community.
Rozwiązanie dla wszystkich tych którzy też się zastanawiają nad tym jak edytować tylko jeden element w Metamodels (będę odnosił się do struktury powyżej)
1. Do Osoba 1 dodaję nowy atrybut Checkbox "premium", we Frontendzie ustawiam go na samej górze pokazywanej listy (np. ponad imieniem)
2. Element "premium" można dowolnie edytować, np. zamienić pokazywaną 1 na jakąś gwiazkę i dodać poświatę
3. Ustawiamy nowy Temlate dla Renderowania (instrukcja: https://metamodels.r.../templates.html )
- szukamy w plikach projektu metamodels_prerendered.html5 - to domyślny Template dla Metamodels
- metamodels_prerendered duplikujemy do swojego folderu Template, dodajemy własny suffix i dodajemy w kodzie ten header z instrukcji.
- W Ustawieniach renderowania dla listy na stronie www ustawiamy że będziemy korzystać z metamodel_prerendered_suffix.html5
4. Edycja kodu (stworzyłem dwie wersję. 1. to dodanie klasy "field_premium" do każdego elementu który pojawia się w Osoba 1 po checkboxie premium włącznie, 2. cała Osoba 1 jako item dostaje klasę "item_premium")
Komentarze // to elementy kodu których nie zmieniałem, ale wklejam tutaj żeby się lepiej zorientować.
4.1.
<?php $premiumClass = ''; ?>
<!--start foreach-->
// <?php foreach ($arrItem['attributes'] as $field => $strName): ?>
// <?php if ((isset($arrItem[$this->getFormat()][$field]) && ($strValue = $arrItem[$this->getFormat()][$field])
// || (isset($arrItem['text'][$field]) && ($strValue = $arrItem['text'][$field])))): ?>
<?php if ($field == 'premium')
{
$premiumClass = 'field-premium';
};
?>
<div class="field <?= $field . ' ' . $premiumClass?> ">
// <?php if (!$this->view->get('hideLabels')): ?>
// <div class="label"><?= sprintf($GLOBALS['TL_LANG']['MSC']['field_label'], $strName) ?></div>
// <?php endif; ?>
// <div class="value"> <?= $strValue ?></div>
// </div>
//
// <?php endif; ?>
// <?php endforeach; ?>
<!--end foreach-->
4.2.
//<?php foreach ($this->data as $arrItem): ?>
<?php $premiumClassItem = ''; ?>
// <?php $this->block('item'); ?>
<?php
if ($arrItem['text']['premium'] == 1)
{
echo 'ok';
$premiumClassItem = 'item-premium';
};
?>
<div class="item <?= $arrItem['class'] . ' ' . $premiumClassItem ?>">
I to tylko tyle, albo dla takiego początkującego jak ja, aż tyle.