Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda