Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
-
Upload
victor-aravena -
Category
Technology
-
view
167 -
download
0
description
Transcript of 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]
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]