insertar elemento de contenido php en typo3 6.0+ 6.2+

Post on 04-Jul-2015

181 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Insertar elementos de contenidos PHP en Typo3

TRANSCRIPT

Insertar un elemento de Contenido en Typo3 mediante un archivo PHP

Magister en InformáticaProducción de Software

Víctor H. AravenaVictor.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;

}

● 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 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

● 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

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 typoscriptpage.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

top related