Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
1. Insertar un elemento de Contenido
en Typo3 mediante un archivo PHP
Magister en Informática
Producción de Software
Víctor H. Aravena
Victor.aravena@ufrontera.cl
2. Objetivos
● Paso 1 => Crear un Script en PHP.
● Paso 2 => Insertar un elemento de contenido
php en una página de Typo3.
● Paso 3 => Insertar un formulario en php como
elemento de contenido de Typo3.
● Paso 4 => Insertar como elemento de
contenido de Typo3 un cliente de servicio web.
3. Paso 1=> Crear un Script en PHP
● Se creará un archivo php llamado ejemplophp1.php.
● Incorporar el siguiente código al archivo
ejemplophp1.php
<?php
/**
* Output the current time in red letters *
* @param string Empty string (no content to process)
* @param array TypoScript configuration
* @return string HTML output, showing the current server time.
*/
function user_printTime($content, $conf) {
return '<p style="color: red;">Dynamic time: ' . date('H:i:s').'<br />';
}
?>
4. Paso 2 => Insertar contenido en
Typo3
● Iniciar sesión al ambiente backend.
● El archivo ejemplophp1.php se subirá al
directorio fileadmin.
● Crear una nueva página web de tipo standard
dentro del árbol navegación.
● En la nueva página se creará un template
extendido.
5. Paso 2 => Insertar contenido en
Typo3
● Insertar el siguiente código typoscript en el
nuevo template extendido.
page.10 {
subparts.CONTENT = USER_INT
subparts.CONTENT {
#Se invoca al fichero script php
includeLibs = fileadmin/ejemplophp1.php
# Función
userFunc = user_printTime
}
}
6. Paso 3=> Insertar un formulario en php
● En el archivo ejemplophp1.php es necesario añadir el
el siguiente método:
function user_printFormExample($content, $conf) {
if($_POST['botones'] and strlen($_POST['nombre'])!=0){
$mensaje .= 'Campo Nombre: '.$_POST['nombre'].'<br>';
}
$mensaje .= ' <form name="formulario" method="post">
Nombre: <input type="text" name="nombre" value="">
<input type="submit" name="botones" /> </form> ';
return $mensaje;
}
7. Paso 3=> Insertar un formulario en php
● Se salvarán los cambios en el archivo
ejemplophp1.php
● Iniciar sesión en el ambiente backend.
● El archivo ejemplophp1.php será actualizado
en el directorio fileadmin.
● Crear una nueva página de tipo standard
dentro del árbol navegación.
● En la nueva página crear un template
extendido.
8. Paso 3=> Insertar un formulario en php
● Insertar el siguiente código typoscript
page.10 {
subparts.CONTENT = USER_INT
subparts.CONTENT {
#Se invoca al fichero script php
includeLibs = fileadmin/ejemplophp1.php
# Función
userFunc = user_printFormExample
}
}
9. Paso 3=> Insertar un formulario en php
● Finalmente se puede verificar el formulario en
el sitio web (Frontend) en la nueva página
creada.
● Al ingresar un valor se podrá visualizar el
contenido.
10. Paso 4 => Cliente de Servicio Web
● Se creará un cliente que invocará a un servicio
web de clima y a un servicio web de conversión
de datos
● Ambos clientes utilizarán la clase SoapClient.
● Se realizará el siguiente protocolo:
– Se crearán los parametros del método.
– Se instanciará la clase SOAPCliente referenciando
a la URI del archivo wsdl.
– Se obtendrá la respuesta del servicio web..
– Se visualizará la respuesta como contenido.
11. Paso 4 => Cliente de Servicio Web
● Ir a repositorio de servicio Web Públicos
– http://www.webservicex.net/ws/default.aspx
● Se obtendrá información del Servicio web
Climáticos
– Cliente Web
● http://www.webservicex.net/WS/WSDetails.aspx?
CATID=12&WSID=56
– WSDL
● http://www.webservicex.net/globalweather.asmx?WSDL
12. Paso 4 => Cliente de Servicio Web
● Servicio Web de Conversión
– Cliente Online
● http://www.webservicex.net/WS/WSDetails.aspx?
CATID=2&WSID=10
– WSDL
● http://www.webservicex.net/CurrencyConvertor.asmx?WSDL
● Incorporar siguiente método al archivo
ejemplophp1.php
14. Paso 4 => Cliente de Servicio Web
● Se salvarán los cambios en el archivo
ejemplophp1.php
● Iniciar sesión en el ambiente backend.
● El archivo ejemplophp1.php será actualizado
en el directorio fileadmin.
● Crear una nueva página de tipo standard
dentro del árbol navegación.
● En la nueva página crear un template
extendido.
15. Paso 4 => Cliente de Servicio Web
● Insertaremos el siguiente código typoscript
page.10 {
subparts.CONTENT = USER_INT
subparts.CONTENT {
#Se invoca al fichero script php
includeLibs = fileadmin/ejemplophp1.php
# Función
userFunc = user_printService
}
}