Eh estado tratando de integrar codigo php en una pagina de magento, sin embargo lo unico que eh podido encontrar al respecto es lo siguiente:
(Lo malo esta que el ingles no se me da mucho XD)
http://www.magentocommerce.com/boards/viewthread/27889/
El codigo que quiero integrar es un Whois, pueden verlo en funcionamiento aqui.
Alguien me explica :niidea:
Para crear páginas personalizadas... creas un bloque, una plantilla dentro del directorio template y sus funciones dentro de la carpeta "code/local" para que no se pierdan en actualizaciones.
Después tienes que indicar donde quieres que aparezca, para lo cual tendrás que indicar el nuevo bloque dentro de los layouts (carpeta layout) que son los ficheros XML y que cada uno corresponde a una sección.
Si tan sólo quieres añadir una página puedes crear tu código php en una página (sin relación con magento) y añadir una excepción en el fichero .htaccess para que no te interprete esa petición de URL como un rewrite de un producto del catálogo.
Soporte profesional para Magento: www.estatiko.com
Otra opción es ejecutar el cógigo php de tu autoría dentro de un phtml uqe vayas a invocar.
Damián Culotta
Blog http://www.damianculotta.com.ar/
Damian Culotta, post: 4324 wrote: @spok01
¿Cómo invocaste ese phtml?
{{block type="catalog/product_list" template="Test.phtml"}}
al principio solo habia puesto {{template="Test.phtml"}} pero al visualizarlo se veia la linea tal cual...
al utilizar
$_SERVER['PHP_SELF']
se le solicita al intérprete la ruta que tiene guardada, en el caso de magento todo pasa por el index.php. La ruta que tienes de dominios es un rewrite, por eso, si te fijas en el código fuente, puedes ver:
<form action="/index.php" method="post" name="domain">
El error es ese, sólo te queda obligar al formulario pasar por /dominio y debería de funcionar.
Soporte profesional para Magento: www.estatiko.com
:reverencia: Muchisimas gracias Xarlie, ya quedo solucionado, ahora solo resta aplicar estilos y agregar otros detalles..
Saludos
Xarlie, post: 4355 wrote: al utilizar
$_SERVER['PHP_SELF']se le solicita al intérprete la ruta que tiene guardada, en el caso de magento todo pasa por el index.php. La ruta que tienes de dominios es un rewrite, por eso, si te fijas en el código fuente, puedes ver:
<form action="/index.php" method="post" name="domain">El error es ese, sólo te queda obligar al formulario pasar por /dominio y debería de funcionar.
Yo estoy en una situacion parecida, aún cuando mi formulario lo creo de la siguiente forma:
$urlform = $this->getUrl('checkout/onepage').'webpay_saveorder.php';
echo "<form method='post' name='webpay' action='$urlform'>
<input type='hidden' name='TBK_MONTO' value='$total_carro'>
En la barra de direcciones del navegador, aparece la dirección correcta, pero magento simplemente no la encuentra y envia su irritante pantalla de "ooopps! no se encuentra la página..."
Que estoy haciendo mal o es que simplemente Magento no permite ejecutar páginas PHP de esta forma???
El tema de las url's, no son url's físicas, sino que funcionan más bien como parámetros (no es literal lo que estoy explicando, pero me parece más gráfico que tratar de hacer la explicación completa del Zend Controller).
Esos parámetros son más o menos así (adaptándolo a tu caso).
Módulo: Checkout
Controlador: Onpage
Acción: webpay_saveorder
Supongo, que en tu Módulo Checkout, en el Controlador Onpage, no tenés definida ningún Action webpay_saveorder.
De ahí el 404.
Saludos.
Damián Culotta
Blog http://www.damianculotta.com.ar/
entonces como...?
Damian...
La necesidad que tengo es solo ejecutar un formulario en una página php.
Lo mas sencillo posible.
Este formulario recibe un par de datos y ejecuta un cgi en el server.
Te ruego me des alguna idea para hacer esto, pues llevo un par de dias pegado en lo mismo.
Gracias.
Damian Culotta, post: 5037 wrote: @jccn1812
El tema de las url's, no son url's físicas, sino que funcionan más bien como parámetros (no es literal lo que estoy explicando, pero me parece más gráfico que tratar de hacer la explicación completa del Zend Controller).
Esos parámetros son más o menos así (adaptándolo a tu caso).
Módulo: Checkout
Controlador: Onpage
Acción: webpay_saveorderSupongo, que en tu Módulo Checkout, en el Controlador Onpage, no tenés definida ningún Action webpay_saveorder.
De ahí el 404.
Saludos.
Bueno, ¿pero dónde ejecutarías ese formulario?.
No me termina de quedar claro el circuito que tendría que recorrer.
Damián Culotta
Blog http://www.damianculotta.com.ar/
Yo me he perdido un poco...
Soporte profesional para Magento: www.estatiko.com
Damian...
La necesidad que tengo es solo ejecutar un formulario en una página php.
Lo mas sencillo posible.
Este formulario recibe un par de datos y ejecuta un cgi en el server.
Te ruego me des alguna idea para hacer esto, pues llevo un par de dias pegado en lo mismo.
Gracias.
me perdonan pero voy a seguir con este tema porque estoy desesperado :susto: y necesito solucionarlo.
lo que plantea el amigo jccn1812 meses atras es lo siguiente.
en Chile existe un metodo de pago webpay, el cual trabaja con cgi, por lo tanto ningun modulo que existe sirve ya que todo el kit de conexion va configurado dentro de cgi-bin, y el config de este es un .dat, que se necesita, se necesita de un modulo tal que permita la ejecucion del tbk_bp_pago.cgi para eso hay un formulario base
<FORM METHOD="POST" ACTION="/cgi-bin/tbk_bp_pago.cgi">
<TABLE BORDER="0" ALIGN="CENTER">
<TR>
<TD ALIGN="CENTER">
<FONT FACE=ARIAL SIZE="3" COLOR="WHITE">MONTO TRANSACCIÓN</FONT> <BR>
<INPUT TYPE="TEXT" NAME="TBK_MONTO" VALUE="10000"> <BR>
</TD>
<TD ALIGN="CENTER"> <BR>
<INPUT TYPE="HIDDEN" NAME="TBK_TIPO_TRANSACCION" VALUE="TR_NORMAL"> <BR>
</TD>
</TR>
<TR>
<TD ALIGN="CENTER">
<FONT FACE="ARIAL" SIZE="3" COLOR="WHITE">Nº DE ORDEN</FONT> <BR>
<INPUT TYPE="TEXT" NAME="TBK_ORDEN_COMPRA" VALUE="<?php echo substr(md5(uniqid(rand(),1)), 0, 5);?>"> <BR>
</TD>
<TD ALIGN="CENTER"> <BR>
<INPUT TYPE="HIDDEN" NAME="TBK_ID_SESION" VALUE="<?php echo substr(md5(uniqid(rand(),1)), 0, 10);?>"> <BR>
</TD>
</TR>
</TABLE>
<TABLE BORDER=0 ALIGN="CENTER">
<TR>
<TD ALIGN="CENTER"> <BR>
<INPUT NAME="TBK_URL_EXITO" TYPE="HIDDEN" id="TBK_URL_EXITO" VALUE=" http://www.tutienda.cl/tienda2/exito.php"> <BR>
</TD>
<TD ALIGN="CENTER"> <BR>
<INPUT NAME="TBK_URL_FRACASO" TYPE="HIDDEN" id="TBK_URL_FRACASO" VALUE=" http://www.tutienda.cl/tienda2/fracaso.php"> <BR>
</TD>
</TR>
</TABLE>
<TABLE BORDER="0" ALIGN="CENTER">
<TR> <TD ALIGN="CENTER"> <BR>
<INPUT TYPE="SUBMIT" VALUE="PAGAR CON TARJETA DE CRÉDITO" SIZE=”20”> </BR>
</TD>
</TR>
</TABLE>
</FORM>
mi problema en concreto es como hago pasar las variables de magento a este formulario o que archivo debo modificar dentro del checkout yo mas menos creo que es review.phtml, eso no se si me explique espero sus respuestas :palomitas:
Para ser más consistente y ahorrarte dolores de cabeza, lo correcto seria crear un módulo (no necesariamente completo) que haga lo qeu vos querés, pero desde Magento.
Damián Culotta
Blog http://www.damianculotta.com.ar/