He estado viendo el codigo donde se supone que hace la llamada sql y demás y este es el código entero por que no se si algunas otras partes del código hay que modificarlas...
Codigo.php
<?php/** * @version SVN: $Id$ * @package mod_topratedcontentmodule * @author Mathias Hortig {@link http://tuts4you.de/} * @license GNU/GPL */// No direct access defined( '_JEXEC' ) or die( 'Restricted access' ); jimport( 'joomla.application.component.model' );jimport( 'joomla.html.parameter' );class mod_topratedcontentmodulehelper{ function GetRatedArticlesList(&$params) { require_once JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php'; $db =& JFactory::getDBO(); $query = "SELECT cc.title AS category, a.id, a.title, DATE_FORMAT(a.created,'%d.%m.%Y') as created, u.username, a.hits, cc.id as catid, format((r.rating_sum / r.rating_count), 2) as averagerating FROM #__content AS a LEFT JOIN #__categories AS cc ON a.catid = cc.id LEFT JOIN #__users AS u ON u.id = a.created_by LEFT JOIN #__content_rating as r ON a.id = r.content_id WHERE r.rating_count is not null"; if($params->get('showOnlyPublicPosts') == 0) { $query .= " and a.access = 1 "; } $query .= " ORDER BY (r.rating_sum / r.rating_count) desc, rating_count desc"; if($params->get('articleCount') != 0) { $query .= " LIMIT 0, " . $params->get('articleCount'); } $db->setQuery( $query ); $table = $db->loadObjectList(); $html .= '<ul id="topratedcontentmodule">'; foreach($table as $row) { $html .= '<li>'; $html .= '<a title="' . JText::_('MOD_TOPRATEDCONTENTMODULE_AVERAGERATING') . ': ' . $row->averagerating . '" href="' . JRoute::_(ContentHelperRoute::getArticleRoute($row->id, $row->catid)) . '">'.$row->title.'</a>'; $html .= '</li>'; } $html .= '</ul>'; return $html; }}
Si ya vi hace tiempo que era esa función... probe en varias ocasiones a modificar la sql por la que me diste y seguia sin mostrarme nada de información... tambien he visto que en el contenido de la carpeta mod_topratedcontentmodule me aparecen 4 archuivos...
1º index.html
2º mod_topratedcontentmodule.php
3º mod_topratedcontentmodule.xml
4º mod_topratedcontentmodulehelper.php
el 1º solo contiene un estilo de color de fondo en blanco...
2º
<?php/** * @version SVN: $Id$ * @package mod_topratedcontentmodule * @author Mathias Hortig {@link http://tuts4you.de/} * @license GNU/GPL */// No direct accessdefined( '_JEXEC' ) or die( 'Restricted access' ); // Require the base controller require_once(dirname(__FILE__).DS.'mod_topratedcontentmodulehelper.php');echo mod_topratedcontentmodulehelper::GetRatedArticlesList($params);
3º contiene lo que sería los datos del panel de administración de la configuración
4º
<?php/** * @version SVN: $Id$ * @package mod_topratedcontentmodule * @author Mathias Hortig {@link http://tuts4you.de/} * @license GNU/GPL */// No direct access defined( '_JEXEC' ) or die( 'Restricted access' ); jimport( 'joomla.application.component.model' );jimport( 'joomla.html.parameter' );class mod_topratedcontentmodulehelper{ function GetRatedArticlesList(&$params) { require_once JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php'; $db =& JFactory::getDBO(); $query = "SELECT cc.title AS category, a.id, a.title, DATE_FORMAT(a.created,'%d.%m.%Y') as created, u.username, a.hits, cc.id as catid, format((r.rating_sum / r.rating_count), 2) as averagerating FROM #__content AS a LEFT JOIN #__categories AS cc ON a.catid = cc.id LEFT JOIN #__users AS u ON u.id = a.created_by LEFT JOIN #__content_rating as r ON a.id = r.content_id WHERE r.rating_count is not null"; if($params->get('showOnlyPublicPosts') == 0) { $query .= " and a.access = 1 "; } $query .= " ORDER BY (r.rating_sum / r.rating_count) desc, rating_count desc"; if($params->get('articleCount') != 0) { $query .= " LIMIT 0, " . $params->get('articleCount'); } $db->setQuery( $query ); $table = $db->loadObjectList(); $html .= '<ul id="topratedcontentmodule">'; foreach($table as $row) { $html .= '<li>'; $html .= '<a title="' . JText::_('MOD_TOPRATEDCONTENTMODULE_AVERAGERATING') . ': ' . $row->averagerating . '" href="' . JRoute::_(ContentHelperRoute::getArticleRoute($row->id, $row->catid)) . '">'.$row->title.'</a>'; $html .= '</li>'; } $html .= '</ul>'; return $html; }}
eso es el contenido de los archivos de mi carpeta...
Tambien me gustaría puntualizar una cosa cuando en el inicio de nuestra larga ya conversación te comente mi problema... te dije donde estba el archivo para descargarlo... y habia 2 uno de ellos ponia module y el otro no ponia nada... yo tengo los 2 instalados... y si me voy a gestor de extensiones... me pone esto...
IMAGEN33.jpg
Es decir uno lo pone como modulo y otro como componente y adesmas uno es administrador y otro sitio...
Te digo esto por si te sirve de información ...
Pero por el momento tu me has dicho unos archivos y uno de ellos no lo tengo yo ya que yo tengo 2 archivos con extension .php y tu me has dicho de 3...
y entre otras cosas también decir, que en los 2 archivos de php, ambos llaman a esa funcion solo que uno lo llama con el argumento (&$params) y el otro lo llama sin argumentos...
Espeor averte servido de alguna ayuda mas... sobre esta problematica...
Un saludo y nuevamente mmuchas gracias...
Guarda aparte una copia de seguridad por si tienes que recuperar el código original. El archivo mod_topratedcontenmodelhelper.php en la ruta \mod_topratedcontentmodule\mod_topratedcontentmodule debería quedar aproximadamente así (como está abajo). Prueba a poner este código como contenido del archivo y publicar un módulo a ver qué es lo que hace, en teoría debería mostrarte los nombres de los aviones y la puntuación ordenados según la consulta ¿te responde así?:
<?php/** * @version SVN: $Id$ * @package mod_topratedcontentmodule * @author Mathias Hortig {@link http://tuts4you.de/} * @license GNU/GPL */// No direct access defined( '_JEXEC' ) or die( 'Restricted access' ); jimport( 'joomla.application.component.model' );jimport( 'joomla.html.parameter' );class TopRatedContentModuleModelTopRatedContentModule extends JModel{ function GetRatedArticlesList() { require_once JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php'; $db =& JFactory::getDBO(); //Cambio introducido en la consulta $query = "SELECT tab1.name AS titulo, AVG(tab2.value) AS rating, COUNT(tab2.item_id) AS votos FROM AC_zoo_item AS tab1 LEFT JOIN AC_zoo_rating as tab2 ON tab1.id = tab2.item_id GROUP BY item_id ORDER BY rating DESC, votos DESC LIMIT 0, 30"; /* Esto en principio dejarlo comentado if($params->get('showOnlyPublicPosts') == 0) { $query .= " and a.access = 1 "; } $query .= " ORDER BY (r.rating_sum / r.rating_count) desc, rating_count desc"; if($params->get('articleCount') != 0) { $query .= " LIMIT 0, " . $params->get('articleCount'); } */ $db->setQuery( $query ); $table = $db->loadObjectList(); $html = '<ul id="topratedcontentmodule">'; foreach($table as $row) { $html .= '<li>'; $html .= $row->title.'<br/> Valoración media:' . $row->rating; $html .= '</li>'; } $html .= '</ul>'; return $html; }}