javascript metido en un php, help

voipster

VoIP enthusiast
Estimados, tanto tiempo, saludos a todos.

Hace varios dias intento resolver un tema en mi pagina web que me tiene tostado, es algo sencillo para quien cacha de programacion, lo que no es mi fuerte, ojala alguien me pueda echar una mano.

El codigo a continuacion, muestra el nombre de un producto y el link le lleva a una imagen, que se abre en una nueva ventana:

Código:
<a href="'.HTTPS_CATALOG_SERVER.DIR_WS_CATALOG_IMAGES. $order->products[$i]['image'] .'"target=_blank">' . $order->products[$i]['name'];
Hasta ahi todo bien. Lo que necesito, es que en vez que se abra en una ventana nueva (_blank) se abra en un popup con determinados parametros (height/width),

He tratado con dos variantes sin resultados:

Código:
<a href='javascript:window.open("'.HTTPS_CATALOG_SERVER.DIR_WS_CATALOG_IMAGES. $order->products[$i]['image'] .'","_blank","height=600, width=1100, status=yes, toolbar=no, menubar=no");;void(0)'">' . $order->products[$i]['name'];
Código:
<a onclick="window.open('.HTTPS_CATALOG_SERVER.DIR_WS_CATALOG_IMAGES. $order->products[$i]['image'] .','imagen','status=no,width=500,height=400,location=no,scrollbars=yes,toolbar=yes,menubar=no,resizable=yes');"href="javascript:void(0);">' . $order->products[$i]['name'];
Seguro me estoy pitieando un ' o un "" ... al probar esas variantes, el php simplemente abre 'en blanco'.

Parte del codigo que lo rodea, para contexto es:

<?php
for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
echo ' <tr class="dataTableRow">' . "\n" .
' <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . '&nbsp;x</td>' . "\n" .
' <td class="dataTableContent" valign="top"><a href="'.HTTPS_CATALOG_SERVER.DIR_WS_CATALOG_IMAGES. $order->products[$i]['image'] .'"target=_newindow">' . $order->products[$i]['name'];

if (isset($order->products[$i]['attributes']) && (sizeof($order->products[$i]['attributes']) > 0)) {
for ($j = 0, $k = sizeof($order->products[$i]['attributes']); $j < $k; $j++) {
echo '<br /><nobr><small>&nbsp;<i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'];
if ($order->products[$i]['attributes'][$j]['price'] != '0') echo ' (' . $order->products[$i]['attributes'][$j]['prefix'] . $currencies->format($order->products[$i]['attributes'][$j]['price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ')';
echo '</i></small></nobr>';
}
}

Como puedo alterar el codigo en negritas para que al hacer click sobre ese item se abra un popup con determinadas medidas?

Muchas gracias
 

folto

⭐️Cuenta Premium⭐️
No tengo la menor idea, pero paso a saludarte de todas formas, compañero Voipster.

Saludos.
 
prueba asi, para forzar popup y no otro tab

<a href="#" onclick="window.open('https://www.capa9.net/styles/logo-bar.png', 'newwindow', 'width=300,height=250');
return false;">hello c9</a>

segun tu codigo seria algo asi

<a href="#" onclick="window.open('.HTTPS_CATALOG_SERVER.DIR_WS_CATALOG_IMAGES. $order->products[$i]['image'] .', 'newwindow', 'width=300,height=250'); return false;">.$order->products[$i]['name'];</a>
 

MetalCOB

Miembro Activo
No se PHP, pero si se sigue el patron de interpolacion del que si te funciona, entonces deberia quedar algo asi


PHP:
<a onclick="window.open('.HTTPS_CATALOG_SERVER.DIR_WS_CATALOG_IMAGES. $order->products[$i]['image'] .','imagen','status=no,width=500,height=400,location=no,scrollbars=yes,toolbar=yes,menubar=no,resizable=yes'); href="javascript:void(0);">' . $order->products[$i]['name'];
PS: igual creo que esta "mal" tu código, pero cada lenguaje tiene sus trucos y al final te acostumbras a donde, cuantas y que comillas usar.
 

EITSAEB

Team Peacemaker Hater
tiene que ser otra ventana? no te sirve un modal de bootstrap por ejemplo?

 
Subir