Puncte:4

Se încarcă fișiere CSS individuale pentru module personalizate

drapel in

Am un modul personalizat care creează trei pagini.Fiecare pagină are un controler, un fișier twig și un fișier css. Ceea ce aș dori să fac este să încarc fișierele css numai atunci când sunt necesare. Am creat un fișier libraries.yml ca acesta:

modul meu:
  versiunea: 1.x
  css:
    temă:
      css/page1.css: {}
      css/page2.css: {}
      css/page3.css: {}

Aceasta încarcă cele trei fișiere CSS ori de câte ori afișez oricare dintre cele trei fișiere. Ceea ce aș dori să fac este să încarc cumva page1.css numai când este solicitată pagina1. Există o modalitate de a subdiviza fișierul libraries.yml în secțiuni pe care fiecare a specificat un fișier css, apoi să îl încărcați în șablon cu un attach_library() apel sau preprocesare??

Sau trebuie să creez un modul separat pentru fiecare pagină? Motivul pentru care am pus cele trei pagini într-un singur modul este că sunt o secțiune a site-ului care împart alte active.

drapel cn
Deoparte - este o idee bună să utilizați „versiunea” numai dacă intenționați să o creșteți cu fiecare modificare a bibliotecii. Acel număr de versiune formează șirul cache buster pentru acele active js/css specifice și poate cauza probleme dacă utilizați un proxy invers, cum ar fi lac, altfel. Aș dori să eliminați `version`, va fi folosit șirul global cache buster, care se modifică odată cu ștergerea memoriei cache și ocolește problema.
Puncte:7
drapel de

Puteți crea mai multe intrări în bibliotecă în *.libraries.yml.

Pagina 1:
  css:
    temă:
      css/page1.css: {}

pagina 2:
  css:
    temă:
      css/page2.css: {}

pagina.3:
  css:
    temă:
      css/page3.css: {}

Apoi puteți atașa biblioteca relevantă la nodul la care ar trebui să fie atașată modulul_meu.pagina.3 (pentru pagina trei).L-ați atașa la matricea de randare returnată de controlerul dvs. pe pagina dată, după cum urmează:

clasa ExampleController extinde ControllerBase {
  funcția firstPageCallback() {
    // Construiește-ți matricea $page (nu este afișată).
    // Apoi atașați:
    $page['#attached']['libraries'][] = 'my_module.page.1';
  }
}

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.