La pregunta es la siguiente, tenemos contenidos distribuidos por categorias en k2, queremos introducir un modulo html que se muestre solo en la vista item de una categoria concreto y no lo conseguimos.
Actualmente, la única forma que tenemos de verlo en la vista item (donde se lee el articulo completo) es asignar el modulo a todos los items de menu, pero claro, tambien aparece en categorias donde no queremos que aparezca.
¿conoceis algun modo de solucionar esto? Gracias
URL del sitio: Contenido solo visible a usuarios registrados
Hola,
Tendrías que utilizar la extensión Metamod, aquí ves un ejemplo de como lo hacen con Metamod:
http://www.metamodpro.com/forums/topic?id=466
Desde aquí se puede bajar el Metamod, también tienen una versión Metamod Pro de pago:
http://www.metamodpro.com/metamod/download
Tienes que mirar que versión de Joomla usas para bajarte la versión correcta, realiza un backup antes de instalar una extensión.
Hola Lucas, parece que es lo que necesito, he estado haciendo pruebas, pero aun no lo he hecho funcionar, algo no estoy haciendo bien, he posteado en el foro del desarrollador a ver si me arroja luz sobre la configuracion óptima, muchas gracias por la info.
Entiendo entonces, que esto que quiero no se puede hacer de forma estandard en Joomla si no es con extensiones de terceros.
Hola,
Por defecto Joomla o K2 no te permiten realizar lo que comentas, tendrías que modificar el código pero para eso es mejor que uses MetaMod.
Por curiosidad nos pegas el código que estás usando o el link al post del foro de MetaMod para que veamos que colocas?
Hola Lucas, pues ahora mismo sigo con ello, he puesto este:
$k2 = JomGenius("k2");
if ( ! $k2->check("pagetype = item.view")) return; // bypass if we are not on an item view page
$cat = $k2->info("category_id");
if ($cat == 50 ) return 719;
// replace XXX with module id to use for category 1
// replace YYY with module id to use for category 2
// and add as many more lines like this as you like...
}
La cateogira de k2 a la que pertenecen los articulos donde quiero mostrar el modulo es la id=50 y el moduleid= 719 del modulo que quiero mostrar, pero no me funciona.
También acabo de probar esto, pero tampoco me ha funcionado:
if ($option == "com_k2" and $view == "item") {
$query = "select c1.id as id1, c2.id as id2, c3.id as id3 from #__k2_items i
left join #__k2_categories c1 on i.catid = c1.id
left join #__k2_categories c2 on c1.parent = c2.id
left join #__k2_categories c3 on c2.parent = c3.id
where i.id = " . ( (int) $id ) ;
$db->setQuery( $query );
$catids = $db->loadRow();
if ( is_array( $catids ) ) {
if ( in_array( 50, $catids ) ) return 719; // check for cat 2...
}
}
Hola,
Entiendo que has verificado antes que el metamod te esté funcionando mostrando módulos en otros sitios que no sea k2 para asegurarte que lo tienes correctamente configurado, si no hazlo a ver.
Cuando estés seguro que se el metamod esté publicado y se esté ejecutando para todas las opciones de menú y te vaya en otros apartados modifica el código que pruebas para que te pinte los valores que compruebas.
Activa el debug de metamod.
Hola Lucas, cuando le asigno todos los items de menu, pinta, pero claro, yo quiero que solo lo haga en los articulos mostrados que pertenezcan a una categoria concreta y esto es lo que no me funciona
EDITO
====
Ya funciona correctamente, la ayuda del desarrollador ha sido definitiva, gracias también a ti Lucas porque me has puesto en el camino correcto, quedo muy agradecido por tu ayuda. Un saludo