Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

incluir javascript en una página concreta

Estas en el tema de incluir javascript en una página concreta en el foro de Drupal en Foros del Web. Hola, soy un recien llegado al mundo Drupal y bueno estoy ahí intentando hacer cositas. Tengo una duda enorme, en una de las páginas de ...
  #1 (permalink)  
Antiguo 05/11/2013, 10:34
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 12 años, 11 meses
Puntos: 0
incluir javascript en una página concreta

Hola,
soy un recien llegado al mundo Drupal y bueno estoy ahí intentando hacer cositas. Tengo una duda enorme, en una de las páginas de mi sitio de prueba es un FAQ y la idea era meter un pequeño script en javascript de estos típicos que muestran o ocultan un div para ampliar la información de una pregunta algo del estilo
Código:
document.write('<style type="text/css">div.cp_oculta{display: none;}</style>'); 
function MostrarOcultar(capa,enlace) 
{ 
    if (document.getElementById) 
    { 
        var aux = document.getElementById(capa).style; 
        aux.display = aux.display? "":"block"; 
    } 
}
y después en la página en concreto que este el FAQ meter algo así:
Código HTML:
<p><a class="texto" href="javascript:MostrarOcultar('texto1');">
        ¿Como podemos describir el lenguaje HTML?</a></p>
        
			<div class="cp_oculta" id="texto1"> 
			<p>El lenguaje HTML es el lenguaje más elemental de una página Web, sin él, 
			la Web, como lo conocemos hoy, no existiría. El dominio del lenguaje HTML 
			es esencial para emprender cualquier tipo de proyecto Web.</p> 
			<p>El código HTML se interpreta y ejecuta en el navegador. </p> 
			</div> 
etc.
pero no se como puedo incorporar el javascript, bueno, se que en el theme.info debo incorporar algo del estilo
Código:
scripts[] = js/miscript.js
pero lo que no sé es como llamarlo desde la página donde meta las preguntas de la FAQ. Agradecería una ayudita. Un saludo.
  #2 (permalink)  
Antiguo 05/11/2013, 11:11
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: incluir javascript en una página concreta

Bueno, para poder incluir JS con condicionales debes usar el template.php de tu theme, y poner algo de este estilo:

Código PHP:
Ver original
  1. <?php
  2. function mytheme_preprocess_page(&$vars, $hook) {
  3.   if (true) {
  4.     drupal_add_js(drupal_get_path('theme', 'mytheme') . '/myjs.js');
  5.     $vars['scripts'] = drupal_get_js();
  6.   }
  7. }
  8. ?>

Debes cambiar las rutas de tu js y el nombre de tu theme en el preprocess.

Espero que te sirva.

Saludos.
  #3 (permalink)  
Antiguo 06/11/2013, 03:10
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: incluir javascript en una página concreta

La función mytheme_preprocess_page existe en el template

Código:
function mytheme_preprocess_page(&$vars) {
  if (isset($vars['main_menu'])) {
    $vars['main_menu'] = theme('links__system_main_menu', array(
      'links' => $vars['main_menu'],
      'attributes' => array(
        'class' => array('links', 'main-menu', 'clearfix'),
      ),
      'heading' => array(
        'text' => t('Main menu'),
        'level' => 'h2',
        'class' => array('element-invisible'),
      )
    ));
  }
  else {
    $vars['main_menu'] = FALSE;
  }
  if (isset($vars['secondary_menu'])) {
    $vars['secondary_menu'] = theme('links__system_secondary_menu', array(
      'links' => $vars['secondary_menu'],
      'attributes' => array(
        'class' => array('links', 'secondary-menu', 'clearfix'),
      ),
      'heading' => array(
        'text' => t('Secondary menu'),
        'level' => 'h2',
        'class' => array('element-invisible'),
      )
    ));
  }
  else {
    $vars['secondary_menu'] = FALSE;
  }
}
  #4 (permalink)  
Antiguo 06/11/2013, 09:24
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: incluir javascript en una página concreta

Entonces más fácil, solo debés agregar el condicional que te puse (el TRUE lo debes cambiar por tu lógica).

Saludos.

Etiquetas: incluir, javascript, página, tipo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.