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
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.
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 />'; 
} 
?>
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.
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 
} 
}
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; 
}
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.
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 
} 
}
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.
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.
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
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
Paso 4 => Cliente de Servicio Web 
function user_printService($content, $conf) { 
$requestParams = array( 'CityName' => 'Berlin', 'CountryName' => 'Germany'); 
$client = new SoapClient('http://www.webservicex.net/globalweather.asmx?WSDL'); 
$response = $client->GetWeather($requestParams); 
$mensajeClima = $response->GetWeatherResult; 
$requestParams = array( 'FromCurrency' => 'CLP', 'ToCurrency' => 'BRL'); 
$client = new SoapClient('http://www.webservicex.net/CurrencyConvertor.asmx?WSDL'); 
$response = $client->ConversionRate($requestParams); 
$mensajeConversion = $response->ConversionRateResult; 
return '<p style="color: red;">Clima '.$mensajeClima . '<br>Conversion '. 
$mensajeConversion .'</p><br />'; 
}
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.
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 
} 
}
¿Dudas? 
● Consulta a victor.aravena@ufrontera.cl

Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

  • 1.
    Insertar un elementode 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 ● Paso1 => 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=> Crearun 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=> Insertarun 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=> Insertarun 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=> Insertarun 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=> Insertarun 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
  • 13.
    Paso 4 =>Cliente de Servicio Web function user_printService($content, $conf) { $requestParams = array( 'CityName' => 'Berlin', 'CountryName' => 'Germany'); $client = new SoapClient('http://www.webservicex.net/globalweather.asmx?WSDL'); $response = $client->GetWeather($requestParams); $mensajeClima = $response->GetWeatherResult; $requestParams = array( 'FromCurrency' => 'CLP', 'ToCurrency' => 'BRL'); $client = new SoapClient('http://www.webservicex.net/CurrencyConvertor.asmx?WSDL'); $response = $client->ConversionRate($requestParams); $mensajeConversion = $response->ConversionRateResult; return '<p style="color: red;">Clima '.$mensajeClima . '<br>Conversion '. $mensajeConversion .'</p><br />'; }
  • 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 } }
  • 16.
    ¿Dudas? ● Consultaa victor.aravena@ufrontera.cl