Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

130
Views
Mostrar una vista de Drupal sin plantilla de página en Drupal 9

Me gustaría agregar en mi sitio web algunos enlaces que abren el contenido de la página en una nueva pestaña en html simple sin ningún tema, etc. Al principio solo agregué un enlace en mi node.twig y probé con Javascript para hacerlo. pero no lo logré con éxito.

Cuando usamos un enlace de forma predeterminada, se aplica el tema y, por lo tanto, la página es la misma en la nueva pestaña. Busqué una manera de hacerlo y encontré esta publicación:

mostrando una vista de Drupal sin una plantilla de página a su alrededor

Según la respuesta de Ufonion Labs, pude eliminar por completo toda la salida HTML alrededor del contenido de la página en Drupal 7 al implementar tanto hook_preprocess_page como hook_preprocess_html en mi template.php de temas, así:

 function MY_THEME_preprocess_page(&$variables) { if (isset($_GET['response_type']) && $_GET['response_type'] == 'embed') { $variables['theme_hook_suggestions'][] = 'page__embed'; } } function MY_THEME_preprocess_html(&$variables) { if (isset($_GET['response_type']) && $_GET['response_type'] == 'embed') { $variables['theme_hook_suggestions'][] = 'html__embed'; } }

Luego agregué dos plantillas a mi tema: html--embed.tpl.php :

 <?php print $page; ?>

y page--embed.tpl.php :

 <?php print render($page['content']); ?>

Ahora, cuando abro una página de nodo, como http://example.com/node/3 , veo la página completa como siempre, pero cuando agrego el parámetro response_type, como http://example.com/node/ 3?response_type=embed , solo obtengo el <div> con el contenido de la página para que pueda incrustarse en otra página.

Realmente me gusta que la ruta de la URL determine la salida si el tema está cargado o no, pero en mi caso no funciona: estoy en Drupal 9 con Twig para la vista de representación, así que agregué el código de template.php en el archivo .theme pero ¿cómo haces el papel de Twig? Me pregunto si crees que puedo lograr lo mismo o no es posible hacerlo de esa manera.

Mi segunda solución sería hacer un módulo personalizado, pero no estoy familiarizado con eso, por eso estimo todas las soluciones posibles.

¡Un saludo y que tengas un buen día!

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!