¡Bienvenido! ¿Aún no estás registrado?, deberás registrarte antes de poder usar el Chat, Comentar y Descargar en el Foro. Usa un email válido para la activación.
Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

COMPLEMENTOS (MOD) Descubrir mas publicaciones T!
#1

6
Mejor respuesta del mensaje (MOD) Descubrir mas publicaciones T!
Hola a todos de nuevo, vengo con otro aporte este un poco mas sencillo.
Estaba viendo que idea le podia robar a T! (un clasico :v) y vi que en los post, ademas de los post relacionados, tenian populares (tops) y recientes, asi que me puse a programar algo asi para el script Big Grin


Captura T!
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Captura del mod:

[img]Registrate o inicia tu sesión para ver este contenido[/img]


Lo hice para la default, pero si alguien quiere que lo adapte a algun theme en especifico me lo comenta! Big Grin

Tambien dejo un GIF porque pinto >:v

[img]Registrate o inicia tu sesión para ver este contenido[/img]


PD: Solo tengo esos post en mi localhost asi que no cambian mucho lo que aparece en cada uno, pero en una web funcional con varios post, funciona perfecto!
Ahora si pasemos a la instalacion:

 
-> en c.posts.php buscamos:
    /*
        getRelated()
    */
    
function getRelated($tags){
        global 
$tsCore$tsUser;
        
// ES UN ARRAT AHORA A UNA CADENA
        
if(is_array($tags)) $tags implode(", ",$tags);
        else 
str_replace('-',', ',$tags);
        
//
        
$query db_exec(array(__FILE____LINE__), 'query'"SELECT DISTINCT p.post_id, p.post_title, p.post_category, p.post_private, c.c_seo, c.c_img FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE MATCH (post_tags) AGAINST ('$tags' IN BOOLEAN MODE) AND p.post_status = 0 AND post_sticky = 0 ORDER BY rand() LIMIT 0,10");
        
//
        
$data result_array($query);
        
        
//
        
return $data;
    } 
-> y lo remplazamos por :
 
    /*
        getRelated()
    */
    
function getRelated($tags){
        global 
$tsCore$tsUser;
        
// ES UN ARRAT AHORA A UNA CADENA
        
if(is_array($tags)) $tags implode(", ",$tags);
        else 
str_replace('-',', ',$tags);
        
//
        
$query db_exec(array(__FILE____LINE__), 'query'"SELECT DISTINCT p.post_id, p.post_title, p.post_portada, p.post_category, p.post_private, c.c_seo, c.c_nombre, c.c_img FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE MATCH (post_tags) AGAINST ('$tags' IN BOOLEAN MODE) AND p.post_status = 0 AND post_sticky = 0 ORDER BY rand() LIMIT 0,6");
        
//
        
$data result_array($query);
        
        
//
        
return $data;
    }
    
    
/*
    Post Recientes 
    :Si, de nuevo!
    Pero esto lo utilizamos para mejorar los post recomendados dentro del mismo post.
    By airkpo@solucionesinformaticas
    */
    
function getPostsRecientesPost(){
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT p.post_id, p.post_title, p.post_category, p.post_portada, p.post_private, c.c_seo, c.c_nombre  FROM p_posts AS p LEFT JOIN u_miembros AS u ON p.post_user = u.user_id  '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == '' ' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 'p.post_id > 0' 'p.post_status = \'0\' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' GROUP BY p.post_id ORDER BY p.post_id DESC LIMIT 6');
        
$data result_array($query);
        return 
$data;
    } 

ahora en posts.php buscamos:
 
        $smarty->assign("tsRelated",$tsRelated);

->y debajo agregamos :
 
            // TOP POSTS
            
$smarty->assign("tsTopPosts",$tsTops->getTopPostsPost());
            
//POST RECIENTES
            
$smarty->assign("tsPostsRecientes",$tsPosts->getPostsRecientesPost()); 

->ahora en c.tops.php buscamos:
 
    /*
        getHomeTopUsers()
        : TOP DE USUARIOS semana, histórico
    */
    function getHomeTopUsers(){
        // AYER
        $data['ayer'] = $this->getHomeTopUsersQuery($this->setTime(2));
        // SEMANA
        $data['semana'] = $this->getHomeTopUsersQuery($this->setTime(3));
        // MES
        $data['mes'] = $this->getHomeTopUsersQuery($this->setTime(4));
        // HISTÓRICO
        $data['historico'] = $this->getHomeTopUsersQuery($this->setTime(5));
        //
        return $data;
    }

-> debajo agregamos:
 
    /*
        Top Post para dentro de los post
        :Solo me interesa cambiar el limite y agregar portada asi que casi lo mismo
    */
    
    
function getTopPostsPost(){
        
//Incluimos solo el semanal
        
$data['semana'] = $this->getTopPostsPostQuery($this->setTime(3));
        
//Tambien mensual porque en localhost no tenemos buenas estadisticas 
        
$data['mes'] = $this->getTopPostsPostQuery($this->setTime(4));
        
        return 
$data;
    }
    function 
getTopPostsPostQuery($date){
        
        
        
//
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT p.post_id, p.post_category, p.post_title, p.post_portada, p.post_puntos, c.c_seo, c.c_nombre FROM p_posts AS p LEFT JOIN p_categorias AS c ON c.cid = p.post_category  WHERE p.post_status = 0 AND p.post_date BETWEEN \''.$date['start'].'\' AND \''.$date['end'].'\' ORDER BY p.post_puntos DESC LIMIT 6');
        
$data result_array($query);
        
        
//
        
return $data;
    } 

->Ahora al final de estilos.css agregas:
 
.descubripublicaciones {
    
background#fff;
    
width60%;
    
margin-right22px;
    
border1px solid #cfcfcf;
    
floatleft;
    -
moz-border-radius5px;
}
.
descubripublicaciones h4 {
padding12px 10px;
    
margin0;
    
font-size14px;
    
text-aligncenter;
    
color#444;
    
background#d7d7d7;
    
border-bottom1px solid #c7c7c7;
}
.
descubripublicaciones ul {
    
margin0px 1px 10px;
    
overflowhidden;
}
.
descubripublicaciones a {
floatleft;
    
margin0px 0px;
    
padding10px 4px;
    
font-weight600;
    
width77%;
    
font-size12px;
}
.
descubripublicaciones a:hover{
text-decoration:none;
color:blue;
}
.
descubripublicaciones img {
width20%;
    
floatleft;
    
displayblock;
    
height65px;
    
padding2px;
    
margin0 auto;
}
.
lipublicacion {/*<li>*/
    
clearboth;
    
font-size12px;
    
height70px;
    
border-bottom1px solid #d7d7d7;
    
padding3px 3px 3px 3px;
}
li.menudescubri{
    
positionrelative;
    
displayblock;
    
border-bottom1px solid #E3e3e3;
    
width100%;
    
height40px;
}
li.menudescubri a{
    
text-align:center;
    
floatleft;
    
displayblock;
    
width30%;



->Finalmente borras todo el contenido del archivo m.posts_related.tpl y lo remplazan por esto:
 
                    <div id="topsPostBox">
                        <
div class="box_title">
                            <
div class="box_txt estadisticas">TOPs posts <class="size9" href="{$tsConfig.url}/top/">(Ver m&aacute;s)</a></div>
                            <
div class="box_rss">
                                <
a href="/rss/top-post-semana"><span class="systemicons sRss"></span></a>
                            </
div>
                        </
div>
                        <
div class="box_cuerpo" style="padding: 0pt; height: 330px;">
                            <
div class="filterBy">
                                <
a href="javascript:TopsTabs('topsPostBox','Ayer')" id="Ayer">Ayer</a> -
                                <
a href="javascript:TopsTabs('topsPostBox','Semana')" id="Semana"{if $tsTopPosts.semana} class="here"{/if}>Semana</a> -
                                <
a href="javascript:TopsTabs('topsPostBox','Mes')" id="Mes">Mes</a> -
                                <
a href="javascript:TopsTabs('topsPostBox','Historico')" id="Historico"{if !$tsTopPosts.semana} class="here"{/if}>Hist&oacute;rico</a>
                            </
div>
                            <
ol id="filterByAyer" class="filterBy cleanlist" style="display:none;">
                            {foreach 
from=$tsTopPosts.ayer key=i item=p}
                                <
li>
                                    {if 
$i+10}0{/if}{$i+1}.
                                    <
a href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|truncate:45}</a>
                                    <
span>{$p.post_puntos}</span>
                                </
li>
                            {/foreach}
                            </
ol>
                            <
ol id="filterBySemana" class="filterBy cleanlist" style="display:{if $tsTopPosts.semana}block{else}none{/if};">
                            {foreach 
from=$tsTopPosts.semana key=i item=p}
                                <
li>
                                    {if 
$i+10}0{/if}{$i+1}.
                                    <
a href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|truncate:45}</a>
                                    <
span>{$p.post_puntos}</span>
                                </
li>
                            {/foreach}
                            </
ol>
                            <
ol id="filterByMes" class="filterBy cleanlist" style="display:none;">
                            {foreach 
from=$tsTopPosts.mes key=i item=p}
                                <
li>
                                    {if 
$i+10}0{/if}{$i+1}.
                                    <
a href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|truncate:45}</a>
                                    <
span>{$p.post_puntos}</span>
                                </
li>
                            {/foreach}
                            </
ol>
                            <
ol id="filterByHistorico" class="filterBy cleanlist" style="display:{if !$tsTopPosts.semana}block{else}none{/if};">
                            {foreach 
from=$tsTopPosts.historico key=i item=p}
                                <
li>
                                    {if 
$i+10}0{/if}{$i+1}.
                                    <
a href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|truncate:45}</a>
                                    <
span>{$p.post_puntos}</span>
                                </
li>
                            {/foreach}
                            </
ol>
                        </
div>
                        <
br class="space"/>
                    </
div
 
Listo eso seria todo, muchas gracias por pasar! -dale
Responder
#2

0
Gracias
Responder
#3

0
Gracias
Responder
#4

0
Gracias
Responder


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)