10-22-2022, 09:08 AM
(Última modificación: 10-27-2022, 11:33 PM por Chctrpgo.
Razón: Añadir prefijo
)
6

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
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!
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:
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

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!

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:
Código PHP: ( Seleccionar Todo )
/*
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 :
ahora en posts.php buscamos:
->y debajo agregamos :
->ahora en c.tops.php buscamos:
-> debajo agregamos:
->Ahora al final de estilos.css agregas:
->Finalmente borras todo el contenido del archivo m.posts_related.tpl y lo remplazan por esto:
Código PHP: ( Seleccionar Todo )
/*
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'] == 1 ? '' : ' && 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'] == 1 ? '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:
Código: ( Seleccionar Todo )
$smarty->assign("tsRelated",$tsRelated);->y debajo agregamos :
Código PHP: ( Seleccionar Todo )
// TOP POSTS
$smarty->assign("tsTopPosts",$tsTops->getTopPostsPost());
//POST RECIENTES
$smarty->assign("tsPostsRecientes",$tsPosts->getPostsRecientesPost());
->ahora en c.tops.php buscamos:
Código: ( Seleccionar Todo )
/*
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:
Código PHP: ( Seleccionar Todo )
/*
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:
Código PHP: ( Seleccionar Todo )
.descubripublicaciones {
background: #fff;
width: 60%;
margin-right: 22px;
border: 1px solid #cfcfcf;
float: left;
-moz-border-radius: 5px;
}
.descubripublicaciones h4 {
padding: 12px 10px;
margin: 0;
font-size: 14px;
text-align: center;
color: #444;
background: #d7d7d7;
border-bottom: 1px solid #c7c7c7;
}
.descubripublicaciones ul {
margin: 0px 1px 10px;
overflow: hidden;
}
.descubripublicaciones a {
float: left;
margin: 0px 0px;
padding: 10px 4px;
font-weight: 600;
width: 77%;
font-size: 12px;
}
.descubripublicaciones a:hover{
text-decoration:none;
color:blue;
}
.descubripublicaciones img {
width: 20%;
float: left;
display: block;
height: 65px;
padding: 2px;
margin: 0 auto;
}
.lipublicacion {/*<li>*/
clear: both;
font-size: 12px;
height: 70px;
border-bottom: 1px solid #d7d7d7;
padding: 3px 3px 3px 3px;
}
li.menudescubri{
position: relative;
display: block;
border-bottom: 1px solid #E3e3e3;
width: 100%;
height: 40px;
}
li.menudescubri a{
text-align:center;
float: left;
display: block;
width: 30%;
}
->Finalmente borras todo el contenido del archivo m.posts_related.tpl y lo remplazan por esto:
Código PHP: ( Seleccionar Todo )
<div id="topsPostBox">
<div class="box_title">
<div class="box_txt estadisticas">TOPs posts <a class="size9" href="{$tsConfig.url}/top/">(Ver má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órico</a>
</div>
<ol id="filterByAyer" class="filterBy cleanlist" style="display:none;">
{foreach from=$tsTopPosts.ayer key=i item=p}
<li>
{if $i+1 < 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+1 < 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+1 < 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+1 < 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



Facebook
Twitter
Reddit
Digg
del.icio.us
Tumblr
Pinterest
Blogger
Fark
LinkedIn
Mix
Google