|
|
Moderador del foro: ZorG |
Foro uCoz Servicios Adicionales Cuestiones generales Operadores condicionales y códigos de sistema |
Operadores condicionales y códigos de sistema |
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: <?if($código$)?> – 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»; <?else?> – 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»; <?endif?> – 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) <?if($USER_LOGGED_IN$)?> Hello, $USERNAME$ <?else?> You are GUEST. Please register. <?endif?> 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 <?if($código$)?> 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 – <?if($USER_LOGGED_IN$)?>». 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 Falta cerrar esto con una terminación. 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: <?if($USER_LOGGED_IN$)?> ¡Qué bueno que te has registrado! <?endif?> 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: Días después del registro: 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. <?if($código$='condición')?> Yo lo veo <?else?> Y yo veo esto <?endif?> o <?if($código$='condición')?> Lo principal es que yo lo veo <?endif?> Ejemplo: <?if($USER$='Amorcito')?> Amorcito, no olvides leer los correos cada día. <?endif?> Es decir, en las palabras «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. <?if($USER$='Mike' or $USER$='Lola')?> Panchito y Estercita, he aquí un enlace secreto …. <?endif?> Grupos: Etc. Con todo eso los operadores pueden funcionar uno en otro. Ejemplo: <?if($USER_LOGGED_IN$)?> Hola $USER$! <?if($GROUP_ID$=3 || $GROUP_ID$=4)?> ¡No olvidemos hacer clics en la publicidad! <?endif?> <?else?> Por favor, regístrate. <?endif?> 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: Pregunta – respuesta Quote 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? Quote ¿Cómo se puede crear condiciones alternativas, por ejemplo: pa’l código $GROUP_ID$? Quote ¿Si hay operadores que permiten a un usuario ver en la lista de categorías sólo aquellas a las cuales éste tiene acceso? Quote $GROUP_ID$ no funciona en la plantilla de mini-chat. ¿Por qué? Quote Есть код $USER_LOGGED_IN$. ¿Si existe $USER_LOGGED_OUT$?
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. Ejemplo: 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: a = j == 0 ? -1 : k/j; <condicion> ? <valor1> : <valor2> Hubiera sido equivalente a escribir: if (j==0) Las vírgenes tienen muchas navidades pero ninguna Nochebuena.
|
Operador condicional En ocasiones necesitamos usar un condicional simple que evalúe una sola sentencia. Las condiciones con una sola sentencia pueden omitir las llaves y podemos ponerlo en una sola línea 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 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: Generalmente la sentencia a evaluar si es verdadera o no se usa con un condicional como en el ejemplo. pero no es necesario que la expresión a evaluar sea una condición. Basta con que devuelva verdadero o falso (true o false) 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 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 obtendríamos el mismo resultado si 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++; También podemos usarlo para pasar argumentos a funciones 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. Las vírgenes tienen muchas navidades pero ninguna Nochebuena.
|
| |||
| |||