Puncte:0

html--user--wildcard-id--module.html.twig

drapel cn

Cum migrați câmpurile de text îmbogățit din afara Drupal fără a converti etichetele html în entități Am o pagină la cale /user/{id}/module

, și încerc să fac ca Drupal să încarce un șablon personalizat din modulul meu atunci când această pagină este accesată. Ieșirea de depanare a ramurilor arată sugestii pentru numele șablonului ca mai jos, dar nu pare să preia șablonul chiar și după reconstruirea memoriei cache. Pagina trebuie să fie afișată pentru toți utilizatorii, așa că nu o pot fixa la un anumit ID, dar html--user--module.html.twig

<!-- FILE NAME SUGGESTIONS:
   * html--user--module.html.twig
   * html--user--123456.html.twig
   * html--user--%.html.twig
   * html--user.html.twig
   x html.html.twig
-->

nu este respectat. Există o sintaxă pe care nu am reușit să o găsesc ?

sonfd avatar
drapel in
Trebuie să faci lucruri speciale pentru ca Drupal să caute în directorul modulului tău o modificare a șablonului. În mod implicit, se uită numai la tema activă.
leymannx avatar
drapel ne
Răspunde asta la întrebarea ta? [Anulați șablonul de temă din modul fără a implementa o temă](https://drupal.stackexchange.com/questions/200602/override-theme-template-from-module-without-implementing-a-theme)
drapel cn
@leymannx mulțumesc pentru asta. Este aceeași soluție, dar un mod diferit de a rezolva problema, am atât o temă personalizată, cât și un modul. Am votat pentru răspunsul lui Sam la această întrebare, dar nu am reprezentantul care să-l marcheze acceptat.
Puncte:0
drapel es
Sam

Utilizați șablonul dintr-un modul

Trebuie să specificați șablonul în hook_theme() cu cârligul de bază corect.

Iată un exemplu pentru cârlig „nod”:

funcția MY_MODULE_theme($existent, $tip, $temă, $cale) {
  întoarcere [
    'node__custom-type__full' => [
      'template' => 'nod--custom-type--full',
      'base hook' => 'nod',
      'path' => drupal_get_path('modul', 'MY_MODULE') . „/șabloane/conținut”, // dacă este personalizat
    ],
  ];
}

O altă soluție: creați o nouă sugestie

Puteți face asta în theme_suggestions_alter()

Verifica theme_suggestion_alter

Iată un exemplu, aceasta este o soluție pentru a crea sugestie de șablon pentru formularul cu formularul de identificare :

funcția MY_THEME_theme_suggestions_alter($existent, $type, $theme, $cale) {
  if ($hook === 'form' && !empty($variables['element']['#id'])) {
    $suggestions[] = 'form__' . str_replace('-', '_', $variables['element']['#id']);
  }
}

(Creează-mi formularul...formular de conectare utilizator.html.twig)

În cazul dumneavoastră, înlocuiți $hook de html și adăugați id de utilizator

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.