[Duda] ¿Cómo limitar los caracteres máximos permitidos en título de tema?

Started by Jotade29, April 20, 2022, 09:50:39 PM

Previous topic - Next topic

Jotade29

Buenas, quisiera saber cómo limitar los caracteres de cara a los títulos de temas ÚNICAMENTE, sé que se puede limitar el número de caracteres permitidos en los mensajes, pero NO en los temas, ¿hay alguna forma desde la administración?

Gracias.

-Rock Lee-

¿Que version de SMF estas usando? ... en la rama 2.0.x tenes modificar el archivo ../Themes/default/Post.template.php (en el theme por defecto, si tu theme personalizado no lo tiene) que tenes buscar por la linea 202:

<input type="text" name="subject"', $context['subject'] == '' ? '' : ' value="' . $context['subject'] . '"', ' tabindex="', $context['tabindex']++, '" size="80" maxlength="80" class="input_text" />

En 2.1.x es el mismo archivo pero cambia el lugar, debe estar cerca de la linea 971:

'input' => array('html' => '<input type="text" id="subject" name="subject" value="' . $context['subject'] . '" size="80" maxlength="80" required>')
Pero en ambos tenes que modificar el valor que dice maxlength="80" que es donde se especifica cuantos caracteres tenes permitido como maximo.


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

Jotade29

Buenas Rock, gracias por la ayuda, pero me refería a si en en el panel de admin había opción, pero por la respuesta me imagino que no, jajaja.

Hay una cosa que no tengo clara, la diferencia entre size y el maxlengt en este contexto. ¿No es redundante esas dos etiquetas? Es decir, entiendo que si establezo el size en 80, entienda que lo máximo que tolere sea 80, ¿no? No entiendo bien. Gracias.

vicram10

El size seria el tamaño del input text, y el maxlenght, la cantidad de caracteres que podes introducir.
Podes tener un size de 80, pero maxlenght de 100, por consiguiente los caracteres restantes, se quedaran por debajo del input

Tenes el input en 80
Quote[Hola esto es] una prueba
____________
* tama#no del input

Jotade29

Gracias por responder, Vicram.

A ver si lo he entendido bien, por ejemplo, si yo tengo un input de 5, y un maxlength de 12... Si escribo la palabra 'ornitorrinco', me va a dejar escribirla, pero solo se enviará a la base de datos 'ornit' ¿así es?

Gracias de nuevo.

Danielㅤ

Hola, aunque lo que te dicen los compañeros es una forma correcta y simple, pero no es 100% segura ya que cualquier usuario con mínimo de conocimientos puede saltar esa restricción modificando los valores desde el propio navegador.

Cuando se hacen éste tipo de restricciones siempre se debe también hacer la comprobación por el lado del servidor mediante PHP, esa es la forma más correcta y segura.


Saludos

Jotade29

Quote from: Daniel� on April 21, 2022, 05:10:55 PMHola, aunque lo que te dicen los compañeros es una forma correcta y simple, pero no es 100% segura ya que cualquier usuario con mínimo de conocimientos puede saltar esa restricción modificando los valores desde el propio navegador.

Cuando se hacen éste tipo de restricciones siempre se debe también hacer la comprobación por el lado del servidor mediante PHP, esa es la forma más correcta y segura.


Saludos

Buenas Daniel, ¿te refieres a hacer la función en la parte de los sources correspondiente que lo limite, no?

Gracias.

-Rock Lee-

Quote from: Jotade29 on April 20, 2022, 10:45:50 PMBuenas Rock, gracias por la ayuda, pero me refería a si en en el panel de admin había opción, pero por la respuesta me imagino que no, jajaja.

Hay una cosa que no tengo clara, la diferencia entre size y el maxlengt en este contexto. ¿No es redundante esas dos etiquetas? Es decir, entiendo que si establezo el size en 80, entienda que lo máximo que tolere sea 80, ¿no? No entiendo bien. Gracias.

No es una opcion muy usada por eso tenes modificarlo directo, por lo general en los mensajes limitan muchas veces. ¿Por que seria redundante? por que uno es el tamaño del input donde ingresas el los caracteres, y el otro es el máximo de caracteres permitidos. Sino una forma perfecta de verlo es cambiar los valores y ver a lo que me refiero.


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

Danielㅤ

Quote from: Jotade29 on April 21, 2022, 05:43:02 PM
Quote from: Daniel� on April 21, 2022, 05:10:55 PMHola, aunque lo que te dicen los compañeros es una forma correcta y simple, pero no es 100% segura ya que cualquier usuario con mínimo de conocimientos puede saltar esa restricción modificando los valores desde el propio navegador.

Cuando se hacen éste tipo de restricciones siempre se debe también hacer la comprobación por el lado del servidor mediante PHP, esa es la forma más correcta y segura.


Saludos

Buenas Daniel, ¿te refieres a hacer la función en la parte de los sources correspondiente que lo limite, no?

Gracias.

Claro, se puede hacer también la comprobación y restricción desde el lado del servidor porque si modifican esos valores desde el navegador, pueden saltar la restricción.
De que sea posible que lo puedan hacer, si es posible, pero no creo que lo hagan realmente porque no tiene tanta relevancia e importancia el saltarse esa limitación de la cantidad máxima de caracteres permitidos en los mensajes.




Saludos

Diego Andrés

Prueba con esto y miras si hace lo que buscas
PD: Es para SMF 2.1, no vi que mencionaras que versión utilizas.

https://custom.simplemachines.org/index.php?mod=4326

SMF Tricks - Free & Premium Responsive Themes for SMF.

vicram10

Quote from: Jotade29 on April 21, 2022, 02:17:04 PMGracias por responder, Vicram.

A ver si lo he entendido bien, por ejemplo, si yo tengo un input de 5, y un maxlength de 12... Si escribo la palabra 'ornitorrinco', me va a dejar escribirla, pero solo se enviará a la base de datos 'ornit' ¿así es?

Gracias de nuevo.

no, a nivel de POST se vera completo, visualmente al cargar la palabra lo que se veria cortado por el propio input. Pero asi como dicen, debes hacer este tipo de validaciones desde el servidor.

Advertisement: