Avatar Image
@man / @woman
@man / @woman

Estoy pensando cómo conseguir que debajo de cada artículo aparezca un enlace hacia un artículo relacionado. Lo suyo es que fuera a partir de las tags, pero como ni siquiera las tengo activas la idea sería hacerlo a partir de la categoría. Se me ocurre que

- tendría que sacar la categoría a la que pertenece (ésto se cómo hacerlo)
- tendría que sacar una matriz (se llama así, ¿no?) un array (gracias por la corrección) con todos los artículos que pertenecen a esa categoría, que no se mostraría en el artículo
- a continuación con un random sacar uno de esos artículos y mostrarlo (esto creo que sé cómo hacerlo)

Así que necesito ayuda con la segunda parte. Lo que necesito es cómo sacar esa lista de elementos. Alguna forma tiene que haber, puesto que al navegar por las categorías se muestran los artículos de cada una, pero no veo cómo hacerlo... No se cómo de forma automática, porque creo que podría hacerse copiando a mano en archivos externos los títulos y enlaces de cada categoría y que el script busque un archivo u otro según la categoría...

Pero otra cosa que estoy pensando ahora es que si entendí lo que Tito dijo, al mostrar los artículos no se accede a la base de datos, sino que están creadas ya las páginas HTML. Entonces, ¿si consigo meter este código en la plantilla, qué pasaría? ¿esa parte sí accedería a la base de datos cada vez que se cargase el artículo o no? Porque claro, la lista de elementos crece cada día, así que no debería ser algo estático... Suponiendo que pudiera sacar la lista de forma automática, que aún no lo tengo claro...

Help...

---------------------------

Después de mirarlo un par de días más sigo atascada en el punto de los artículos que pertenecen a una categoría. No necesito que me deis el código, ya lo hago yo (es la única forma de aprender) pero una orientación de qué tengo que mirar sí sería de agradecer (y sobre todo, alguien que confirmase que ésto se puede hacer y no estoy perdiendo el tiempo... :8) )

Avatar Image
Colega ;)
Colega ;)

A ver, asi de primeras y sin probar nada ;)

<script type="text/javascript">
<!--
if( typeof(contador)=='undefined' ) {
    var contador = 0; 
}
(function(num) {
    document.write('<div id="relacionados_'+num+'"></div>');
    jQuery.get('<@EnlaceCategoriaUrl@>', function(data) {
        // data es el html de la pagina donde se listan los articulos de una categoria
        // Aplicamos una expresion regular para tener el titulo y la url de todos los articulos
        var articulos = data.match(/<a href="[0-9]{4}/[0-9]{2}/[0-9{5}].*?\.html">[^<]+<\/a>/gi);
        // Si tenemos artilulos sacamos la lista, sino eliminamos la parte de relacionados
        if( articulos.length>0 ) {
            jQuery('#relacionados_'+num).html(articulos.join('<br/>')); 
        } else {
            jQuery('#relacionados_'+num).remove(); 
        }
    });
})(contador);
contador++;
//->
</script>

Este codigo tendria que ir en la plantilla dentro del bloque <BloqueEnlaceCategoria>

Ni que decir tiene que casi seguro no funcionara de primeras (no lo he probado) y es MUY mejorable (por ejemplo cacheando la peticion de una categoria para si estamos en la lista de articulos y hay mas de uno de la misma categoria no repetir la llamada).

Ademas, lo que esta haciendo ahora mismo es sacar TODO el listado de articulos que tiene la categoria (y puede que hasta saque de mas...), se tendria que hacer un random y sacar N articulos nada mas.

Lo dicho, si saco un rato lo programo mejor, pero de momento aqui te lo dejo para que puedas hacer pruebas ;)

PD: Este codigo utiliza jquery, pero todos los blogs de miarroba lo tienen de serie ;)

PD2: Este codigo es "dinamico" ya que hace la peticion cuando un usuario ve la pagina y por lo tanto al crear un articulo nuevo la pagina de las categorias esta actualizada.

Avatar Image
@man / @woman
@man / @woman

Gracias!!!!!! :-/

Lo del random y lo de sacar solo un número de artículos creo que lo puedo hacer. Estos días lo pruebo y ya os diré algo :)

Y hasta me has comentado el código, qué detalle, gracias Tito :)

Avatar Image
Colega ;)
Colega ;)

Pues mal empezamos, entro a ver la respuesta y al mirar el codigo me encuentro el primer fallo :D

Edito el codigo ... y ten en cuenta que es para que puedas hacer pruebas, en otro momento hare uno en condiciones ;)

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
No se han encontrado temas similares