1
Idear para mejorar mods / Re:Bloque con temas relevantes
« on: September 03, 2011 - 05:07 17:07 »Si, te entiendo, lo ponemos como feature para agregarle al portal. Nosotros tenemos algo asi, pero lo que hacemos es poner el board news con solo 2 foros que es el de mods y el de anuncios, entonces en la portada solo salen los mods nuevos que es nuestro contenido mas importante y los anuncios.
Encontré una alternativa ideal, aunque no se si podría servir para otros casos..
Edité el archivo Subs-UltimatePortal.php en donde hay dos querys. En ambas consultas crucé los datos con la tabla "calendar" y añadí un filtro "calendar.start_date >= curdate()"
Con ello, cualquier tema que se agregue al calendario, aparecerá en portada y desaparecerá automáticamente cuando pase la fecha...
Saludos!
Show content
SELECT count(m.id_topic)
FROM {db_prefix}topics AS t
INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
INNER JOIN {db_prefix}boards AS b ON (b.id_board = t.id_board)
INNER JOIN {db_prefix}messages AS ms ON (ms.id_msg = t.id_first_msg)
LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = m.id_member)' . (!$user_info['is_guest'] ? '
LEFT JOIN {db_prefix}log_topics AS lt ON (lt.id_topic = t.id_topic AND lt.id_member = {int:current_member})
LEFT JOIN {db_prefix}log_mark_read AS lmr ON (lmr.id_board = b.id_board AND lmr.id_member = {int:current_member})' : '') . '
inner join smf_calendar as cal on cal.id_topic = t.id_topic
WHERE m.id_topic > 0
and date(cal.start_date) >= CURDATE()
#AND b.id_board = 10
AND {query_wanna_see_board}' . ($modSettings['postmod_active'] ? '
AND t.approved = {int:is_approved}
AND m.approved = {int:is_approved}' : '') . '
ORDER BY t.id_first_msg DESC
FROM {db_prefix}topics AS t
INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
INNER JOIN {db_prefix}boards AS b ON (b.id_board = t.id_board)
INNER JOIN {db_prefix}messages AS ms ON (ms.id_msg = t.id_first_msg)
LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = m.id_member)' . (!$user_info['is_guest'] ? '
LEFT JOIN {db_prefix}log_topics AS lt ON (lt.id_topic = t.id_topic AND lt.id_member = {int:current_member})
LEFT JOIN {db_prefix}log_mark_read AS lmr ON (lmr.id_board = b.id_board AND lmr.id_member = {int:current_member})' : '') . '
inner join smf_calendar as cal on cal.id_topic = t.id_topic
WHERE m.id_topic > 0
and date(cal.start_date) >= CURDATE()
#AND b.id_board = 10
AND {query_wanna_see_board}' . ($modSettings['postmod_active'] ? '
AND t.approved = {int:is_approved}
AND m.approved = {int:is_approved}' : '') . '
ORDER BY t.id_first_msg DESC