Advertisement:

Author Topic: como obtener nombre,fecha,imagen etc del creador del post (php)  (Read 434 times)

Offline colcrt

  • Newbie
  • *
  • Posts: 7
como obtener nombre,fecha,imagen etc del creador del post (php)
« on: November 07, 2018, 10:40:35 AM »
hola, primero me disculpo si esto ya lo preguntaron no encontré  :-\

verán como puedo obtener el creador del post mediante php (que variables/funciones lo facilitan en smf) para ponerlo en el titulo principal?
« Last Edit: November 07, 2018, 10:54:32 AM by colcrt »

Offline Rock Lee

  • Local Moderator
  • SMF Hero
  • *
  • Posts: 1,995
  • Gender: Male
  • I also speak english :D
    • BomberCode.Oficial on Facebook
    • RockLee-BC on GitHub
    • @Bomber_Code on Twitter
    • Bomber Code ~ La nueva era del conocimiento
Re: como obtener el creador del post (php)
« Reply #1 on: November 07, 2018, 10:58:00 AM »
Podes buscar por la variable $user_info o sino lo podes sacar con '.$var['poster']['name'].' aunque esta opcion es la que uso con el ssi.php de SMF.


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code © 2018
Ayudas - Aportes - Tutoriales - Y mucho mas!!!


Ayudame via PayPal

Offline vicram10

  • SMF Hero
  • ******
  • Posts: 5,839
  • Gender: Male
  • Founding Father of Ultimate Portal
    • vmrm10 on Facebook
    • @vicram_10 on Twitter
    • Noticias Tecnologicas, Tutoriales e Internet
Re: como obtener nombre,fecha,imagen etc del creador del post (php)
« Reply #2 on: November 07, 2018, 11:11:38 AM »
$user_info es del usuario logueado (inicio session).

se podria analizar en el Subs-Post.php en que parte hace la carga de la variable para mostrar los post.
entonces podes usar algo parecido para determinar lo que necesitas.

pero asi como menciona Rock Lee podes usar el user info

ya que capturaras el momento de crear el topico el nombre del usuario que esta logueado/posteando

Offline MorderBR

  • Jr. Member
  • **
  • Posts: 189
  • Gender: Male
  • Rayzero Subs
    • RayzeroFansub on Facebook
    • @morderbr on Twitter
    • Rayzero Subs
Re: como obtener nombre,fecha,imagen etc del creador del post (php)
« Reply #3 on: November 08, 2018, 01:50:47 AM »
si es únicamente para la sección del post, son estas variables
Code: [Select]
$message['member']['link'] //nombre concatenado a la url del posteador
$message['member']['avatar']['href']//únicamente la url de la imagen del avatar del posteador
$message['time']//tiempo en el que se publicó el mensaje ya con el formato predeterminado del foro

Offline colcrt

  • Newbie
  • *
  • Posts: 7
Re: como obtener nombre,fecha,imagen etc del creador del post (php)
« Reply #4 on: November 08, 2018, 06:57:23 PM »
no lo consigo  :( al intentar esto
Code: [Select]
$postern = $context['get_message']();
if($context['first_message'] == $postern['id']){$name = $postern['member']['link'];}

funciona pero omite la primera publicación no logro entender el porque

Offline MorderBR

  • Jr. Member
  • **
  • Posts: 189
  • Gender: Male
  • Rayzero Subs
    • RayzeroFansub on Facebook
    • @morderbr on Twitter
    • Rayzero Subs
Re: como obtener nombre,fecha,imagen etc del creador del post (php)
« Reply #5 on: November 08, 2018, 11:55:52 PM »
no lo consigo  :( al intentar esto
Code: [Select]
$postern = $context['get_message']();
if($context['first_message'] == $postern['id']){$name = $postern['member']['link'];}

funciona pero omite la primera publicación no logro entender el porque
No entiendo qué quieres hacer

Offline colcrt

  • Newbie
  • *
  • Posts: 7
Re: como obtener nombre,fecha,imagen etc del creador del post (php)
« Reply #6 on: November 09, 2018, 09:40:18 AM »
veras quiero poner el creador del post (avatar, link y nombre) en el titulo del post, si quieres mira
 aquí goo.gl/CWN8Pp en donde dice name-creador, ahí va lo que menciono pero no lo consigo ya vi las funciones  de ssi.php pero no logre hacerlas funcionar

Offline MorderBR

  • Jr. Member
  • **
  • Posts: 189
  • Gender: Male
  • Rayzero Subs
    • RayzeroFansub on Facebook
    • @morderbr on Twitter
    • Rayzero Subs
Re: como obtener nombre,fecha,imagen etc del creador del post (php)
« Reply #7 on: November 09, 2018, 02:41:58 PM »
Code: [Select]
<h3 class="my-0 mr-md-auto font-weight-normal">
   <img src="https://foro.mt2.party/Themes/transcend/images/topic/normal_post.gif" align="bottom" alt="">
   <span id="">',$message['poster_name'],'&nbsp;</span>
   - ', $message['subject'],'&nbsp;<small>(' , $txt['read'] , ' ' , $context['num_views'] , ' ' , $txt['times'] .,')</small>
</h3>
reemplaza esa línea por esta

Offline colcrt

  • Newbie
  • *
  • Posts: 7
Re: como obtener nombre,fecha,imagen etc del creador del post (php)
« Reply #8 on: November 11, 2018, 12:10:52 PM »
MorderBr -> lo intente así pero no funciono así que trate de otra forma usando ssi.php pero no logro entender que hago mal en la consulta, esta es simple de prueba pero no logro hacer que funcione

Code: [Select]
function topicAutor($idtopic){
global $smcFunc, $scripturl;

require_once('../SSI.php');

$sql = $smcFunc['db_query']('', '
                SELECT id_member_started
                FROM {db_prefix}topics
                WHERE id_topic = {int:"'.$idtopic.'"}
                LIMIT 1',
                array()
            );
$datos = array();
while ($row = $smcFunc['db_fetch_assoc']($sql)) {
$datos[] = array(
'id' => $row['id_member_started']
);
}
foreach($datos AS $data)
echo $data['id'];
}

Offline MorderBR

  • Jr. Member
  • **
  • Posts: 189
  • Gender: Male
  • Rayzero Subs
    • RayzeroFansub on Facebook
    • @morderbr on Twitter
    • Rayzero Subs
Re: como obtener nombre,fecha,imagen etc del creador del post (php)
« Reply #9 on: November 11, 2018, 01:40:59 PM »
MorderBr -> lo intente así pero no funciono así que trate de otra forma usando ssi.php pero no logro entender que hago mal en la consulta, esta es simple de prueba pero no logro hacer que funcione

Code: [Select]
function topicAutor($idtopic){
global $smcFunc, $scripturl;

require_once('../SSI.php');

$sql = $smcFunc['db_query']('', '
                SELECT id_member_started
                FROM {db_prefix}topics
                WHERE id_topic = {int:"'.$idtopic.'"}
                LIMIT 1',
                array()
            );
$datos = array();
while ($row = $smcFunc['db_fetch_assoc']($sql)) {
$datos[] = array(
'id' => $row['id_member_started']
);
}
foreach($datos AS $data)
echo $data['id'];
}
No es necesario el uso de SSI en esa sección ya que toda la información está en el archivo Display.php de Sources
Estuve checando mi código y vi que tenía unos errores, lo siento...
Al final es sencillo de arreglar aunque tienes que modificar el archivo Display.php de Sources y Display.template.php de tu tema
En Display.php
Buscas
Code: [Select]
// Get all the important topic info.
$request = $smcFunc['db_query']('', '
SELECT
t.num_replies, t.num_views, t.locked, ms.subject, t.is_sticky, t.id_poll,
t.id_member_started, t.id_first_msg, t.id_last_msg, t.approved, t.unapproved_posts,
y reemplazas por
Code: [Select]
// Get all the important topic info.
$request = $smcFunc['db_query']('', '
SELECT
t.num_replies, t.num_views, t.locked, ms.subject, t.is_sticky, t.id_poll,
t.id_member_started, t.id_first_msg, t.id_last_msg, t.approved, t.unapproved_posts, ms.poster_name,
después buscas
Code: [Select]
// Did this user start the topic or not?
$context['user']['started'] = $user_info['id'] == $topicinfo['id_member_started'] && !$user_info['is_guest'];
$context['topic_starter_id'] = $topicinfo['id_member_started'];

// Set the topic's information for the template.
y reemplazas por
Code: [Select]
// Did this user start the topic or not?
$context['user']['started'] = $user_info['id'] == $topicinfo['id_member_started'] && !$user_info['is_guest'];
$context['topic_starter_id'] = $topicinfo['id_member_started'];

// Set the topic's information for the template.
$context['poster_name'] = $topicinfo['poster_name'];
en el archivo Display.template.php
Buscas (depende de qué tan modificado esté tu tema, esto puede variar pero supongo que entiendes cómo acomodarlo)
Code: [Select]
// Show the topic information - icon, subject, etc.
echo '
<div id="forumposts">
<div class="cat_bar">
y modificas esta parte la cual es la que muestra lo que deseas
Code: [Select]
<h3 class="my-0 mr-md-auto font-weight-normal">
   <img src="https://foro.mt2.party/Themes/transcend/images/topic/normal_post.gif" align="bottom" alt="">
   <span id="">',$context['poster_name'],'&nbsp;</span>
   - ', $context['subject'],'&nbsp;<small>(' , $txt['read'] , ' ' , $context['num_views'] , ' ' , $txt['times'] ,')</small>
</h3>

Prueba: