Csoportos templétek tartalmon belül

HF leon képe

Meg lehet azt oldani drupal 8-ban, hogy, ha egy tartalom sok különféle mezőből áll, de egyes mezőknek ilyen, míg másoknak olyan html kódot szeretnék generálni, akkor ne kelljen minden mezőhöz külön twig fájlt készíteni?

Hanem valahogyan csoportosítva egyes mezőkhöz az egyik fajta kinézetet, míg másokhoz a másikfajtát használhassam.

1. eset: az azonosan formázandó mezők csoportokban helyezkednek el a tartalomban.

2. eset: a tartalomban szétszórva jelennek meg az azonosan formázandó mezők.

Nekem logikusnak tűnne, hogy ne minden mezőhöz használjak külön twig fájlt, hanem csak egyet-egyet az azonosan formázandókhoz. Van erre lehetőség?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Fórum: 
aboros képe

természetesen lehetőséged van kiegészíteni a core template suggestion -öket, bármilyen egyedi logika alapján. új suggestionöket is létrehozhatsz a hook_theme_suggestions_HOOK_alter() függvényben a sminked .theme filejában.

például mondjuk az én sminkem neve zeratul és szeretném, hogy ha minden mező (field) az én egyedi aboros-custom-field-template.html.twig templatemet használná. (ha létezik) ekkor:

zeratul.theme:

<?php
 /**
  * Implements hook_theme_suggestions_HOOK_alter().
  */
 function zeratul_theme_suggestions_field_alter(array &$suggestions, array $variables) {
   $suggestions[] = 'aboros-custom-field-template';
 }
?>

ezután még a sminkemben kell egy templates mappa és abban pedig az én szuper aboros-custom-field-template.html.twig sablonom, egy cache rebuild, és kész is vagyunk.

0
0

-
clear: both;

HF leon képe

Ilyesmin gondolkodtam én is, de mivel a mezőkhöz nem lehet csoportnevet rendelni csak if szűrésekkel és vagy kapcsolatokkal tudnám a adott nevű mezőkhöz rendelni a megfelelő suggestion-öket.

Mivel sok tartalomtípusom lesz összességében sok-sok mezővel. Tartok tőle, hogy az if( ) a sok vaggyal lassítaná a rendszert.

Van esetleg lehetőség a mezőkhöz valamilyen csoportnév rendeléséhez, amely alapján egyszerűbben szűrhetném őket?

0
0
aboros képe

minden gyorstárazódik többféle gyorstárba. csomószor operálok ilyenekkel, hogy egyedi template suggestion vagy preprocessbe változókat babrálni, még soha semmi lassulást emiatt nem tapasztaltam. persze nem tudom, hogy egy óránként sokszázmillió megtekintéses órásweboldalnál ez probléma e, de nagyon csodálkoznék. ez szerintem rendeltetésszerű használata a rendszernek.

csoportosíthatod a mezőket mezőcsoportokba, de ez nem lesz jó, mer megjeleníteni meg nem úgy akarod majd őket az űrlapon. hogy könnyítsd a dolgodat, alaposan gondold át milyen szabályok szerint nevezed el a mezőidet, később igen sokat spórolhatsz "az ifekkel" ha van valami könnyen alkalmazható szabály a mezőnévben. de amúgy annyi ifet raksz a függvénybe szerintem amennyit akarsz. :)

2
0

-
clear: both;

HF leon képe

Igen, már agyalok rajta, hogy miként tudom optimalizálni a feldolgozást.

Megfordult a fejemben az is, hogy a mezőket cím nélkül formázatlanul fűzöm be a tartalomtípus egyedi twig-jébe, -és ott adok fordítható címet neki, ahol kell -igaz ekkor később, ha új mezőre lenne szükség, akkor mindenképpen szerkesztenem kell, majd a tartalomtípus twig fájlját is.

Nagyjából lesz úgy 30-40 tartalomtípus és nagyjából 200-300 mező összesen. Persze lesznek olyan mezőtípusok (formázásukat illetően), amelyek csak adott tartalomtípuson belül fordulnak elő és olyanok, amelyek több tartalomtípusban is megjelennek.

0
0
aboros képe

mert most nem értem hogyan keveredett ide a "fordítás", fordítható címek, meg ezek a dolgok. azért jó, ha minél pontosabban meg tudod fogalmazni, hogy mit szeretnél elérni (nem pedig a _hogyan_ -t) mert lehet, nem is úgy kéne, ahogy gondolsz rá, hanem van más út.

csomó elnevezés-javaslat eleve van, maga a drupal adja őket, pl mezőnév, mezőtípus alapján, stb. ezekhez nem kell semmi függvény, ha megtalálája a megfelelően elnevezett template filet, azt használja, ha nem, a sorban következőt. az elsőt amit megtalál, használja.

mit akarsz elérni pontosan, próbáld azt leírni, gyereknyelven, minél kevesebb technikai megvalósítással kapcsolatos részletet beleszőve. pl amikor "hús" tartalomtípust tekintek meg, legyen a háttér piros.

0
0

-
clear: both;

HF leon képe

Meg lehet úgy mezőket és mező értékeket adni, hogy azt a drupal maga lefordítsa, ha szerepel a nyelvi fájljában és én is adhatok a rendszerhez további szópárokat. Ezek olyan mezőkre vonatkoznak, amelyek fix értékekkel operálnak a felhasználás során csak választani kell az értékek közül.

Amit említettem ott csak a mezők beállított értékeit kérném le.

0
0