Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Creación de variablesTema Solucionado

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x
Cerrado
juanlive
Observador/a
Mensajes: 9
Registrado: 21 Mar 2012, 20:40

Creación de variables

#1

Mensaje por juanlive »

Esta es una pregunta avanzada. Estoy creando un sistema para práctica de evaluación de alumnos de escuela.

Concretamente, necesitaría crear una variable (por ejemplo, HAS_POSTED) para que el template viewtopic_body pueda saber si el usuario logueado ha publicado ya una respuesta en ese hilo o no. En base a esto, se le mostrarán o no determinados posts.

Supongo que debo intervenir en viewtopic.php, pero no comprendo bien en dónde se preparan las variables para ese template, ni tampoco en dónde debería insertar el query para SQL pidiendo ese dato, o si se puede aprovechar un query ya hecho.

Muchas gracias,
Juan

Avatar de Usuario
Makoto
Elite
Mensajes: 2929
Registrado: 10 Sep 2009, 23:44
Género:
Edad: 37

Re: Creación de variables

#2

Mensaje por Makoto »

Bueno creo que deben ser

viewtopic.php
includes/funtions.php
styles/prosilver*/template/viewtopic_body.html

*O el estilo que estes usando
de aqui no sé más u_u
URL del foro: FIIS-UNAC
Versión phpBB: phpBB3 ( 3.1.5)
Extensiones Instaladas
SPOILER_SHOW
  • Add User 1.0.2
  • Auto Database Backup 1.1.0
  • Auto Groups 1.0.0
  • Avatars on Memberlist 1.0.3
  • Board Announcements 1.0.2
  • Board Rules 1.0.1
  • cBB Chat 1.1.1
  • Fancy Lazy Topics loader 2.1.5
  • Genders 1.0.0
  • Last Post Avatar
  • Log failed logins
  • Rank Post Styling
  • Share On 1.0.0
  • SiteSplat BBCore 2.1.1
  • Sortables Captcha 2.0.0
  • Topic Author 1.0.1
  • Upload Extensions 3.1.2-beta2
Plantilla(s) usada(s):
  • FLATBOOTS 2.0.1
Servidor: Dattatec[/size]

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Creación de variables

#3

Mensaje por Alorse »

Sin datos de soporte, no hay ayuda de ningún tipo, lee las normas.


juanlive
Observador/a
Mensajes: 9
Registrado: 21 Mar 2012, 20:40

Re: Creación de variables

#4

Mensaje por juanlive »

URL: http://www.juanlivingston.com.ar/foro
Versión phpBB: 3.0.10
MODs Instalados: no
Plantilla(s) usada(s): Prosilver
Servidor: Linux
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No


Alorse, aquí están los datos.

Makoto, muchas gracias. Específicamente, necesitaría saber en qué parte dentro de viewtopic.php o dentro de functions.php debería añadir una nueva función para que la variable esté disponible al mostrar el contenido de cada foro y en la lista de foros, ya que en el distema que estoy desarrollando, cada usuario sólo puede ver sus propias respuestas y las del grupo administrador o profesores, pero no la de los demás usuarios.

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Creación de variables  Tema Solucionado

#5

Mensaje por Alorse »

Si deseas que la variable solo se muestre en el viewtopic (osea en los mensajes) debes agregarla en el viewtopic.php exactamente como un elemento de $postrow = array( que como ves es un arreglo.

Si quieres que esa variable se pueda usar en cualquier parte del foro o en más de una pagina debes agregarla includes/functions.php como un elemento más en la asignación de variables en $template->assign_vars(array(.

En ambos casos de la siguiente manera 'HAS_POSTED' =>$has_posted, y el query debes ponerlo en el archivo que uses, ojala como un método que retorne true o false, para averiguarlo debes acudir a la tabla TOPICS_POSTED_TABLE que es la encargada que almacenar la información de los usuarios que postean en cada tema.

juanlive
Observador/a
Mensajes: 9
Registrado: 21 Mar 2012, 20:40

Re: Creación de variables

#6

Mensaje por juanlive »

Muchas gracias, Alorse!
Voy a ver si puedo implementarlo, creo que me has dado todas las claves. Veré si me sale bien.
Juan

juanlive
Observador/a
Mensajes: 9
Registrado: 21 Mar 2012, 20:40

Re: Creación de variables

#7

Mensaje por juanlive »

Listo, perfecto, clarísimo! Ya está implementado lo que necesitaba. Muchas gracias!
Juan

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Creación de variables

#8

Mensaje por Alorse »

juanlive escribió:Listo, perfecto, clarísimo! Ya está implementado lo que necesitaba. Muchas gracias!
Juan
Me alegra mucho haber sido claro, con tu duda, aunque por lo veo no eres un novato con el php.

juanlive
Observador/a
Mensajes: 9
Registrado: 21 Mar 2012, 20:40

Re: Creación de variables

#9

Mensaje por juanlive »

Alorse escribió:
juanlive escribió:Listo, perfecto, clarísimo! Ya está implementado lo que necesitaba. Muchas gracias!
Juan
Me alegra mucho haber sido claro, con tu duda, aunque por lo veo no eres un novato con el php.
Con php no soy tan novato. Sí con phpBB. Tus indicaciones fueron claves, sobre todo en qué lugares trabajar para afectar a cada cosa, el nombre de la tabla... Lo demás lo fui deduciendo, y el resto fue prueba y error.

juanlive
Observador/a
Mensajes: 9
Registrado: 21 Mar 2012, 20:40

Re: Creación de variables

#10

Mensaje por juanlive »

Este fue el código que agregué. Tal vez pueda hacerse de manera más sencilla, pero al menos así funciona.

En includes/functions.php, al final de la asignación $template->assign_vars en línea aparte:

Código: Seleccionar todo

$sql = 'SELECT topic_posted
	FROM ' . TOPICS_POSTED_TABLE . '
	WHERE user_id = ' . $user->data['user_id'] . '
	AND topic_id = ' . $topic_id;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$has_posted = ($row['topic_posted']==1) ? true : false;
$template -> assign_vars(array('HAS_POSTED' => $has_posted ));

Ahora, desde el template viewtopic_body.html, puedo chequear HAS_POSTED. Esto me sirve para mostrar la solución al problema (en vez de "posts" son problemas para resolver) sólo a los que hayan respondido.

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Creación de variables

#11

Mensaje por Alorse »

Si, así esta bien, lo más propio es que pongas la consulta antes de la asignación y que que la variable 'HAS_POSTED' la declares dentro de esa misma asignación de la que hablamos y no en una nueva, pero básicamente es los mismo. :ok:

Cerrado

Volver a “Foros de Soporte 3.0.x”