Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
propiedades:aparams [22/12/2019 11:49] 127.0.0.1 editor externo |
propiedades:aparams [26/08/2023 12:16] pedro [aParams] |
||
---|---|---|---|
Línea 5: | Línea 5: | ||
Su utilidad es poder añadir a la llamada que se realice información extra para que la reciba el webservice llamado, la información se enviara siempre por POST por pares de Variable y Dato. | Su utilidad es poder añadir a la llamada que se realice información extra para que la reciba el webservice llamado, la información se enviara siempre por POST por pares de Variable y Dato. | ||
- | aParam es un array de pares, ({"variable1","dato1"},{"variable2","dato2"}) como pueden ver siempre son cadenas, en caso de que algún dato no sea cadena, Néfele lo convertirá a cadena antes de montar el HTML final. | + | aParam es un array de pares |
+ | <Code:xailer linenums:1> | ||
+ | :aParams := {{"variable1","dato1"}, {"variable2","dato2"}} | ||
+ | </Code> | ||
+ | como pueden ver siempre son cadenas, en caso de que algún dato no sea cadena, Néfele lo convertirá a cadena antes de montar el HTML final. | ||
- | Tenemos la posibilidad de hacer que entre los datos a devolver nos venga la propiedad de algún control en el momento del envío, para eso como dato pasaremos # y el [[propiedades:cid|cId]] del control ({"variable1","#nombre:value"}), si obviamos la propiedad (:value), por defecto nos retorna :value, dependiendo del control es posible que necesitemos que nos retorne otra propiedad, como por ejemplo un [[controles:wCheckBox]], en este caso lo lógico seria pedir la propiedad :checked. | + | Tenemos la posibilidad de hacer que entre los datos a devolver nos venga la propiedad de algún control en el momento del envío, para eso como dato pasaremos **#** y el [[propiedades:cid|cId]] del control |
+ | <Code:xailer linenums:1> | ||
+ | :AddParam({"variable1","#nombre:value"}) | ||
+ | </Code> | ||
+ | si obviamos la propiedad (:value), por defecto nos retorna **:value**, dependiendo del control es posible que necesitemos que nos retorne otra propiedad, como por ejemplo un [[controles:wCheckBox]], en este caso lo lógico seria pedir la propiedad **:checked**, ya que si pedimos **:value** siempre nos retornara el valor de la propiedad **cChecked** del control. | ||
- | También podemos hacer que nos devuelva el resultado de una función o variable JS que lógicamente deberá existir en la página o ser genérica de JS. Para ello utilizaremos @ y el nombre de la función o variable (ej. {"esmovil","@IsMovil"}). | + | /* |
+ | Para los wComboBox habrá que pedirle la propiedad **:cmbselect**, este control no tiene por defecto una propiedad que podamos pedirle, así que hemos creado esta que incluirá todo el código JS necesario para recuperar el **value** de item seleccionado. | ||
+ | */ | ||
+ | |||
+ | También podemos hacer que nos devuelva el resultado de una función o variable JS que lógicamente deberá existir en la página o ser genérica de JS. Para ello utilizaremos '**js:**' y el nombre de la función o variable. | ||
+ | <Code:xailer linenums:1> | ||
+ | :AddParam({"esmovil","js:IsMovil"}) | ||
+ | </Code> | ||
+ | |||
+ | En el caso de que la función o variable JS retorne un Hash deberemos utilizar el indicador '**ap:**' para que Néfele sepa que tiene que concatenar ese Hash con el resto de aParams. | ||
+ | <Code:xailer linenums:1> | ||
+ | :AddParam({"mibrowse","ap:dt_getValues('browse')"}) | ||
+ | </Code> | ||
+ | |||
+ | |||
+ | Podemos también recuperar datos de [[https://www.w3schools.com/jsrEF/prop_win_localstorage.asp|LocalStorage]] y [[https://www.w3schools.com/JSREF/prop_win_sessionstorage.asp|SessionStorage]] mediante las etiquetas '**ls:**' y '**ss:**' y el nombre del campo. | ||
+ | <Code:xailer linenums:1> | ||
+ | :AddParam({"midata","ls:midata"}) | ||
+ | </Code> | ||
Hay que tener en cuenta que nuestro [[nefele:ocgi|CGI]] al recuperar esta información siempre nos retorna cadenas. | Hay que tener en cuenta que nuestro [[nefele:ocgi|CGI]] al recuperar esta información siempre nos retorna cadenas. | ||
Para recuperar estos parámetros utilizaremos [[ocgi:getcgivalue|oCGI:GetCGIValue]](cParametro, cDefault), con lo que nos devolverá el valor del parámetro indicado (cParametro) y en caso de no existir nos devolverá cDefault. | Para recuperar estos parámetros utilizaremos [[ocgi:getcgivalue|oCGI:GetCGIValue]](cParametro, cDefault), con lo que nos devolverá el valor del parámetro indicado (cParametro) y en caso de no existir nos devolverá cDefault. | ||
+ | |||
+ | Si sabemos que el parámetro en cuestión es un Array podemos utilizar [[ocgi:getcgiarray|oCGI:GetCGIArray]] para recuperarlo. | ||
==== Peculiaridades a tener en cuenta ==== | ==== Peculiaridades a tener en cuenta ==== | ||
Línea 23: | Línea 51: | ||
aParams específicos para cada ítem que se añadirán a los genéricos en el momento de la llamada. Para facilitar el trabajo estos ítem ya enviarán datos que nos pueden ser útiles en nuestro CGI como es el [[propiedades:cId]] del control que realizó la llamada, el evento y el [[propiedades:nRowId]], si lo tiene, y que no debemos confundir con el [[propiedades:cId]] | aParams específicos para cada ítem que se añadirán a los genéricos en el momento de la llamada. Para facilitar el trabajo estos ítem ya enviarán datos que nos pueden ser útiles en nuestro CGI como es el [[propiedades:cId]] del control que realizó la llamada, el evento y el [[propiedades:nRowId]], si lo tiene, y que no debemos confundir con el [[propiedades:cId]] | ||
- | El [[propiedades:nRowId]] es el id del registro en la BBDD (o el id que le pasáramos en el momento de crear el control) y el [[propiedades:cId]] es el identificador de cada control dentro de la página. | + | El [[propiedades:nRowId]] es el id del registro en la BBDD (o el id que le pasáramos en el momento de crear el control y que nos identifica de manera inequívoca el registro sobre el que queremos actuar) y el [[propiedades:cId]] es el identificador de cada control dentro de la página. |
~~DISCUSSION|Comentarios aParams~~ | ~~DISCUSSION|Comentarios aParams~~ |