Puncte:1

Ce înseamnă #markup?

drapel us

Întâlnesc această cheie de matrice tot timpul în Drupal (de exemplu, în Symphony's dpm()) totuși nu găsesc nicio documentație despre el, ce face, cum îl pot folosi? Cum afișez ceva care este dat ca #markup valoare în Twig?

drapel ru
Aruncă o privire la documentația pentru matricele de randare: https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Render%21theme.api.php/group/theme_render/9.3.x
Puncte:4
drapel us

Prin utilizarea #markup în matricele de randare puteți scoate HTML brut (trecut prin filtrul XSS pentru a asigura securitatea).

Iată un exemplu avansat, cu opțional #allowed_tags și substituenți.

/**
 * Implementează hook_preprocess_HOOK().
 */
funcția mymodule_preprocess_foobar(&$variabile) {
  $variables['video'] = [
    '#markup' => '<span>@video_label:</span> <video><source src="v.webm" type="video/webm"></video>',
    '#allowed_tags' => [
      'video',
      'sursă',
    ],
    '#attached' => [
      'substituenți' => [
        '@video_label' => t('Proba de etichetă'),
      ],
    ],
  ];
}

În Twig faci doar:

{{ video }}

Și în browser-ul dvs. obțineți codul HTML cu substituent înlocuit și eliminat <span>:

Etichetă tradusă: <video><source src="v.webm" type="video/webm"></video>
4uk4 avatar
drapel cn
Aș folosi un nume mai lung în loc de `@label`, acesta este un substituent global care înlocuiește tot ce poate găsi pe pagină. Sau folosiți FormattableMarkup: `'#markup' => new FormattableMarkup('@eticheta', ['@label' => $label])`
drapel us
Sunteți chiar aici, am vrut doar să arăt cum funcționează substituenții atașați aici. Am schimbat numele etichetei cu unul mai specific.
Puncte:1
drapel in

Doar folosind sintaxa obișnuită a tipăririi: {{ variabilă }}

#Markup este codul html care va fi pe pagina finală trimisă de pe server.

Puteți utiliza o funcție de preprocesare pentru a intercepta și modifica marcajul # dacă este necesar.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.