Upload
victor-aravena
View
181
Download
0
Embed Size (px)
DESCRIPTION
Insertar elementos de contenidos PHP en Typo3
Citation preview
Insertar un elemento de Contenido en Typo3 mediante un archivo PHP
Magister en InformáticaProducción de Software
Víctor H. [email protected]
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 [email protected]