Ud entró como Huésped
Вход:
Foro · Manual uCoz · Participantes · FAQ Registrarse · Entrada

categorías
Gestión de la cuenta [18] Configuraciones de los módulos [3]
Gestión de los materiales [2] Funciones adicionales [7]
Búsqueda
 Tabla de anuncios
Tutorial sobre el sistema » Configuración y gestión del sistema uCoz » Funciones adicionales

Operadores condicionales

Información | 2011-07-28, 4:20 PM
OPERADORES CONDICIONALES Y AUTO-TRANSFERENCIA

Operadores condicionales son importantes y necesarios para poder realizar un proyecto web de éxito.
Recomiendo que lean este tema y utilicen sus datos en el proceso de la creación y administración de los sitios web.

Primero quiero explicar cómo podemos configurar y realizar la autotransferencia de los usuarios a otro grupo.
• Pasamos al Panel de Control del sitio web: Inicio » Usuarios » Grupos de usuarios
• Editamos el grupo Usuarios (icono )
• En las configuraciones de acceso del grupo ponemos el signo v en los puntos Premoderar materiales añadidos (no exponer de inmediato) en todos los módulos y en la pestaña Comentarios quitamos el signo v del punto Dejar comentarios
• Editamos el grupo Comprobados (icono )
• En todos los campos Premoderar materiales añadidos (no exponer de inmediato) quitamos el signo v y en la pestaña Dejar comentarios ponemos el signo v.
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CONFIGURACIÓN DE LA AUTO-TRANSFERENCIA

De nuevo pasamos al Panel de Control de la web: Inicio » Usuarios » Grupos de usuarios » Auto-transferencia
Modificamos el campo El número de días a partir de la fecha de registro de usuario y ponemos 5. Después guardamos.
Esto quiere decir que los usuarios registrados no pueden comentar los materiales del sitio y dejar sus comentarios sin la premoderación durante 5 días a partir de la fecha de registro. Pasados los 5 días, el usuario será transferido automáticamente al grupo Comprobados y podrá comentar los materiales y dejar sus comentarios sin la premoderación.

Ahora configuramos el aviso al usuario acerca de que su actividad está limitada temporalmente. Para esto ponemos el siguiente código en un lugar cómodo para nosotros.

Code
   Número de días a partir de la fecha de registro: $USER_REG_DAYS$. (a partir de 5 días después de tu registro obtendrás más posibilidades en el sitio y serás transferido al grupo "Comprobados")Puedes dejar materiales en el sitio y comentarlos.
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
¡ A T E N C I Ó N !
Esta función es muy importante para los foros de rol donde antes de desempeñar un rol, a un usuario se le requiere agregar un cuestionario de personaje. Si quieren utilizar esta función en el foro de rol, han de cumplir lo siguiente:
• Configurar los derechos de los usuarios (limitar al grupo Usuarios el acceso al foro y librar el acceso al grupo Comprobados);
• Configurar cualquier módulo para que sea un depósito de cuestionarios (ejemplo: el módulo Blog);
• Imponer una condición en la auto-transferencia (por ejemplo: Blog – 1 material).
Así pues después de estar añadido el cuestionario del protagonista en el Blog, el usuario será transferido al grupo Comprobados con posibilidades ampliadas y podrá jugar.
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Operadores condicionales: del novato al profi.

Si tú no sabes en absoluto cómo funcionan los operadores condicionales y la información en el Panel de Control es insuficiente pa’ ti, aquí voy a tratar de explicar. ¡No tengas miedo, chico! Es una vaina bastante fácil. ¡Te lo juro por Dios!
Entonces, empecemos con las nociones. Son operadores condicionales los códigos-símbolos especiales que pueden ejecutar secuencias de comandos (scripts). Tú puedes crear una opción completamente nueva en tu sitio, al mismo tiempo no está prevista ésta en el Panel de Control.
Pa’ esto hay que entender y familiarizarse con los componentes del código. Éstos son:
es una condición (código) que comunica al operador con quién tenemos asuntos y con qué trabajamos. Lo sustituimos en la memoria por una frase Si hay;
es un operador que cumplirá todo lo que le ordenes, cuando la condición no corresponde a lo indicado. Lo sustituimos en la memoria por una frase Si no hay;
es fin del operador condicional, lo sustituimos en la memoria por Fin.
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ahora examinemos un simple ejemplo que hay en el Panel de Control (del Editor de Páginas):
Code
Hello, $USERNAME$ You are GUEST. Please register.

Quiere decir eso en nuestro lindo idioma: «Si hay un usuario autorizado, "¡Bienvenido su login!”, si no hay, "¡Bienvenido, Huésped!” y fin.»
¿Por qué? ¿De dónde? ¡Más concreto!
Eso es lo que hemos utilizado en este código:
Hemos comunicado al operador que nuestra secuencia de comandos está dirigida para saludar al fulano autorizado. En vez de $código$ hemos puesto el siguiente $USER_LOGGED_IN$, o sea, hemos dicho «Si hay autorizado – ». Después viene una información tuya que es accesible sólo a los autorizados. Pero de paso podemos utilizar la condición si ellos no corresponden a los indicados, es decir, en nuestra situación no corresponden Huéspedes. Eso significa que después de la información para los registrados introducimos una información para los huéspedes.
Obtenemos:
Code
Hola, $USERNAME$ ¡Hola, Huésped!
Falta cerrar esto con una terminación.
Code
Hola, $USERNAME$ ¡Hola, Huésped!

Así mismo podemos excluir completamente a los huéspedes exponer la información sólo para los registrados. Para esto simplemente no utilizamos "Si no hay”. Obtenemos lo siguiente:
Code
¡Qué bueno que te has registrado!

O sea, en este caso la frase «¡Qué bueno que te has registrado!» es vista sólo por aquellos que han entrado con su login.
Cualquier código indicado como funcionante en un módulo, puede servir de condición para el trabajo de los operadores. En nuestro caso (operadores condicionales) podemos examinar los siguientes ejemplos:
Entrada y salida:
Code
<a href="$LOGOUT_LINK$">SALIDA</a> <a href="$LOGIN_LINK$">ENTRADA</a>

Días después del registro:
Code
¡Estás con nosotros ya $USER_REG_DAYS$ días! Por favor, regístrate.

Etcétera.
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Se puede cambiar las condiciones para la secuencia de comandos con ayuda de las posibilidades adicionales que se apoyan por los operadores. Son signos «=», «>», «<». En caso de la necesidad las condiciones igualadas se dividen por una línea vertical. Después del signo se informa al operador a quién está dirigida toda la secuencia de comandos.
Code
Yo lo veo Y yo veo esto

o
Code
Lo principal es que yo lo veo

Ejemplo:
Code
Amorcito, no olvides leer los correos cada día.

Es decir, en las palabras es así: «Si hay logins de los entrantes y entre ellos hay Amorcito (='Amorcito'), se le debe mostrar esto …»
Lo mismo se refiere a los grupos, nombres, sexo, fecha y todo lo que funciona con códigos.
Más ejemplos:
Code
Panchito y Estercita, he aquí un enlace secreto ….

Grupos:
Code
Moderadores y Administradores, todos juntos hagamos clics en la publicidad aquí …

Etc.
Con todo eso los operadores pueden funcionar uno en otro. Ejemplo:
Code
   Hola $USER$! ¡No olvidemos hacer clics en la publicidad! Por favor, regístrate.

Es siguiente la secuencia: «Si hay entrantes, bienvenidos, si hay Administradores y Moderadores entre ellos, añadirlos, Hagamos clics en la publicidad, si alguien no ha entrado, le pedimos que se registre y fin.»
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Lo más principal es ir pensando bien cómo escribir la secuencia de comandos, qué códigos deben aplicarse y a quién se dirigirán. Se puede escribir cualquier cosa que te guste. uCoz es un sistema MUY flexible que puede sostener todo. ¡Así que manos a la obra!

Y, al fin y al cabo, mini-info:

Cuantos , tantos
- es necesario cuando introducimos una información para los que no corresponden a las condiciones, en otros casos no se requiere
- Se soportan las condiciones alternativas: or y and (|| y &&)
- Se soporta la anidación de operadores
- Se soporta la comparación de las variables una con otra:
- En la comparación el texto obligatoriamente debe estar entre comillas:

Pregunta – respuesta

PREGUNTA: Durante la creación de páginas nuevas cargadas por medio de FTP, los códigos $SITE_NAME$, $LOGIN_LINK$, $LOGOUT_LINK$ se exponen en forma de un texto, y no sin ninguna intención... ¿Por qué no funcionan?
RESPUESTA: $Códigos$ funcionarán SÓLO en las páginas dinámicas, o sea, en aquellas que han sido creadas en el Panel de Control con ayuda de Crear una página. En las páginas estáticas cargadas de afuera con la expansión .html, estos $códigos$ no funcionarán.

PREGUNTA: ¿Cómo se puede crear condiciones alternativas, por ejemplo: pa’l código $GROUP_ID$?
RESPUESTA: ...

PREGUNTA: ¿Si hay operadores que permiten a un usuario ver en la lista de categorías sólo aquellas a las cuales éste tiene acceso?
RESPUESTA: Es posible configurar esto, pero sólo haciendo tal lista a mano. O sea, ir comprobando un grupo acual y exponer una lista de categorías necesaria.

PREGUNTA: $GROUP_ID$ no funciona en la plantilla de mini-chat. ¿Por qué?
RESPUESTA: Se almacenan en caché los mensajes del chat, por eso es imposible utilizar códigos dinámicamente cambiables en el chat.

PREGUNTA: Hay código $USER_LOGGED_IN$. ¿Si existe $USER_LOGGED_OUT$?
RESPUESTA: Hay que hacer simplemente una negación en la condición
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Algo más:

Operador condicional o triádico:

Tiene la forma:

expresión ? expresión1 : expresión2

Se utiliza como un if dentro de expresiones.
Su resultado es: si expresión es no nula, se evalúa y devuelve expresión1. Si expresión es nula, se evalúa y devuelve expresión2.

Ejemplo:
Code
mínimo = ( x<y ? x : y );


El uso de este operador es superfluo, dado que el if ya resuelve la ejecución condicional. Es conveniente, si se emplea, utilizar paréntesis para evitar ambigüedades.
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Y un poquito más:


Recordemos a este operador ternario (el único en Java), que recibe tres argumentos. Tiene muchas similitudes con el comando if. Se lo comprende mejor con un ejemplo.
Supongamos que queremos asignar a la variable a el resultado de dividir k entre j, pero si j es cero, no queremos dividir por cero, y nos conformamos con otro resultado. Podemos escribir:
Code
a = j == 0 ? -1 : k/j;

El operador se compone de
Code
<condicion> ? <valor1> : <valor2>

Si la condición es verdadera, retorna el primer valor, sino devuelve el segundo. La condición se separa del primer valor con un signo ?: (dos puntos).
Hubiera sido equivalente a escribir:
Code
if (j==0)
a = -1;
else  a = k/j;
Hay que recordar, que el operador no es un comando: se aplica en cualquier expresión compleja que espere una expresión. Se lo puede usar en esos lugares donde se espera una expresión, y no un comando. Sino, es más claro el comando if.
 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
En ocasiones necesitamos usar un condicional simple que evalúe una sola sentencia.c if(m < 0){
m = 0;
}
else{
m++;
}


Las condiciones con una sola sentencia pueden omitir las llaves:
if(m < 0)
m = 0;
else
m++;


y podemos ponerlo en una sola línea:
if(m < 0) m = 0; else m++;

Sin embargo para estos casos nos puede venir muy bien utilizar el operador condicional o ternario que tiene la peculiaridad de ser el único operador que usa tres operandos:
Alguna expresión ? si verdadero, esto : si no es verdadero, esto otro;

Funciona de la siguiente manera:
Se evalúa una sentencia; si devuelve verdadero se evalúa entonces la sentencia que queda a continuación del operador ? y a la izquierda del operador :y si no es verdadero se evalúa la sentencia que queda a la derecha del operador:
m < 0 ? m = 0 : m++;

Generalmente la sentencia a evaluar si es verdadera o no se usa con un condicional como en el ejemplo.
(condición: m es menor que cero ¿es cierto?) ? (si es verdadero m vale entonces cero) : (si es falso m incrementa su valor en 1)

pero no es necesario que la expresión a evaluar sea una condición. Basta con que devuelva verdadero o falso (true o false)

verdadero = true;
verdadero ? alert('es verdadero') : alert('no es verdadero');


Recordemos que no sólo true evalúa como verdadero ni false evalúa sólo como falso.
Los valores booleanos se evalúan como falso si devuelven:

Una cadena vacía ('')

0 ó -0
NaN (Not A Number)
Undefined
null
false


Los valores booleanos se evalúan como verdadero si devuelven:
- Un objeto existente
- Una cadena no vacía
- Un valor numérico distinto a 0 ó a -0

true

En el ejemplo anterior


verdadero = true;
verdadero ? alert('es verdadero') : alert('no es verdadero');


obtendríamos el mismo resultado si
verdadero = 1
verdadero = 'leporcias'


Podemos usar también el operador condicional para asignar directamente el valor devuelto a una variable.
En vez de m < 0 ? m = 0 : m++;

Podemos pedirle m = m < 0 ? 0 : m++;
var edad = 45;
paco = edad <= 18 ? 'Menor de edad' : 'Mayor de edad';


También podemos usarlo para pasar argumentos a funciones
alert(edad <= 18 ? 'Menor de edad' : 'Mayor de edad');

Como se puede ver el uso del operador condicional puede ser muy útil a la hora de darle algunos usos que no podríamos aplicar directamente con la sentencia if then y nos puede ahorrar bastantes líneas de código.
 
Instrucción creada por: GUARAGUAO | Persona de contacto: Guaraguao
Visitas: 978 | Expuesto hasta: 2012-12-31 | Ranking: 0.0/0 |
Total de comentarios: 1
00+0  
* * 1 Kamal   (2012-08-15 9:45 AM) [Entrada]
Ho ho, who wuodla thunk it, right?
Contestar:

Solamente los usuarios registrados pueden añadir comentarios.
[ Registrarse | Entrada ]


Potenciado por uCoz