Foros del Web » Programando para Internet » PHP »

Poner elace a javascript dentro de bloque php

Estas en el tema de Poner elace a javascript dentro de bloque php en el foro de PHP en Foros del Web. Hola, A ver si alguien me puede ayudar, me urge un poquito solucionar esto. Quiero poner un enlace a javascript, pero resulta que al quedar ...
  #1 (permalink)  
Antiguo 01/05/2008, 04:03
 
Fecha de Ingreso: febrero-2008
Mensajes: 35
Antigüedad: 16 años, 9 meses
Puntos: 0
Poner elace a javascript dentro de bloque php

Hola,
A ver si alguien me puede ayudar, me urge un poquito solucionar esto.
Quiero poner un enlace a javascript, pero resulta que al quedar dentro de un bloque php no me funciona. No se si es que no se puede hacer o es que no se hacerlo (soy muy novato tanto en php como javasc).

Pongo la parte del bloque de codigo donde va el enlace a ver si me podeis decir algo.

Código PHP:
echo '

             <td width=208 valign=top align=center>
               <table cellspacing=0 cellpadding=0 width=200 align=center>
                <tr><td width=90 align=center valign=top><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'vspace=0') . '</a></td>
                <td valign=top>
                  <table cellspacing=0 cellpadding=0>
                   <tr><td><a height=35 valign=middle   class=ch9 href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a></td></tr>
                   <tr><td class=ch10 height=35 valign=middle>'.preg_replace('/\s\S*$/i', '', substr($new_products['products_description'], 0, 25)).' ...</td></tr>
                   <tr><td height=0></td></tr>
                   <tr><td><span class=ch11>' . TEX_PRICE . '</span> <span class=ch8>'.$currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])).'</span> </td></tr>
                  </table>
                 </td>
                </tr>
                <tr><td height=20></td></tr>
                <tr><td colspan=2 align=right><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image_button('detalles.gif') . '</a> <br></td></tr>
                
                 <tr><td colspan=2 align=right>' . tep_draw_hidden_field('products_id', $new_products['products_id']) .  (($new_products['products_weight'] == 0) ? 



 <script language="javascript">
 document.write('<?php echo  '<a href='"javascript:popupWindow1(\\\'' . tep_href_link('shipping1.php') . '\\\')">' . tep_image_button('frete_gratis.gif', frete_gratis) : ''). '</a>'; ')
</script>    
<noscript>
              '<a href="' . tep_href_link('shipping1.php') . '"target="_blank"' . '">' . tep_image_button('frete_gratis.gif', frete_gratis) : '') . '</a>
</noscript> 


              
              <a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $new_products['products_id']) . '">' . tep_image_button('button_in_cart.gif') . '</a> &nbsp;&nbsp;</td></tr>
             </table>
             </td>

        ';
Como he dicho antes, el problema es el vinculo al javascript que no me funciona. Si quito este vinculo y dejo solo el contenido del noscript, me funciona perfectamente.

Agradezco de antemano vuestra ayuda
  #2 (permalink)  
Antiguo 02/05/2008, 03:54
 
Fecha de Ingreso: febrero-2008
Mensajes: 35
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Poner elace a javascript dentro de bloque php

Le doy a esto para arriba que ya estaba muy lejos.

A ver si alguien me dice al menos si se puede hacer o no lo que quiero.
  #3 (permalink)  
Antiguo 02/05/2008, 09:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Poner elace a javascript dentro de bloque php

Hola Oracio,

Para que evites problemas con las comillas (que es tu problema ahorita), te recomiendo mejor imprimir tu HTML así:
Código PHP:
<?php
// codigo PHP
?>
<html> <!-- codigo html -->
<?php
// mas codigo PHP
?>
<div><?php echo "hola"?></div>
Saludos.
  #4 (permalink)  
Antiguo 02/05/2008, 10:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 35
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Poner elace a javascript dentro de bloque php

Gracias por responder GatorV.

Como no entiendo mucho del tema, no me acabo de enterar de lo que me dices pero intentaré explicarme yo un poco mejor.

El caso es que el vínculo al javascript que pongo en el ejemplo, lo tengo puesto en otros archivos así como tu me indicas y funciona perfectamente; el problema es que aquí todo lo que se ve en el post de antes y más aún está dentro de un bloque php, es decir <?php // -- bloque codigo php -- // ?> y dentro de ese bloque se encuentra dentro de echo ' -- bloque de codigo -- ' ; y claro, el vínculo tal y como lo tengo no funciona, pero esque no encuentro información en ningún sitio sobre si se puede poner ahí y como.

Lo de las comillas es seguramente porque lo he copiado talcual de otro archivo como ya he dicho. De todos modos, como no estoy para nada seguro de lo que digo y el archivo completo no es muy largo, pongo el bloque completo a ver si así lo podeis ver y decirme algo más.

Código PHP:
<?php
  
if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
    
$new_products_query tep_db_query("select p.products_id, p.products_weight, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " TABLE_PRODUCTS " p left join " TABLE_SPECIALS " s on p.products_id = s.products_id where products_status = '1' order by p.products_date_added desc limit " MAX_DISPLAY_NEW_PRODUCTS);
  } else {
    
$new_products_query tep_db_query("select distinct p.products_id, p.products_weight, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " TABLE_PRODUCTS " p left join " TABLE_SPECIALS " s on p.products_id = s.products_id, " TABLE_PRODUCTS_TO_CATEGORIES " p2c, " TABLE_CATEGORIES " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . (int)$new_products_category_id "' and p.products_status = '1' order by p.products_date_added desc limit " MAX_DISPLAY_NEW_PRODUCTS);
  }

  
$row 0;
  
$col 0;


  echo 
'

    <table cellspacing=0 cellpadding=0 width=437 align=center>
     <tr><td background=images/m22.gif width=437 height=20 valign=top>
         <table cellspacing=0 cellpadding=0>
          <tr><td height=4></td></tr>
          <tr><td width=25></td><td class=ch6>' 
TEX_DESTACADOS '</td></tr>
         </table>
        </td></tr>
      <tr><td valign=top class=ch7>

           <table cellspacing=0 cellpadding=0 width=417 border=0 align=center>
             <tr><td height=13></td></tr>
             <tr>


       '
;


  while (
$new_products tep_db_fetch_array($new_products_query)) {
   
$new_products['products_name'] = tep_get_products_name($new_products['products_id']);
   
$product_query tep_db_query("select products_description  from " TABLE_PRODUCTS_DESCRIPTION " where products_id = '" . (int)$new_products['products_id'] . "' and language_id = '" . (int)"'");
   
$product tep_db_fetch_array($product_query);
   
$new_products['products_description'] = $product['products_description'];
   echo 
'

             <td width=208 valign=top align=center>
               <table cellspacing=0 cellpadding=0 width=200 align=center>
                <tr><td width=90 align=center valign=top><a href="' 
tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products['products_id']) . '">' tep_image(DIR_WS_IMAGES $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTHSMALL_IMAGE_HEIGHT'vspace=0') . '</a></td>
                <td valign=top>
                  <table cellspacing=0 cellpadding=0>
                   <tr><td><a height=35 valign=middle   class=ch9 href="' 
tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products['products_id']) . '">' $new_products['products_name'] . '</a></td></tr>
                   <tr><td class=ch10 height=35 valign=middle>'
.preg_replace('/\s\S*$/i'''substr($new_products['products_description'], 025)).' ...</td></tr>
                   <tr><td height=0></td></tr>
                   <tr><td><span class=ch11>' 
TEX_PRICE '</span> <span class=ch8>'.$currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])).'</span> </td></tr>
                  </table>
                 </td>
                </tr>
                <tr><td height=20></td></tr>
                <tr><td colspan=2 align=right><a href="' 
tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products['products_id']) . '">' tep_image_button('detalles.gif') . '</a> <br></td></tr>
                
                 <tr><td colspan=2 align=right>' 
tep_draw_hidden_field('products_id'$new_products['products_id']) .  (($new_products['products_weight'] == 0) ? 




 <
script language="javascript">
 
document.write('<?php echo  '<a href='"javascript:popupWindow1(\\\'' tep_href_link('shipping1.php') . '\\\')">' tep_image_button('frete_gratis.gif'frete_gratis) : ''). '</a>'')
</script>    
<noscript>
              <a href="' 
tep_href_link('shipping1.php') . '"target="_blank"' '">' tep_image_button('frete_gratis.gif'frete_gratis) : '') . '</a>
</noscript> 



              
              <a href="' 
tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' $new_products['products_id']) . '">' tep_image_button('button_in_cart.gif') . '</a> &nbsp;&nbsp;</td></tr>
             </table>
             </td>

        '
;
   
    
$col ++;
    if (
$col 1) {
      
$col 0;
      
$row ++;
      echo 
'

             </tr>
             <tr><td height=2></td></tr>
              <tr><td colspan=3 valign=top>
               <table cellspacing=0 cellpadding=0>
                <tr><td width=210 height=1 background=images/m29.gif></td><td width=10></td> <td width=210 height=1 background=images/m29.gif></td></tr>
               </table>
              </td></tr>
              <tr><td height=2></td></tr>
              <tr>


           '
;
    } else echo 
'<td background=images/m09.gif width=1></td>';
  }


  echo 
'

                         </tr>
                        </table> 

         </td></tr>
        <tr><td><img src=images/m30.gif width=438 height=7></td></tr>
       </table>

       '
;


?>
Perdon por el culebrón que he soltao.

Gracias y un saludo.
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 12:57.