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
Creación de variables
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
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
Re: Creación de variables
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
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 InstaladasPlantilla(s) usada(s):
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
- FLATBOOTS 2.0.1
Re: Creación de variables
Sin datos de soporte, no hay ayuda de ningún tipo, lee las normas.
Re: Creación de variables
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.
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.
Re: Creación de variables Tema Solucionado
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
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
En ambos casos de la siguiente manera
$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.Re: Creación de variables
Muchas gracias, Alorse!
Voy a ver si puedo implementarlo, creo que me has dado todas las claves. Veré si me sale bien.
Juan
Voy a ver si puedo implementarlo, creo que me has dado todas las claves. Veré si me sale bien.
Juan
Re: Creación de variables
Listo, perfecto, clarísimo! Ya está implementado lo que necesitaba. Muchas gracias!
Juan
Juan
Re: Creación de variables
Me alegra mucho haber sido claro, con tu duda, aunque por lo veo no eres un novato con el php.juanlive escribió:Listo, perfecto, clarísimo! Ya está implementado lo que necesitaba. Muchas gracias!
Juan
Re: Creación de variables
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.Alorse escribió:Me alegra mucho haber sido claro, con tu duda, aunque por lo veo no eres un novato con el php.juanlive escribió:Listo, perfecto, clarísimo! Ya está implementado lo que necesitaba. Muchas gracias!
Juan
Re: Creación de variables
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
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.
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.
Re: Creación de variables
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. 