7
![Mejor respuesta del mensaje Redes sociales en perfil [Mejorado][Simplificado] versión 2024](images/thx/star.png)
Redes sociales en perfil
Mejorado y simplificado
Esto es una forma mucho más rápida y sencilla de poder añadir redes sociales a su sitioMejorado y simplificado
Nueva versión.
En inc/ext/datos.php al final agregar esto
Código PHP: ( Seleccionar Todo )
$redes = [
'facebook' => [
'iconify' => 'devicon:facebook',
'nombre' => 'Facebook',
'url' => 'Registrate o inicia tu sesión para ver este contenido'
],
'twitter' => [
'iconify' => 'devicon:twitter',
'nombre' => 'Twitter',
'url' => 'Registrate o inicia tu sesión para ver este contenido'
],
'instagram' => [
'iconify' => 'skill-icons:instagram',
'nombre' => 'Instagram',
'url' => 'Registrate o inicia tu sesión para ver este contenido'
],
'youtube' => [
'iconify' => 'logos:youtube-icon',
'nombre' => 'Youtube',
'url' => 'Registrate o inicia tu sesión para ver este contenido'
],
'twitch' => [
'iconify' => 'logos:twitch',
'nombre' => 'Twitch',
'url' => 'Registrate o inicia tu sesión para ver este contenido'
],
'tiktok' => [
'iconify' => 'logos:tiktok-icon',
'nombre' => 'Tiktok',
'url' => 'Registrate o inicia tu sesión para ver este contenido@'
],
'discord' => [
'iconify' => 'skill-icons:discord',
'nombre' => 'Discord',
'url' => 'Registrate o inicia tu sesión para ver este contenido
],
'reddit' => [
'iconify' => 'logos:reddit-icon',
'nombre' => 'Reddit',
'url' => 'Registrate o inicia tu sesión para ver este contenido
]
];
En inc/class/c.cuenta.php en la funcion loadPerfil() debajo de
Código PHP: ( Seleccionar Todo )
$perfilInfo = $this->unData($perfilInfo);
Agregan
Código PHP: ( Seleccionar Todo )
// Redes viculadas
$perfilInfo['socials'] = empty($perfilInfo['user_socials']) ? '' : json_decode($perfilInfo['user_socials'], true);
En la función unData() buscar
Código PHP: ( Seleccionar Todo )
$data['p_socials'] = unserialize($data['p_socials']);
$data['p_socials']['f'] = $data['p_socials'][0];
$data['p_socials']['t'] = $data['p_socials'][1];
y reemplazar
Código PHP: ( Seleccionar Todo )
// Redes sociales
$data["redes"] = $redes;
$data['p_socials'] = ($data['p_socials'] != NULL) ? json_decode($data['p_socials'], true) : [];
foreach ($redes as $name => $valor) $data['p_socials'][$name];
En la función loadHeadInfo() buscar
Código PHP: ( Seleccionar Todo )
$data['p_socials'] = unserialize($data['p_socials']);
$data['p_socials']['f'] = $data['p_socials'][0];
$data['p_socials']['t'] = $data['p_socials'][1];
y lo reemplazan por
Código PHP: ( Seleccionar Todo )
// Redes Sociales
$data['p_socials'] = '';
if(!empty($data['p_socials'])) {
$data['p_socials'] = json_decode($data['p_socials'], true);
foreach ($redes as $name => $valor) $data['p_socials'][$name];
}
En la función savePerfil() buscar
Código PHP: ( Seleccionar Todo )
// EXTERNAS
$facebook = $tsCore->setSecure($tsCore->parseBadWords($_POST['facebook']), true);
$twitter = $tsCore->setSecure($tsCore->parseBadWords($_POST['twitter']), true);
y lo reemplazan por
Código PHP: ( Seleccionar Todo )
// EXTERNAS, Redes sociales
$red__social = [];
foreach ($_POST["red"] as $llave => $id) $red__social[$llave] = $tsCore->setSecure($tsCore->parseBadWords($id), true);
luego buscan
Código PHP: ( Seleccionar Todo )
'socials' => serialize(array($facebook,$twitter)),
y lo cambian por
Código PHP: ( Seleccionar Todo )
'socials' => json_encode($red__social),
En inc/php/cuenta.php buscan
Código PHP: ( Seleccionar Todo )
$smarty->assign("tsPerfil", $tsPerfil);
debajo agregan
Código PHP: ( Seleccionar Todo )
$smarty->assign("tsRedes", $redes);
En inc/php/perfil.php buscan
Código PHP: ( Seleccionar Todo )
$smarty->assign("tsInfo", $tsInfo);
y debajo agregan
Código PHP: ( Seleccionar Todo )
$smarty->assign("tsRedes", $redes);
En tema/templates/modules/m.cuenta_perfil_me.tpl buscan
Código: ( Seleccionar Todo )
<div class="field">
<label for="ft">Redes sociales</label>
<img src="{$tsConfig.default}/images/icons/facebook.png" width="16" height="16" style="margin:5px; float:left" />
<strong>facebook.com/</strong><input type="text" value="{$tsPerfil.p_socials.f}" maxlength="64" name="facebook" id="ft" class="text cuenta-save-2" style="width:204px"><br />
<img src="{$tsConfig.default}/images/icons/twitter.png" width="16" height="16" style="margin:8px 5px 5px 160px; float:left" />
<strong>twitter.com/</strong><input type="text" value="{$tsPerfil.p_socials.t}" maxlength="64" name="twitter" id="ft2" class="text cuenta-save-2" style="margin-top:3px; width:204px"><br />
</div>y lo reemplazan por
Código: ( Seleccionar Todo )
<div class="field">
<label for="ft">Redes sociales</label>
<div style="display:grid;gap:.3rem;grid-template-columns: repeat(2, 1fr);">
{foreach from=$tsRedes key=name item=red}
<div class="red-item">
<iconify-icon icon="{$red.iconify}"></iconify-icon>
<input type="text" class="text" value="{$tsPerfil.p_socials.$name}" placeholder="{$red.nombre}" name="red[{$name}]">
</div>
{/foreach}
</div>
</div>En tema/templates/modules/m.perfil_sidebar.tpl y arriba de (En realidad lo pueden poner donde ustedes quieran)
Código: ( Seleccionar Todo )
<div style="margin-bottom: 10px">
{$tsConfig.ads_300}
</div>agregan
Código: ( Seleccionar Todo )
{if $tsInfo.p_socials != ''}
<div class="widget w-seguidores clearfix">
<div class="title-w clearfix">
<h3>Redes Sociales</h3>
</div>
<div>
{assign var="redesConContenido" value=[]}
{assign var="redesSinContenido" value=[]}
{foreach $tsRedes key=name item=red}
{if $tsInfo.p_socials.$name != ''}
{assign var="redConContenido" value="<a class='sitio icon icon_$name' target='_blank' href='{$red.url}/{$tsInfo.p_socials.$name}' title='{$red.nombre}' class=''></a>"}
{append var="redesConContenido" value=$redConContenido}
{else}
{assign var="redSinContenido" value="<span class='sitio icon icon_$name icon_off'></span>"}
{append var="redesSinContenido" value=$redSinContenido}
{/if}
{/foreach}
{foreach from=$redesConContenido as $redConContenidoItem}
{$redConContenidoItem}
{/foreach}
{foreach from=$redesSinContenido as $redSinContenidoItem}
{$redSinContenidoItem}
{/foreach}
</div>
<br>
{/if}En perfil.css agregan
Código: ( Seleccionar Todo )
.icon {
display: inline-block;
width: 2rem;
height: 2rem;
margin: 0.3rem;
}
.icon.icon_off {
opacity: .5;
}
.icon.icon_facebook {
background: url('Registrate o inicia tu sesión para ver este contenido no-repeat center center / contain;
}
.icon.icon_twitter {
background: url('Registrate o inicia tu sesión para ver este contenido no-repeat center center / contain;
}
.icon.icon_instagram {
background: url('Registrate o inicia tu sesión para ver este contenido no-repeat center center / contain;
}
.icon.icon_youtube {
background: url('Registrate o inicia tu sesión para ver este contenido no-repeat center center / contain;
}
.icon.icon_twitch {
background: url('Registrate o inicia tu sesión para ver este contenido no-repeat center center / contain;
}
.icon.icon_tiktok {
background: url('Registrate o inicia tu sesión para ver este contenido no-repeat center center / contain;
}
.icon.icon_discord {
background: url('Registrate o inicia tu sesión para ver este contenido no-repeat center center / contain;
}
.icon.icon_reddit {
background: url('Registrate o inicia tu sesión para ver este contenido no-repeat center center / contain;
}Por último tema/templates/t.cuenta.tpl arriba de {include file="sections/main_footer.tpl"} agregan
Código PHP: ( Seleccionar Todo )
<script src="Registrate o inicia tu sesión para ver este contenido"></script>
En cuenta
[img]Registrate o inicia tu sesión para ver este contenido[/img]
En perfil (los de poco color es que no tienen enlaces y no tienen enlace, en cuando vayan agregando los enlaces se verá el color completo)
[img]Registrate o inicia tu sesión para ver este contenido[/img]




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