Puncte:1

Rutarea nodului personalizat

drapel cz

Am un tip de conținut de produs cu alias: /products/headphone. Această pagină de produs are două variante de adrese URL:

  • /produse/căști/fir
  • /produse/căști/wireless

Ambele adrese URL ar trebui să indice același nod, cu toate acestea, în cadrul funcției de preprocesare sau al unei crenguțe, ar trebui să pot captura ce variație este încărcată (wire|wireless)

M-am gândit că ar trebui să creez un modul personalizat și să mă ocup de rutarea personalizată:

my_module.routing.yml:

modul_meu.modalitate:
  cale: „/products/{product_slug}/{variation}”
  implicite:
    _controller: „\Drupal\my_module\Controller\ProductController::action”
  cerinte:
    _permission: „accesează conținut”
  Opțiuni:
    parametri:
      product_slug:
        tip: sfoară
      variație:
        tip: sfoară

Partea cu care mă lupt este cum să îndrept controlerul înapoi la funcția de preprocesare:

funcția my_module_preprocess_node__product_page(matrice &$variabile){
  // unele chestii de preprocesare
}

Iată ce am în prezent în controlerul meu:

\Drupal\my_module\Controller\ProductController:acțiune

acțiune de funcție publică ($program_slug, $variation) 
{
întoarcere [
        'template' => 'node--program_page',
        „variație” => $variație
      ];
 }
4uk4 avatar
drapel cn
Aceasta nu este o abordare bună. Încercați să reinventați modul în care Drupal afișează entitățile. Cea mai rapidă modalitate este probabil să eliminați ultima parte a căii într-un procesor de cale cu o prioritate ridicată și apoi lăsați rutarea normală Drupal să rezolve nodul de produs și să îl redați, care apoi invocă automat cârligul de preprocesare. Pentru procesorul de cale, am descris într-o altă întrebare cum să creez codul cu drush: https://drupal.stackexchange.com/a/307416/47547

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.