Simple Machines Community Forum

SMF Support => Language Specific Support => Español (Spanish) => Aiheen aloitti: mujik - marraskuu 13, 2012, 05:48:14 IP

Otsikko: ¿Cómo puedo poner un icono al estilo del stick o lock?
Kirjoitti: mujik - marraskuu 13, 2012, 05:48:14 IP
Saludos comunidad de simplemachines,

Antes de nada me gustaría transmitir mi grado de satisfacción por este sistema de foros, y por la comunidad en general porque opino que está muy bien. Soy un administrador novel, recién llegado del mundo de los servicios de foros gratuitos y la verdad es que estoy muy sorprendido con este sistema, me parece mucho más manejable, vistoso, y personalizado que lo foros que ofrecen los servidores gratuitos, así que por todo ello, muchas gracias.

Ahora sin más procedo con mi duda, espero no importunar a nadie pero he estado buscando el problema que tengo por todo el foro y no he encontrado nadie que lo mencione para que yo pueda ver la solución, así que vamos a ello:

Lo que quiero hacer es que el iconito que he configurado de "Temas en los que has publicado" salga también en la parte de la derecha (donde pongo el circulito verde en la foto) justo como aparece el icono de la chincheta en los temas fijados, o el candadito en los temas cerrados. Me gustaría que en los temas en los que publiquen mis usuarios se les avise también poniendo un icono justo ahí para que sea más vistoso.

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fimg841.imageshack.us%2Fimg841%2F7%2Ffotoayuda.jpg&hash=a0600dbaa27d1dd12ef83b36390793c5871d8a56)

Espero que alguien pueda echarme una mano, y que se pueda hacer.

Gracias por vuestra atención, y un fuerte saludo.
Otsikko: Re: ¿Cómo puedo poner un icono al estilo del stick o lock?
Kirjoitti: Dhayzon - marraskuu 15, 2012, 03:54:37 IP
no hay y si abria seria algo confuso para tus usuarios  ya que ese icono esta especificamente para fijar temas si  quieres algo como eso tendrias que fijar todo los temas

para tu info hay un icono que siempre les informa alos usuarios que hay un nuevo post comentario etc y es el new que aprece simpre

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FW7i7M.png&hash=c4ef41074b9905635571ada6017afc2a15f3f4ca)

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FOUdq5.png&hash=9692aa6ed0faf2315726a0e704b0f34d33e0aaec)
Otsikko: Re: ¿Cómo puedo poner un icono al estilo del stick o lock?
Kirjoitti: mujik - marraskuu 16, 2012, 06:14:45 AP
Lainaus käyttäjältä: dhayzon - marraskuu 15, 2012, 03:54:37 IP
no hay y si abria seria algo confuso para tus usuarios  ya que ese icono esta especificamente para fijar temas si  quieres algo como eso tendrias que fijar todo los temas

para tu info hay un icono que siempre les informa alos usuarios que hay un nuevo post comentario etc y es el new que aprece simpre


Muchas Gracias por tu respuesta dhayzon, pero me temo que no he debido de explicarme bien, lo siento, es que es muy complicado que entendáis lo que quiero hacer, y a lo mejor yo no lo he explicado correctamente.

Verás, mi intención no es poner la chincheta en los temas en los que hayan mensajes míos, no porque para eso hago lo que me has comentado, fijo los temas y listo. Yo no me refiero a eso, me refiero a que la programación del foro hace lo siguiente: si es un tema fijo dibujo la chincheta a la derecha, si es un tema bloqueado dibujo el candado, si es un tema fijado y bloqueado dibujo ambos iconos, y si el tema no es ninguna de estas opciones pues no dibujo ningún icono a la derecha. Bien, pues yo ya sé que función hace que dibuje el iconito de la derecha, es una función del index.css, solo tengo que crear una igual para dibujar otro iconito y que hayan así 4: (chincheta, candado, chincheta y candado, y mi iconito de la exclamación) También sé que luego usando el código $color_class = 'nombre de la función que haya creado en el index.css' es como logro dibujar esos iconos.

La cuestión es que la programación del foro detecta el estado de los temas (si es fijo, si es bloqueado, candente, si yo he publicado en él, etc) Bien, pues yo quiero saber ¿en qué fichero, y qué función? es donde se encuentra lo que hace que el foro detecte si en un tema he escrito yo o no para añadirle el iconito a la derecha que quiero. Es decir, eso tiene que estar en algún lado porque es la misma función que hace que aparezca el iconito de "my_normal_post.gif" a la izquierda en grande, y que en mi caso he configurado con una exclamación. A esa función solo tengo que añadirle mi $color_class y lo tendría solucionado, el problema está que no tengo ni idea de donde está ese código que detecta los temas en los que yo he publicado. Si tu dhayzon, o alguien me lo pudiese decir le estaría muy agradecido :P

Sé que apriori parece una tontería porque es como duplicar un mismo icono, de hecho, en realidad es eso, quiero que el mismo icono que sale para los "temas en los que he publicado" salga también en pequeñito a la derecha sin tener que configurarlo como un tema fijado, quiero ver de un plumazo en los iconitos pequeños de la derecha los temas en los que he participado, es solo esa tontería inservible que no sirve para nada porque ya se puede ver en los iconos grandes de la izquierda, pero que a mi me gustaría configurar así por estética. A ver si tengo suerte y alguno de vosotros me puede ayudar con el código.

De todos modos muchas gracias por responder compañero.
Otsikko: Re: ¿Cómo puedo poner un icono al estilo del stick o lock?
Kirjoitti: vicram10 - marraskuu 16, 2012, 08:08:41 AP
En el MessageIndex.template.php de tu theme, si no tienes ese archivo en tu theme entonces usa del default...

y busca


foreach ($context['topics'] as $topic)


apartir de ese codigo se encuentran los topicos.. por lo tanto ahi debes buscar lo que quieres..
Otsikko: Re: ¿Cómo puedo poner un icono al estilo del stick o lock?
Kirjoitti: mujik - marraskuu 16, 2012, 10:50:57 AP
¡¡Bravo vicram!!

Intuyo que nos vamos acercando.

Efectivamente esta es la parte que define como es un tema, y lo que yo andaba buscando. ¿Problema? pues que están todas las definiciones excepto la que busco:

// Is this topic pending approval, or does it have any posts pending approval?
if ($context['can_approve_posts'] && $topic['unapproved_posts'])
$color_class = !$topic['approved'] ? 'approvetbg' : 'approvebg';
// We start with locked and sticky topics.
elseif ($topic['is_sticky'] && $topic['is_locked'])
$color_class = 'stickybg';
// Sticky topics should get a different color, too.
elseif ($topic['is_sticky'])
$color_class = 'stickybg';
// Locked topics get special treatment as well.
elseif ($topic['is_locked'])
$color_class = 'lockedbg';
// Last, but not least: regular topics.
else
$color_class = 'windowbg';


¿Quién se llevará el premio por decirme que valor tiene que tener $topic, o $context para detectar si es un tema donde yo haya publicado?

Creo que descubriendo ese valor lograremos solucionar la duda ;)

Muchas gracias vicram porque la pista que has aportado es buenísima, a ver si lo sacamos compañero :D
Otsikko: Re: ¿Cómo puedo poner un icono al estilo del stick o lock?
Kirjoitti: vicram10 - marraskuu 16, 2012, 11:06:23 AP
eso solo son las clases.. revisa mas abajo, la pista que yo te di es que a partir de ahi debes mirar para encontrar lo que quieres..

en el template encontras esto


<img src="', $settings['images_url'], '/topic/', $topic['class'], '.gif" alt="" />


por lo tanto la variable $topic es la que contiene la imagen que dices..

esa variable corresponde al $context['topics'], y dicha variable se carga en el archivo MessageIndex.php (se encuentra en la carpeta Sources).

en teoria es esta parte del MessageIndex.php


if (!empty($modSettings['enableParticipation']) && !$user_info['is_guest'] && !empty($topic_ids))


todo lo que viene despues de ese es lo que define esa imagen

salu2
Otsikko: Re: ¿Cómo puedo poner un icono al estilo del stick o lock?
Kirjoitti: mujik - marraskuu 19, 2012, 05:55:52 IP
¡¡SOLUCIONADO!!

Gracias a las pistas de Vicram he logrado hacer lo que quería.

Al final descubrí en el messageindex del source el valor que tenía que tener la variable $topic, que era:

elseif ($topic['is_posted_in'])
$color_class = 'nombre_función';


Así que muchas gracias por todo, quedo muy satisfecho con el foro de ayuda  :)

Saludos.
Otsikko: Re: ¿Cómo puedo poner un icono al estilo del stick o lock?
Kirjoitti: 4Kstore - marraskuu 19, 2012, 09:31:34 IP
Marcamos como solucionado.
Saludos!