Marcas para procesamiento de texto

Marcas de texto

Existen dos prefijos de variables para el procesamiento de textos: TXT y VTXT, de manera que los nombres de las variables quedan: TXT_< nombre > y VTXT_< nombre >.

< nombre > corresponde al identificador que se desea asociar a la variable para que sea única, por ejemplo para un texto de autor la marca Prontus podría corresponder a TXT_autor.

El prefijo TXT o VTXT indica que se trata de texto y por lo tanto contendrá párrafos delimitados por el tag < p >, quiebres de línea y eventualmente contenido HTML controlado (VTXT).

Para cada variable definida con estos prefijos, Prontus automáticamente crea las variables correspondientes sin ellos, es decir:

TXT_< nombre > ---- > < nombre >

Las variables sin prefijo, denominadas "minitext" son utilizadas cuando se requiere pasar parámetros hacia javascript, plantillas RSS y otras aplicaciones. Existen desde la versión 11.2.0 las variables "codetext", iguales a las minitext pero con escaping de comillas simples, dobles y backslashes. A estos caracteres se les antepone "\".

Otra alternativa es la salida "xmltext", que hace escaping del texto de la marca para poder usarlo dentro de tags en documentos XML como plantillas RSS, o dentro de atributos de tags HTML como title o alt. Específicamente, transforma los caracteres &, <, >, " y ' en las entidades HTML correspondientes.

Desde la versión 11.2.26 está disponible la salida "striptext", que permite eliminar todo caracter que estorbe para usar texto como id o como name en los tags input. Se dejan solamente los caracteres a-z y 0-9, además de convertir los espacios a "_". Esta marca es especialmente recomendable para usar en Prontus Form, en los atributos name de los campos mostrados.

Desde la versión 11.2.67 se agregan las variables "urlencode", que codifican el texto para poder usarse dentro de una URL, transformando por ejemplo el carácter "@" en "%40". Por ejemplo, para la variable _txt_titular:

  • salida normal  : %%_txt_titular%%
  • salida xml: %%_titular.xml%%
  • salida minitext: %%_titular%%
  • salida codetext: %%_titular.code%%
  • salida urlencode: %%_titular.urlencode%%
  • salida strip: %%_titular.strip%%

A todas las salidas se les puede agregar también un parámetro de ajuste de longitud de caracteres, por ejemplo: %%_titular(100)%%  o %%_titular.code(100)%% para limitar la salida a 100 caracteres. Desde la versión 11.2.8, al evaluar las variables codetext en un campo TXT se filtran los caracteres no imprimibles o de control.

Es importante destacar que hay una diferencia importante entre usar "TXT_" o "VTXT_" como prefijo de una marca Prontus en un FID y no hacerlo: las marcas que tengan prefijo TXT_ deberían usarse para texto que deba o pueda eventualmente mostrarse como párrafo. Por ejemplo, si una marca Prontus se usa para cargar un dato numérico, no debería usarse un prefijo TXT_ para definirla.

Texto con o sin código HTML

TXT_< nombre >

Descripción

Utilizada para el ingreso de texto con o sin código HTML.

 

FID

< tr >

< td align="RIGHT" >Comentario:< /td >

< td align="left" >

< textarea name="TXT_comentario" cols="60" wrap="VIRTUAL" rows="1" >%%TXT_comentario%%< /textarea >

< /td >

< /tr >

Artículo

Portada

Portada Taxonómica

RSS

%%IF(TXT_comentario)%%

< div class="epigrafe" >

%%TXT_comentario%%

< /div >

%%/IF%%

Artículo

Portada

Portada Taxonómica

RSS

%%LOOP1%%

< item >

< title >%%_TXT_TITULAR%%< /title >

< link >http://%%_SERVER_NAME%%%%_FILE%%< /link >

< description >%%TXT_comentario%%< /description >

< /item >

%%/LOOP%%

 

Texto con formato visual (HTML)

VTXT_< nombre >

Descripción

Para denominar texto proveniente del control VTXT, el cual permite al operador cambiar su formato por medio de una barra de herramientas con operaciones de formato: poner en negrita, alinear, viñetas, etc., además permite el ingreso de tablas y la asociación de imágenes.

Importante: Prontus utiliza el tag HTML < p >< /p > para delimitar los párrafos, y por defecto asume que el texto ingresado pertenece a un párrafo.

FID

< !-- cuerpo -- >
< div id="body2" vtxt_id="VTXT_CUERPO" >

< table width="100%" cellspacing="0" >

< tr >

< td align="left" valign="top" >

< !-- CONTROL VTXT -- >

< textarea id="VTXT_CUERPO" name="VTXT_CUERPO" class="VTXT_EDITOR" style="height:400px;width:565px;" >%%VTXT_CUERPO%%< /textarea >

< !-- /CONTROL VTXT -- >

< /td >

< /tr >

< /table >

< /div >

< !-- /cuerpo -- >

Artículo

Portada

Portada Taxonómica

RSS

< div class="CUERPO" >

%%VTXT_CUERPO%%

< /div >

Configuración de plugins y botones del editor VTXT

Desde Prontus 11.2.67, se agrega la posibilidad de modificar directamente los plugins y los botones de un VTXT en un determinado FID.
Para ello, se pueden usar las variables javascript:

  • vtxt_custom_plugins
  • vtxt_custom_buttons1
  • vtxt_custom_buttons2
  • vtxt_custom_buttons3

Para poder usarlas, se las debe definir antes de la marca %%_INIT_VTXT%%. Si éstas no se definen, tomará el valor por defecto. Las opciones de configuración disponibles se describen en la documentación de TinyMCE. Por ejemplo, se puede por ejemplo habilitar la opción "tooltips":
<!-- Control VTXT -->
<script type="text/javascript">
var vtxt_custom_plugins = "advimage,advlink,contextmenu,fullscreen,inlinepopups,media,paste,preview,searchreplace,spellchecker,table,visualchars,tooltip";
var vtxt_custom_buttons2 = "pastetext,pasteword,selectall,|,search,replace,|,undo,redo,|,link,unlink,|,tooltip,|,image,enmarcar,original,|,media,|,sub,sup,charmap,hr,|,table,visualaid,|,code,preview,fullscreen,|,help,xhtml";
</script>
%%_INIT_VTXT%%
<!-- /Control VTXT -->

Este código en particular está encapsulado como ejemplo en una macro reservada: _vtxt_enable_tooltips.html
Con esto, para habilitar los tooltips en el VTXT, se puede usar simplemente:
<!-- Control VTXT -->
%%MACRO(_vtxt_enable_tooltips.html)%%
%%_INIT_VTXT%%
<!-- /Control VTXT -->

Para completar el proceso, se debe insertar el archivo javascript  verTooltip.js en la plantilla de artículo. Este script se encuentra disponible en la carpeta /<prontus_id>/cpan/core/js-local/frontend/.