Foros del Web » Programando para Internet » PHP »

Actualizar contenidos de manera dinamica

Estas en el tema de Actualizar contenidos de manera dinamica en el foro de PHP en Foros del Web. Somos proveedores de contenido del canal de viajes de t1msn.com.mx y me estan pidiendo que en lugar de tener contenidos estaticos como los tenemos ahora, ...
  #1 (permalink)  
Antiguo 21/08/2004, 10:16
 
Fecha de Ingreso: diciembre-2003
Mensajes: 16
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta Actualizar contenidos de manera dinamica

Somos proveedores de contenido del canal de viajes de t1msn.com.mx y me estan pidiendo que en lugar de tener contenidos estaticos como los tenemos ahora, necesitan contenidos dinamicos, explico mas:

Ahora tenemos contenidos estaticos, en paginas html, por ejemplo:
Nuestro server: http://www.travelisimo.com/t1/tips/feed.htm

que ya incluido en el contenido de t1msn, se ve asi:
http://www.t1msn.com.mx/Viajes/Tips/default.asp

Otro ejemplo, seria:
http://www.travelisimo.com/t1/agendas/nacional/home.htm

que ya incluido en el contenido de t1msn, se ve asi:
http://www.t1msn.com.mx/viajes/mexico/travelisimo/

Este metodo es estatico, ya que en ambos servidores, tanto de travelisimo como de t1msn, existe una liga para cada pagina, y t1 lo incluye dentro de su contenido, a traves de la etiqueta de html <iframe> por asp.

Mi server es Linux, con apache web server, php y mysql, y el de t1msn es Windows con asp y SQL Server.

Ahora, la idea es cambiar este sistema de publicacion estatica, por una dinamica, incluyo la explicacion de lo que me pide t1:

Cita:
1. El contenido dinámico, en la cual subiría a nuestro administrador tus cuatro URL de Travelisimo.com en T1msn para enviarles de regreso cuatro ligas, donde todas los links apunten a una URL con variante, como este ejemplo de la Presidencia de la República:
http://www.t1msn.com.mx/pruebas/Pres...ault.asp?Art=X, donde el valor de ‘X’ varía de acuerdo a cada liga en particular y se pasa como una variable por el método GET (también podría ser POST). Lo que hace el código de default.asp es redireccionar hacia: http://2003.presidencia.gob.mx/t1msn/articulo.php?Art=X
Ese programa está en el servidor de presidencia y es el que en realidad despliega el artículo en cuestión. Es decir, en el “home de Presidencia de T1msn”, donde existirán ligas a direcciones que en realidad no contienen el artículo final sino un redireccionamiento a la dirección real en donde realmente se encuentra. Esto es, para mantener al usuario dentro del portal de T1msn.
Si se fijan en el segundo enlace, los articulos estan en php, no en html, y ahi es donde tengo el problema, ya trate de incluir los contenidos variables, pero no me cambia el contenido, ya que no se como utilizar el GET o POST dentro del formulario que "llame" los contenidos, es decir, se me revuelven las ligas y no se asignan a cada uno de los articulos correspondientes dentro de mi servidor.

Será que necesito crear un programa especial para hacer esto? o solo es codigo suelto en php que haga las "llamadas" a cada articulo?

No tengo ejemplos de esto en codigo, pero espero que lo que explique antes, les de una idea de lo que necesito.

Si alguien sabe de esto, necesito de su ayuda, por favor.

Gracias de nuevo.
  #2 (permalink)  
Antiguo 21/08/2004, 17:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. te indican que tu contenido "personalizado y dinámico" va a ser solicitado por un link donde se le va a pasar una variable para que esta la tome tu script de proceso que hará el filtrado del contenido que debe arrojar (generar) para esa petición ..

Pero .. la petición y lo que entregue será con salida vía javascript para que ese código pueda ser insertado desde páginas HTML simples.

Ejemplo sencillo:

contenidos.php
Código PHP:
<?
$contenidos
=array("sitio1"=>"contenido para sitio 1","sitio2"=>"contenido para sitio 2");
echo 
"document.write('".$contenidos{$_GET['contenido']}."')";;
?>
El contenido en sí será un link (html común apuntando a su sitio y script de proceso que entregue la noticia completa .. o al sitio de la fuente de origen de esa noticia).

Y desde cualquier sitio de sus "clientes" . .tan sólo llamarán a su script vía javacript:

Código PHP:
<script languaje="javascript" src="http://www.susitonoticias.com/contenidos.php?contenido=sitio1"></script> 
Mas o menos esa es la idea .. el código javacript puede no ser del todo correcto .. pero esa es la filosofía de funcionamiento del sistema: Hacer consulta a sus sistema (Base de datos .. o lo que corresponda, el ejemplo usa un simple array) y dar su "resultado" vía Javascript (ese "document.write") para que pueda ser llamadado desde una página HTML común (sin necesidad de que su "cliente" disponga de otro lenguaje del lado del servidor (ASP, PHP, Perl .. etc) ni de Base de datos alguna ...

------

Algo más elaborado y versatil sería "sindicar" el contenido (sus noticas) bajo RSS (derivado de XML) y que cada "cliente" suyo se "parsee" su fuente de datos RSS como guste con su própio parser RSS (que existen y se pueden implementar en prácticamente cualquier lenguaje).

Un saludo,

Última edición por Cluster; 21/08/2004 a las 17:08
  #3 (permalink)  
Antiguo 21/08/2004, 23:07
 
Fecha de Ingreso: diciembre-2003
Mensajes: 16
Antigüedad: 20 años, 4 meses
Puntos: 0
Muchas gracias por tu explicacion, Cluster, el programa contenidos.php debe de estar en mi server, obviamente, pero te pido que me digas en que carpeta iría, en la misma en donde estan los contenidos (paginas html)

Por otra parte, el javascript, iría en cada una de las pagina de contenido, cambiando solo la variable de la nota que se trate, o en donde? disculpa mi ignorancia, pero ahi es donde estoy teniendo problemas, que al querer hacer la "llamada" para que procese la nota, es donde me falla.

Mientras me contestas, deja lo intento metiendo el programa contenidos.php en la misma carpeta de los contenidos y el javascript en cada nota y te aviso como me fue intentando tu sugerencia.

Gracias de nuevo
  #4 (permalink)  
Antiguo 21/08/2004, 23:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero ... en cuanto a los contenidos .. actualmente cómo gestionan dicho contenido? en páginas HTML completamente independientes? bajo que critério debería ser esa generación de "contenido dinámico" que comentaban (tal vez para que cada usuarios se personalice que tipo de contenido ver?)

Creo que lo primero que debes hacer es definir bien donde va a estar tu "contenido" o como sería mejor organizarlo y sobre todo definir el "críterio" para que dicho contenído sea "dinámico" por qué dinámico no es más que "dependiendo de ... (condición .. etc)".

Un saludo,
  #5 (permalink)  
Antiguo 21/08/2004, 23:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Muchas gracias por tu explicacion, Cluster, el programa contenidos.php debe de estar en mi server, obviamente, pero te pido que me digas en que carpeta iría, en la misma en donde estan los contenidos (paginas html)
Bueno .. PHP tiene la particularidad que se puede "incrustrar" entre HTML .. por ende puedes ejecutar un .php donde gustes en tu servidor (bajo el "DocumenRoot": public_html .. o similar en un servicio de hosting común .. ) puede ser donde actualmente tienes tu .html .. PHP no es como los scripts CGI que deben estar en su carpeta /cgi-bin/ ...

Cita:
Por otra parte, el javascript, iría en cada una de las pagina de contenido, cambiando solo la variable de la nota que se trate, o en donde? disculpa mi ignorancia, pero ahi es donde estoy teniendo problemas, que al querer hacer la "llamada" para que procese la nota, es donde me falla.
Aquí es necesario que definas como vas a relacionar el critério que ("variable de la nota") y el contenido en sí (tu .html? actual?) .. Porque, No es javacript el que va a decidir que nota correspondería mostrar .. sino el LINK (URL) que indicas en contenido.php?contenido=variable y que apunta a tu servidor (script contenido.php) y le pasa dicha variable como "filtro" para que dicha rutina entregue el "contenido" que corresponda o simplemente el "link" o lo que sea.

Un saludo,

PD: te recomiendo leer algún tutorial sobre PHP o mejor uno sobre como funciona el tema de "cliente-servidor" (en tutoriales sobre CGI tal vez lo encuentres mejor) .. para entender bien como funcina todo el proceso.
  #6 (permalink)  
Antiguo 22/08/2004, 15:33
 
Fecha de Ingreso: diciembre-2003
Mensajes: 16
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias de nuevo, mira, los contenidos actuales estan en html puro, y por el trabajo hecho hasta ahora (son mas de 80 ligas)
Cita:
Aquí es necesario que definas como vas a relacionar el critério que ("variable de la nota") y el contenido en sí (tu .html? actual?)
necesito usar las mismas paginas html que uso actualmente, pero ahora, hacer el cambio de manera dinamica, pero al hablar de manera dinamica, no quiero decir que los usuarios podran "personalizar" los contenidos que ven, sino que para automatizar el proceso de publicacion, me pide t1msn que actualice los contenidos de manera dinamica.

Te incluyo una captura de pantalla tomada desde Frontpage, dentro del server, con la estructura actual de las carpetas y articulos, para que te des una idea mas clara de como esta ahora:



Hasta arriba, esta la carpeta t1, desde ahi se desprenden las agendas: internacional, con 3 paginas html:
home.htm que corresponde a: http://www.t1msn.com.mx/Viajes/extranjero/travelisimo/ dentro de t1msn
inter1.htm que corresponde a: http://www.t1msn.com.mx/Viajes/extra...isimo/agenda1/ dentro de t1.msn
inter2.htm que corresponde a: http://www.t1msn.com.mx/Viajes/extra...isimo/agenda2/ dentro de t1msn.

En el caso de la carpeta t1->agenda->nacional, tiene el home y 4 articulos.
En el caso de la carpeta t1->tips, tiene el home, que en este caso se llama feed.htm y 4 articulos tambien y el manejo de ambos es igual al de internacional, cada uno con una liga dentro de t1msn.

La idea del manejo de contenidos dinamicos, es quitarle peso al servidor de t1msn y que de manera dinamica, yo pueda desde travelisimo, cambiar los contenidos publicados en cada seccion de las indicadas en la estructura que ves en la imagen, mas facilmente, en lugar de depender del servidor de t1msn para programar los contenidos, de esta forma, yo decidiré cuando publicar los contenidos y la vigencia de cada articulo.

En cuanto al tutorial de php, ya lo he bajado, y estoy estudiando con mucho ahínco, pero es mucha informacion en el tutorial, para el poco tiempo que tengo para implementar esto que me pide t1msn, por eso mi solicitud original de ayuda

Espero que te haya quedado mas claro lo que necesito, y como siempre, mil gracias por tus esfuerzos y compartir tu conocimiento conmigo.

Carlos

Última edición por carlmty; 22/08/2004 a las 15:51
  #7 (permalink)  
Antiguo 22/08/2004, 18:46
Avatar de toek  
Fecha de Ingreso: agosto-2004
Ubicación: Pejelandia
Mensajes: 8
Antigüedad: 19 años, 8 meses
Puntos: 0
Que tal?
Por lo que veo, los de t1 mandan llamar los articulos con una direccion del tipo .../articulo.asp?ART=X es decir, pasan una variable por metodo GET, esto lo podrías usar tu creando un script que recoja esa variable y muestre el articulo al que le corresponde dicha variable, como hacer esto? Primero debes de asignar el "codigo" a cada articulo, es decir, art1, art2, art3, etc... o como prefieras llamarlos, pero de acuerdo a como los de t1 mandan llamar al articulo. En el script pones algo mmmm como esto:

Código PHP:
<? 
if (isset($REQUEST_URI)) { 
$a explode("?",$REQUEST_URI); 
// si hay seccion... 
if (isset($a[1])) { 
// sacamos lo q hay entre ? y el primer & si lo hubiera 
$carga explode("&",$a[1]); 
// si el archivo existe... 
if (file_exists(strtolower($carga[0]) . ".php")) { // verifica si existe y pone el nombre en minusculas 
if (isset($carga[1])) { include("".strtolower($carga[0]).".php"); }else{ include("".strtolower($carga[0]) . ".php"); } 

// si no existe, va a inicio.php 
else { include("inicio.php"); } 

// si no hay seccion, va a inicio.php 
else { include("inicio.php"); } 

?>
Este script lo que hace es recojer la variable que se manda y pasarla a minusculas, ya con ese nombre resuelto, manda llamar al archivo que tiene el mismo nombre, esto quiere decir que, tal vez tengas que renombrar tus archivos para que se llamen igual que la variable, si no existe dicho archivo, manda al script inicio.php donde puedes poner algo como "Articulo no encontrado" o poner ligas a los articulos existentes.

Bueno, eso es solo una idea, tal vez este mal porque no comprendi bien el poblema, de cualquier forma, explicamelo mejor

Saludos!
  #8 (permalink)  
Antiguo 22/08/2004, 19:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Creo que por ahí va la solución que propone toek

Si los archivos están ya en el servidor y la relación con el mismo es sólo el própio nombre del archivo .. se trata de usar un script "lanzador" tipo:

noticias.php?articulo=ruta/archivo.tal

Código PHP:
<?
header 
("Location: http://www.tsi....../".$_GET['articulo']");
?>
Pero si a "dinámico" te refieres ahora a que se tengan que leer esos directorios y generar los links para esos archivos .. podrías usar las funciones del grupo:

opendir()

Una vez que tengas ese listado de links para la categoría (directorio en tu caso) seleccionado .. tendrías que seguir con la parte de javascript para que lo puedas compartir con otros sítios de forma remota sin que estos necesiten de nada más extra que "HTML" en sus páginas.

Un saludo,

Última edición por Cluster; 22/08/2004 a las 19:59
  #9 (permalink)  
Antiguo 25/08/2004, 16:37
 
Fecha de Ingreso: diciembre-2003
Mensajes: 16
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola de nuevo Cluster y Toek:

Que me la han cambiado los amigos de t1, creo que mas facil, pero igual, estoy todo "liado", a continuacion les reproduzco lo ultimo que he recibido de ellos:

Cita:
Para empezar, se debe crear un URL para la página de Travelisimo.com en T1msn, como el siguiente ejemplo: http://www.sentidocomun.com.mx/t1msn_home.phtml, una vez arriba se ve así: http://www.t1msn.com.mx/Dinero/inver.../sentidocomun/, en donde tendrás la libertad de publicar la información que quieras, con una restricción del ancho de 325 pixeles.

Una vez creado lo anterior, se debe desarrollar el Contenido Dinámico. Tu URL contendrá ligas hacia los detalles de cada artículo y esto se maneja dinámicamente de la siguiente manera:

1. Utilizaremos una sola URL de tu lado a la cual se le anexarán parámetros para distinguir entre cada artículo. Por ejemplo: http://www.portafolios.com/Imagen_T1...p?idtext=24737, donde document.asp es el programa que en realidad despliega el artículo en cuestión. Nota que el valor de ‘idtext=’ varía de acuerdo a cada liga y se pasa como una variable por el método GET para que el programa encuentre el artículo adecuado.
2. Sin embargo, de tu lado en la página de home NO direccionarás tus ligas directamente a los detalles de tus artículos (document.asp), para ello te envío un URL al cuál deberás apuntar tus ligas. Para el ejemplo de portafolios utilizamos: http://www.t1msn.com.mx/Dinero/inver...p?idtext=24737.

Lo que hace el código de default.asp es redireccionar hacia la página original de tu lado y así contabilizar page views tanto para ustedes como para nosotros y para mantener al usuario dentro de T1msn.
Esto ultimo sobre que la pagina de home NO redireccionara mis ligas directamente fue lo que me confundio mucho, entonces a donde se direcciona? uuuuy, disculpas, pero sigo sin entender "naita, naita"

Carlos.

Última edición por carlmty; 25/08/2004 a las 16:46
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 23:09.