12-26-2023, 09:33 AM
Función: Obtiene la segunda (2) imagen (si existe) que tenga el cuerpo del post.
Capturas
En c.core.php --> inc --> class --> c.core.php
Al final antes de la última llave } agregar:
En c.posts.php --> inc --> class --> c.posts.php
Buscar:
Debajo agregar:
La variable obtenida para la URL de la imagen es:
En m.home_last_posts.tpl --> themes --> default --> templates --> modules --> m.home_last_posts.tpl
Acomodan la imagen como quieran:
Ejemplo en el tema DEFAULT
Buscar:
Antes de:
Agregar:
Queda así:
Suben una imagen con el nombre no-portada.jpg a la carpeta images --> themes --> default --> images --> no-portada.jpg para poner una portada por defecto.
Creditos: kmario19
Capturas
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
En c.core.php --> inc --> class --> c.core.php
Al final antes de la última llave } agregar:
Código PHP:
/*
* Sacar imagen del post
* si hay mas de una imagen, tomamos la 2 (casi siempre la 1 es de "bienvenido")
*/
function extraer_img($texto) {
// del tipo [img=imagen] o [img]imagen[/img]
preg_match_all('/(\[img(\=|\]))((http|https)?(\:\/\/)?([^\<\>[:space:]]+)\.(jpg|jpeg|png|gif))(\]|\[\/img\])/i', $texto, $imgs);
$total = count($imgs[3]);
// Sacamos la mejor imagen posible ._.
$img = (count($imgs[3]) > 1) ? $imgs[3][1] : $imgs[3][0];
if(empty($img)) $img = false;
//
return $img;
}
En c.posts.php --> inc --> class --> c.posts.php
Buscar:
Código PHP:
$lastPosts['data'] = result_array($query);
Debajo agregar:
Código PHP:
foreach($lastPosts['data'] as $id => $row){
$lastPosts['data'][$id]['post_cover'] = $tsCore->extraer_img($lastPosts['data'][$id]['post_body']);
}
La variable obtenida para la URL de la imagen es:
Código PHP:
{$p.post_cover}
En m.home_last_posts.tpl --> themes --> default --> templates --> modules --> m.home_last_posts.tpl
Acomodan la imagen como quieran:
Código PHP:
<img src="{if $p.post_cover}{$p.post_cover}{else}{$tsConfig.images}/no-portada.jpg{/if}">
Ejemplo en el tema DEFAULT
Buscar:
Código PHP:
<a {if $p.post_status == 3}class="qtip" title="El post está en revisión"{elseif $p.post_status == 1}class="qtip" title="El post se encuentra en revisión por acumulación de denuncias"{elseif $p.post_status == 2}class="qtip" title="El post está eliminado"{elseif $p.user_activo == 0}class="qtip" title="La cuenta del usuario está desactivada"{elseif $p.user_baneado == 1}class="qtip" title="La cuenta del usuario está suspendida"{/if} class="title {if $p.post_private}categoria privado{/if}" alt="{$p.post_title}" title="{$p.post_title}" target="_self" href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html">{$p.post_title|truncate:50}</a>
Antes de:
Código PHP:
{$p.post_title|truncate:50}
Agregar:
Código PHP:
<img src="{if $p.post_cover}{$p.post_cover}{else}{$tsConfig.images}/no-portada.jpg{/if}" style="float: left;width: 45px;height: 33px;margin-right: 10px;">
Queda así:
Código PHP:
<a {if $p.post_status == 3}class="qtip" title="El post está en revisión"{elseif $p.post_status == 1}class="qtip" title="El post se encuentra en revisión por acumulación de denuncias"{elseif $p.post_status == 2}class="qtip" title="El post está eliminado"{elseif $p.user_activo == 0}class="qtip" title="La cuenta del usuario está desactivada"{elseif $p.user_baneado == 1}class="qtip" title="La cuenta del usuario está suspendida"{/if} class="title {if $p.post_private}categoria privado{/if}" alt="{$p.post_title}" title="{$p.post_title}" target="_self" href="{$tsConfig.url}/posts/{$p.c_seo}/{$p.post_id}/{$p.post_title|seo}.html"><img src="{if $p.post_cover}{$p.post_cover}{else}{$tsConfig.images}/no-portada.jpg{/if}" style="float: left;width: 45px;height: 33px;margin-right: 10px;">{$p.post_title|truncate:50}</a>
Suben una imagen con el nombre no-portada.jpg a la carpeta images --> themes --> default --> images --> no-portada.jpg para poner una portada por defecto.
Creditos: kmario19