Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

16
Insertar un elemento de Contenido en Typo3 mediante un archivo PHP Magister en Informática Producción de Software Víctor H. Aravena [email protected]

description

Insertar elementos de contenidos PHP en Typo3

Transcript of Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

Page 1: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

Insertar un elemento de Contenido en Typo3 mediante un archivo PHP

Magister en InformáticaProducción de Software

Víctor H. [email protected]

Page 2: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.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.

Page 3: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

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 />';

}

?>

Page 4: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

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.

Page 5: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

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

}

}

Page 6: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

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;

}

Page 7: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

● 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

Page 8: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

● Insertar el siguiente código typoscriptpage.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

Page 9: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

● 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 3=> Insertar un formulario en php

Page 10: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

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.

Page 11: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

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

Page 12: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

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

Page 13: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

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 />';

}

Page 14: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

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.

Page 15: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

Paso 4 => Cliente de Servicio Web

● Insertaremos el siguiente código typoscriptpage.10 {

subparts.CONTENT = USER_INT

subparts.CONTENT {

#Se invoca al fichero script php

includeLibs = fileadmin/ejemplophp1.php

# Función

userFunc = user_printService

}

}

Page 16: Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+

¿Dudas?

● Consulta a [email protected]