Foros del Web » Programando para Internet » PHP »

Error al poner headlines de cutenews en una marquesina

Estas en el tema de Error al poner headlines de cutenews en una marquesina en el foro de PHP en Foros del Web. Bueno .. ya te comenté en el otro mensaje que si el "texto" de la marquesina (para la rutina javascript) usa comillas (simples o dobles) ...
  #1 (permalink)  
Antiguo 30/07/2004, 07:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. ya te comenté en el otro mensaje que si el "texto" de la marquesina (para la rutina javascript) usa comillas (simples o dobles) abría que "escaparlas" como ahí mismo te dice la documentación de ese script javacript.

Según el ejemplo de la parte PHP de "cutenews" que genera el HTML que aquí pusistes (el "como llega" si es por médio de un template o código HTML a mano es lo de menos) lo hace al llamar a:

include("news/show_news.php");

Así que .. lo que te interesa es:
1) capturar la salida que entrege dicha porción de código al ejecutarse (el HTML/etc resultante)
2) aplicar cierta función para "escapar" los caracteres problemáticos para cumplir los requerimientos de tu rutina javacript.

Para el punto 1: debes controlar el buffer de salida de PHP con las funciones ob_start() y afines

<?
Código PHP:
<?PHP
$PHP_SELF 
"noticies/index.php";
$static TRUE;
$number "5";
$category "1,3";
$template "Headlines";
ob_start();
include(
"news/show_news.php");
$marquesina_datos=ob_get_contens();
ob_end_clean();
?>
así ya podrás disponer del "HTML" (salida) generada por tu "include()" en la variable $marquesina_datos para que la filtres como requieras y usarla en la parte javacript final.

Podría ser:
Código PHP:
<?
$marquesina_datos 
addslashes($marquesina_datos);
?>
Y de ahí a tu parte javacript:

Código:
var marqueecontent='<? echo $marquesina_datos ?>'
Si observas algún problema de javacript .. lo que debes hacer es ver bien que HTML se está generando en esa parte concreta javacript (que "creamos" dinámicamente) y ver que sintax tiene para seguir los requerimientos que pide dicha rutina javascript.

Un saludo,

Última edición por Cluster; 30/07/2004 a las 13:42
  #2 (permalink)  
Antiguo 30/07/2004, 08:14
 
Fecha de Ingreso: marzo-2003
Mensajes: 27
Antigüedad: 14 años, 8 meses
Puntos: 0
Me sale el siguiente error:

Fatal error: Call to undefined function: ob_gets_contens() in /home/bdzgt/public_html/headlines2.php on line 14
  #3 (permalink)  
Antiguo 30/07/2004, 08:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues me equivoqué en la sintax .. pero podrías haber hechado un vistazo tu al manual y de paso saber que hacen esas funciones ..

Lo correcto es:
ob_get_contents

más info:
http://www.php.net/manual/en/ref.outcontrol.php

Un saludo,
  #4 (permalink)  
Antiguo 30/07/2004, 13:30
 
Fecha de Ingreso: marzo-2003
Mensajes: 27
Antigüedad: 14 años, 8 meses
Puntos: 0
Ya funciona, muchas gracias! :)

Aunque ya estaba bien el ob_get_contents(), lo que faltaba era () en el ob_end_clean.

Última edición por neo_dac; 30/07/2004 a las 13:35
  #5 (permalink)  
Antiguo 30/07/2004, 13:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Me alegro que te funcione ..

Suelo escribir el código -sin probarlo- (por qué normalmente mi respuesta es "orientativa" no a la carta).

Un saludo,

PD: (voy a corregir el código por si alquien va a usarlo).
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 20:40.