Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] llenar template con los datos de un array

Estas en el tema de llenar template con los datos de un array en el foro de PHP en Foros del Web. Hola amigos tengo una consulta. tengo un template y lo cargo con: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $template = file_get_contents ( './template/index.php' ) ; ...
  #1 (permalink)  
Antiguo 10/06/2014, 15:33
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Pregunta llenar template con los datos de un array

Hola amigos tengo una consulta.

tengo un template y lo cargo con:

Código PHP:
Ver original
  1. $template = file_get_contents('./template/index.php');

luego cargo un array con;

Código PHP:
Ver original
  1. $lang = $_SESSION["lang"];
  2.         $directorio = './lang/';
  3.         $pathfile = $directorio.$lang;
  4.         $diccionario = include_once ($pathfile);

teniendo esto listo procedo al relleno con :

Código PHP:
Ver original
  1. $template=$template;
  2.         foreach ($diccionario as $clave=>$valor) {
  3.             $chargedTPL = str_replace('{'.$clave.'}', $valor, $chargedTPL);
  4.         }
  5.         $WebSite=$chargedTPL;

y al final imprimo:

Código PHP:
Ver original
  1. echo $website;

al momento de imprimir hago una recorrido de la impresión

Código PHP:
Ver original
  1. $cont = 0;
  2.         foreach($langArray as $value){
  3.             echo "$array[$cont]=>$value<br> ";
  4.             $cont++;}

me manda los valores correctamente del array pero me manda error:

Notice: Undefined variable: array in linea 24

el archivo donde esta el array lo carga correctamente esta es su estructura:

Código PHP:
Ver original
  1. $langArray = array (
  2.     /* Pagina en español */
  3.     'lang'  => 'es',
  4.     /* head de la pagina */
  5.     'title'         => 'pagina web prueba-',
  6.     'description'   => 'descripcion',
  7.     'keywords'      => 'keywords',
  8.     'owner'         => 'empresa',
  9.     'email'         => '[email protected]',
  10.     /*cabecera de la pagina*/
  11.     'header.logout'     =>  'Salir',
  12.     /*menu de la pagina*/
  13.     'menu.inicio'       =>  ' Inicio',
  14.     'lang.es'       =>  'Español',
  15.     'lang.us'       =>  'English',
  16.     'lang.fr'       =>  'Français',
  17. );
  18. ?>

y en el momento que reemplaza :

otro error:

Warning: Invalid argument supplied for foreach()

y no me reemplaza nada

alguien que tenga conocimiento al respecto que me pueda comentar sobre estos errores...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #2 (permalink)  
Antiguo 10/06/2014, 15:37
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: llenar template con los datos de un array

ya arregle el Warnig pero no logro quitar el error del notice array undefined
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #3 (permalink)  
Antiguo 10/06/2014, 16:04
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: llenar template con los datos de un array

Lo mas probable es que sea este arreglo:
Código PHP:
Ver original
  1. $cont = 0;
  2. $array = array(); // o $array = [] si es apartir php 5.4;
  3. foreach($langArray as $value)
  4. {
  5.     echo "$array[$cont]=>$value<br> ";
  6.     $cont++;
  7. }
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: template, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:58.