Actions

Theme editor/es: Difference between revisions

From LimeSurvey Manual

(Created page with "Desde LimeSurvey 3, el motor de temas utiliza [https://twig.symfony.com Twig], por lo que los desarrolladores de temas pueden cambiar la lógica de la encuesta de forma segura...")
(Created page with "===checkbox-text-item=== {|class=wikitable !'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos''' ! N!|- |multiplechoice_with_comments|| P || li |- |opción múltiple|| M |...")
 
(330 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages />  
<languages />  
Introducción
==Introducción==


LimeSurvey tiene un sistema avanzado de temas y estilos que brinda a los desarrolladores una forma eficiente de personalizar la apariencia de la encuesta. Desde LS3, ya no estamos hablando de '''"plantillas"''' como en versiones anteriores, sino de '''"temas"'''. Los '''temas''' permiten controlar el aspecto de las páginas durante una encuesta. Un administrador de la encuesta puede seleccionar un tema predeterminado que se utilizará para cada encuesta para personalizarlo aún más y mejorar su apariencia. Los '''Temas''' vienen con opciones que proporcionan al administrador sin habilidad de codificación una manera simple de agregar un logotipo en la página de bienvenida, cambiar los colores de fondo, seleccionar una fuente, etc.
LimeSurvey tiene un sistema avanzado de temas y estilos que brinda a los desarrolladores una forma eficiente de personalizar la apariencia de la encuesta. Desde LS3, ya no estamos hablando de '''"plantillas"''' como en versiones anteriores, sino de '''"temas"'''. Los '''temas''' permiten controlar el aspecto de las páginas durante una encuesta. Un administrador de la encuesta puede seleccionar un tema predeterminado que se utilizará para cada encuesta para personalizarlo aún más y mejorar su apariencia. Los '''Temas''' vienen con opciones que proporcionan al administrador sin habilidad de codificación una manera simple de agregar un logotipo en la página de bienvenida, cambiar los colores de fondo, seleccionar una fuente, etc.
Line 8: Line 8:




Desde LimeSurvey 2.50, el motor de temas utiliza [http://getbootstrap.com/docs/3.3/ Bootstrap 3] como framework CSS. Bootstrap 3 es un framework estándar, los desarrolladores encontrarán una gran cantidad de documentación, tutoriales y posts en foros sobre esto en Internet.  
Desde LimeSurvey 2.50, el motor de temas utiliza [http://getbootstrap.com/docs/3.3/ Bootstrap 3] como framework CSS. Como Bootstrap 3 es un framework estándar, los desarrolladores encontrarán una gran cantidad de documentación, tutoriales y publicaciones en foros sobre esto en Internet.  




Desde LimeSurvey 3, el motor de temas utiliza [https://twig.symfony.com Twig], por lo que los desarrolladores de temas pueden cambiar la lógica de la encuesta de forma segura y fácil. Twig reemplaza el antiguo sistema de palabras clave de reemplazo que se usaba en las versiones anteriores. La lógica que se utilizó para generar el HTML de las palabras clave ahora está disponible dentro de las vistas del tema.  
Desde LimeSurvey 3, el motor de temas utiliza [https://twig.symfony.com Twig], por lo que los desarrolladores de temas pueden cambiar la lógica de la visualización de la encuesta de forma segura y fácil. Twig reemplaza el antiguo sistema de palabras clave de reemplazo que se usaba en las versiones anteriores. La lógica que se utilizó para generar el HTML de las palabras clave ahora está disponible dentro de las vistas del tema.  




Snippet from Vanilla Theme:
Snippet del tema Vanilla:


<syntaxhighlight lang="twig" enclose="div">
<syntaxhighlight lang="twig" enclose="div">
<div class="{{ aSurveyInfo.class.answercontainer }} col-xs-12" {{ aSurveyInfo.attr.answercontainer }}>
<div class="{{ aSurveyInfo.class.answercontainer }} col-xs-12" {{ aSurveyInfo.attr.answercontainer }}>
    {# NOTE: If you want to customize the question rendering, use a question theme #}
  {# NOTA: Si desea personalizar la visualoización de la pregunta, use un tema de pregunta #}
    {{ aQuestion.answer | raw }}
  {{aQuestion.answer | raw}}
</div>
</div>
</syntaxhighlight>
</syntaxhighlight>


Themes, being HTML and Twig code, tend to define the positioning and type of text to be displayed and similar structural features of the page. They often reference or include other files. Most of them reference a common cascading style sheets (CSS) file that defines the font style, color, size, background, and similar parameters common to all pages in the survey. Style sheets reference HTML '''class''' parameters that are associated with the various types of objects in the HTML code. This allows the style sheet to describe how to display each of the many types of text or other objects that may appear in multiple places. There are unique classes for each question type in LimeSurvey and thus giving detailed control over the appearance of each. Image files, like logos or special progress-bar constructors, may be referenced as well in the Theme file. Finally, special keywords in curly braces are replaced with text defined in the survey for each language translation correspondent (for example, the 'Survey Title' or 'Question Text' for each language defined).
Los temas, al ser HTML y código Twig, tienden a definir el posicionamiento y el tipo de texto a mostrar y características estructurales similares de la página. A menudo hacen referencia o incluyen otros archivos. La mayoría de ellos hacen referencia a un archivo común de hojas de estilo en cascada (CSS) que define el estilo de fuente, color, tamaño, fondo y parámetros similares comunes a todas las páginas de la encuesta. Las hojas de estilo hacen referencia a los parámetros de '''clase''' HTML que están asociados con los diversos tipos de objetos en el código HTML. Esto permite que la hoja de estilo describa cómo mostrar cada uno de los muchos tipos de texto u otros objetos que pueden aparecer en varios lugares. Hay clases únicas para cada tipo de pregunta en LimeSurvey y, por lo tanto, dan un control detallado sobre la apariencia de cada una. También se puede hacer referencia a los archivos de imagen, como logotipos o constructores especiales de barras de progreso, en el archivo de tema. Finalmente, las palabras clave especiales entre llaves se reemplazan con texto definido en la encuesta para cada traducción de idiomas correspondiente (por ejemplo, el 'Título de la encuesta' o el 'Texto de pregunta' para cada idioma definido).


If you create a new custom theme, please consider contributing it back to the LimeSurvey community and make it available to others. With your help, we can grow our repository of themes, surveys, and other add-ons to make LimeSurvey even better!
Si crea un nuevo tema personalizado, considere compartirlo con la comunidad LimeSurvey y ponerlo a disposición de otros. Con su ayuda, podemos hacer crecer nuestro repositorio de temas, encuestas y otros complementos para que LimeSurvey sea aún mejor.
See our [https://www.limesurvey.org/index.php?option=com_sobipro&sid=55:Templates&Itemid=729 LimeSurvey template repository] where you can share your templates.
Vea nuestro [https://www.limesurvey.org/index.php?option=com_sobipro&sid=55:Templates&Itemid=729 repositorio de plantillas LimeSurvey] donde puede compartir sus plantillas.


=Creating a new theme=
==Creando un nuevo tema==


To be able to create a new theme (or edit an existing theme), you need [[Manage users#Set global permissions for a user|Template Editing user permission]] in LimeSurvey as well as permission to manipulate the files in the underlying operating system hosting your LimeSurvey installation.
Para poder crear un nuevo tema (o editar un tema existente), necesita [[Manage users#Set global permissions for a user | Permisos de usuario para edición de plantillas]] en LimeSurvey, así como permisos para manipular los archivos en el funcionamiento subyacentes del sistema que aloja su instalación de LimeSurvey.


<div class="simplebox"><span style='color:red'>'''Note of Warning:'''</span> If you change themes, you could also affect all the pre-existing surveys from your LimeSurvey installation. Themes are an advanced feature that require experience and HTML knowledge in order to make them running smoothly.</div>
<div class="simplebox"><span style='color:red'>'''Nota de advertencia:'''</span> Si cambia de tema, también podría afectar todas las encuestas preexistentes de su instalación de LimeSurvey. Los temas son una función avanzada que requiere experiencia y conocimientos de HTML.</div>


The preferred way to create a new theme is through the '''Theme Editor''' (see below), which is located in the '''Configuration''' dialog. Some people may like to work directly with theme files so that they can use their favorite text editor instead of the web interface. In this case, still use the Theme Editor to first create your new theme. This will create a new base theme with all the files you need in the ''LimeSurvey_web_root/upload/themes/survey/your_new_template'' directory. From there you can use your text editor to manually adjust the template files.
La forma preferida de crear un nuevo tema es a través del '''Editor de temas''' (ver más abajo), que se encuentra en '''Configuración''' en la barra de herramientas superior. Es posible que a algunas personas les guste trabajar directamente con archivos de temas para poder usar su editor de texto favorito en lugar de la interfaz web. En este caso, aún use el Editor de temas para crear primero su nuevo tema. Esto creará un nuevo tema base con todos los archivos que necesita en el directorio ''LimeSurvey_web_root/upload/themes/survey/su_nuevo_tema''. Desde allí, puede usar su editor de texto para ajustar manualmente los archivos de la plantilla.


<div class="simplebox">'''Permissions Note:''' on unix/linux systems, these theme files will be owned by the group and user where the web server is running (may be "www" for some systems). So, make sure you have enough access to edit these files, When you save them, make sure they don't change ownership! In this way, you can still use the web Theme Editing interface if needed.</div><br />
<div class="simplebox">'''Nota sobre permisos:''' en sistemas Unix/Linux, estos archivos de tema serán propiedad del grupo y usuario donde se ejecuta el servidor web (puede ser "www" para algunos sistemas). Por lo tanto, asegúrese de tener los permisos adecuados para editar estos archivos. Cuando los guarde, ¡asegúrese de que no cambien de propietario! De esta manera, aún puede usar la interfaz web de Edición de Temas si es necesario.</div><br />


A number of 'public' elements of LimeSurvey can be adjusted by a series of themes. The next section provides a very brief explanation of these templates.
Una serie de elementos 'públicos' de LimeSurvey se pueden ajustar mediante una serie de temas. La siguiente sección proporciona una explicación muy breve de estas plantillas.


{{Note|Themes files may seem complex. Besides HTML, you might also need to understand CSS, Twig, and JavaScript.}}
{{Nota|Los archivos de temas son una característica compleja. Además de HTML, también debe estar familiarizado con CSS, Twig y JavaScript.}}


=The LimeSurvey Theme editor=
=El editor de temas de LimeSurvey=


To ease the understanding and quick update of a Theme, LimeSurvey provides a '''Theme Editor''' in the main '''administrative''' toolbar of the application. This Theme Editor is only available to users [[Manage users#Set global permissions for a user|with the Templates permission]] and to superadministrators.  
'''Editor de temas''': '''Configuración''' > '''Temas'''> '''Editor de temas'''
El Editor de temas solo está disponible para los usuarios [[Manage users#Set global permissions for a user|con el permiso Plantillas]] y para superadministradores.  


{{Alert|title=Attention|text=A theme that is not correctly constructed can make a survey (that uses the respective template) inoperable. }}


The LimeSurvey theme editor allows you to edit the contents of your themes online. To start the Theme Editor: click on '''Themes''' link in the '''Configuration''' menu, and then click on the "Theme editor"  button next of the theme you want to edit or extend.  
{{Alert|title=Atención|text=Un tema que no está construido correctamente puede causar que una encuesta (que usa la correspondiente plantilla) deje de funcionar. }}
 
 
El editor de temas de LimeSurvey le permite editar en línea el contenido de sus temas. Para iniciar el Editor de temas: haga clic en '''Temas''' en el menú '''Configuración''' y luego haga clic en el botón '''Editor de temas''' junto al tema que desea editar o ampliar.  
 


[[File:Themes menu.png]]
[[File:Themes menu.png]]
[[File:Theme editor button.png|''The button to access the theme editor for Bootswatch theme'']]
[[File:Theme editor button.png|''El botón para acceder al editor de temas para el tema Bootswatch'']]
 
 
La página del editor de plantillas le permite seleccionar la plantilla que desea editar/ver.
 


The template editor page allows you to select the template you would like to edit/view.  
[[File:Template-editor-2013-7-10_11_38_16.png | center]]


[[File:Template-editor-2013-7-10_11_38_16.png|center]]


The following options are available:
Las siguientes opciones están disponibles:


*'''Create''': Allows you to create a new template. In order not to start from scratch, the template 'default' is copied.
*'''Import''': Allows you to import a template from a ZIP file.
*'''Export''': Allows you to export the current template to a ZIP file.
*'''Copy''': Allows you to make a new template by copying the current one.
*'''Rename''': Allows you to change the name of the template. It is generally used after copying or importing a template.
*'''Template''': It is a drop-down list that shows all the available templates that are located in your LimeSurvey installation.


*'''Screen''': It is a drop-down list which allows you to choose which particular survey page of that template you want to look at.
*'''Crear''': Le permite crear una nueva plantilla. Para no empezar de cero, se copia la plantilla 'predeterminada'.
*'''Return to admin panel'''.
*'''Importar''': Permite importar una plantilla desde un archivo ZIP.
*'''Exportar''' : Le permite exportar la plantilla actual a un archivo ZIP.
*'''Copiar''': Le permite crear una nueva plantilla copiando la actual.
*'''Renombrar''': Le permite cambiar el nombre de la plantilla. Generalmente se usa después de copiar o importar una plantilla.
*'''Plantilla''': Una lista desplegable que muestra todas las plantillas disponibles que se encuentran en su instalación de LimeSurvey.


==Import/export/copy a template==
*'''Pantalla''': es una lista desplegable que le permite elegir qué página de encuesta en particular de esa plantilla desea ver.
*'''Volver al panel de administración'''.


When you '''export '''a template, a ZIP-file archive with all the files your template consists of will be created (.pstpl files, images, css files, ...). You can simply '''import''' the exported zip-file into another LimeSurvey installation by using the import feature or you can manually copy the archive into another LimeSurvey installation and extract it into the corresponding [[Theme editor#Template files location|template directory there]].
===Importar/Exportar/Copiar una plantilla===


However, it is preferred to use the LimeSurvey template import/export/copy functions in the template editor.
Cuando '''exporte '''una plantilla, se creará un archivo ZIP con todos los archivos de su plantilla (archivos .pstpl, imágenes, archivos css, ...). Puede '''importar''' el archivo zip exportado a otra instalación de LimeSurvey usando la función de importación o puede copiar manualmente el archivo a otra instalación de LimeSurvey y extraerlo en el correspondiente [[Theme editor#Template files location|directorio de plantillas]].  


==Page Structure / Template Use==
Sin embargo, es preferible utilizar las funciones de importación/exportación/copia de plantillas de LimeSurvey en el editor de plantillas.
*'''The Welcome Page:''' startpage.pstpl, welcome.pstpl, privacy.pstpl,  navigator.pstpl, endpage.pstpl
*'''The Questions Pages:''' startpage.pstpl, survey.pstpl, startgroup.pstpl, groupdescription.pstpl, question.pstpl, endgroup.pstpl, endpage.pstpl
*'''The Final Page:''' startpage.pstpl, assessment.pstpl, completed.pstpl, endpage.pstpl


==Template Files==
===Estructura de página/Uso de plantilla===
*'''La Página de Bienvenida:''' startpage.pstpl, welcome.pstpl, privacy.pstpl, navigator.pstpl, endpage.pstpl
*'' 'Las Páginas de Preguntas:''' startpage.pstpl, encuesta.pstpl, startgroup.pstpl, groupdescription.pstpl, question.pstpl, endgroup.pstpl, endpage.pstpl
*'''La Página Final:''' startpage .pstpl, evaluación.pstpl, completado.pstpl, endpage.pstpl


The following template files are used to produce your public survey and must exist in any new template folder you create:
===Archivos de plantilla===
*'''startpage.pstpl:''' Produces the start of each html page. It starts at the "<head>" tag, and should not contain the "<html>" tag. This 'very beginning' of a standard html page is written by the scripts. Please ensure that your startpage.pstpl files contains a <body> tag. Even though many browsers do not require strict adherence to the W3 HTML standards, the LimeSurvey script needs to find a <body> tag to run certain javascript elements. It is not expected to see many 'keywords' used in the startpage.pstpl file. However, you may wish to put the {SURVEYNAME} into the title. The startpage.pstpl file can contain code that ends in the corresponding endpage.pstpl file. For example, you can start a table in this file and close the table in the endpage.pstpl file. The startpage.pstpl and endpage.pstpl files wrap around every possible page used by LimeSurvey.
*'''survey.pstpl:''' This template is the second used on most pages and provides a space to put the survey name and description. This template does not have a corresponding 'closing' template, and subsequently you should close all tags opened in this template file (i.e.: don't leave a table open here because there is nowhere else to close it).
*'''welcome.pstpl:''' This template is only used in the welcome screen (which is also on the main page for 'all in one' surveys). You can use this to print out the welcome text, and other information that should be provided in the introduction. Like the 'survey.pstpl' file, there is no corresponding 'closing' template, so all tags opened in this template file should be closed as well.
*'''startgroup.pstpl:''' This template can provide a 'summary' wrap around for questions within a group. It has a matching 'endgroup.pstpl' template that can be used to close any opened tags in this file, so you can open a table within this.
*'''groupdescription.pstpl:''' This template file is used to display a description of a group. Please note that in the survey settings (access the ''Presentation & navigation settings'' by clicking on the '''Presentation''' tab) you can set if the group description should be shown or not. If not, then this file is not included at all.
*'''question.pstpl:''' This file contains the question, answer, and help text sections of your survey. In the "group by group" and "all in one" surveys, this template is cycled repeatedly with each question. There is no corresponding closing file for this and all tags should be closed.
*'''question_start.pstpl:''' This file contains the individual elements found at the start of a question. It is included within 'question.pstpl' via the {QUESTION} keyword. It is intended to allow template designers more control over the layout of a question. This template sits outside the normal templating system and '''was superseeded (as of LimeSurvey 1.87)'''. All keywords from this template are now available directly in question.pstpl.
*'''completed.pstpl:''' This page is displayed as the final page when the survey responses have been saved and the survey is over. It can be used to display a "forwarding link" as set in the survey setup.
*'''endgroup.pstpl:''' This file closes the group, and can be used to close off any tags opened in the startgroup.pstpl file
*'''navigator.pstpl:''' This file contains the buttons that navigate through the survey, "next", "prev", "last", "submit", "save so far"  and the "clear all" link. It is used in all pages except the completed page.
*'''printanswers.pstpl:''' This file has the HTML wrapper necessary for the print version of the survey.
*'''print_group.pstpl:''' This file is the same as startgroup.pstpl and endgroup.pstpl, but for the print version of the survey.
*'''print_question.pstpl:''' This file is the same as question.pstpl, but for the print version of the survey.
*'''print_survey.pstpl:''' This file is the same as survey.pstpl, but for the print version of the survey.


== CSS and Javascript==
Los siguientes archivos de plantilla se utilizan para producir su encuesta pública y deben existir en cualquier nueva carpeta de plantilla que cree:
*'''startpage.pstpl:''' Produce el inicio de cada página html. Comienza en el etiqueta "<head>" , y no debe contener el etiqueta "<html> ". Este 'comienzo' de una página html estándar es escrito por los scripts. Asegúrese de que sus archivos startpage.pstpl contengan unetiqueta <body>. Aunque muchos navegadores no requieren un cumplimiento estricto de los estándares HTML de W3, el script de LimeSurvey necesita encontrar una etiqueta <body> para ejecutar ciertos elementos de javascript. No es común ver muchas 'palabras clave' utilizadas en el archivo startpage.pstpl. Sin embargo, es posible que desee poner {SURVEYNAME} en el título. El archivo startpage.pstpl puede contener código que termina en el archivo endpage.pstpl correspondiente. Por ejemplo, puede iniciar una tabla en este archivo y cerrar la tabla en el archivo endpage.pstpl. Los archivos startpage.pstpl y endpage.pstpl envuelven todas las páginas posibles utilizadas por LimeSurvey.
*'''survey.pstpl:''' Esta plantilla es la segunda utilizada en la mayoría de las páginas y proporciona un espacio para poner el nombre de la encuesta y su descripción. Esta plantilla no tiene una plantilla de 'cierre' correspondiente y por tanto debe cerrar todas las etiquetas abiertas en este archivo de plantilla (es decir, no deje una tabla abierta aquí porque no hay otro lugar para cerrarla).
*'''welcome.pstpl:''' Esta plantilla solo se usa en la pantalla de bienvenida (que también se encuentra en la página principal de las encuestas 'todo en uno'). Puede usarlo para imprimir el texto de bienvenida y otra información que deba proporcionarse en la introducción. Al igual que el archivo 'survey.pstpl', no hay una plantilla de 'cierre' correspondiente, por lo que todas las etiquetas abiertas en este archivo de plantilla también deben cerrarse.
*'''startgroup.pstpl:''' Esta plantilla puede proporcionar un envoltorio de 'resumen' para preguntas dentro de un grupo. Tiene una plantilla 'endgroup.pstpl' pareja que se puede usar para cerrar cualquier etiqueta abierta en este archivo, por lo que puede abrir una tabla dentro de éste.
*'''groupdescription.pstpl:''' Este archivo de plantilla se utiliza para mostrar una descripción de un grupo. Tenga en cuenta que en la configuración de la encuesta (acceda a ''Presentación y configuración de navegación'' haciendo clic en la pestaña '''Presentación''') puede establecer si la descripción del grupo debe mostrarse o no. Si no, este archivo no se incluye en absoluto.
*'''question.pstpl:''' Este archivo contiene las secciones de preguntas, respuestas y texto de ayuda de su encuesta. En las encuestas "grupo a grupo" y "todo en uno", esta plantilla se alterna repetidamente con cada pregunta. No hay un archivo de cierre correspondiente para esto y todas las etiquetas deben cerrarse.
*'''question_start.pstpl:''' Este archivo contiene los elementos individuales que se encuentran al comienzo de una pregunta. Se incluye dentro de 'question.pstpl' a través de la palabra clave {QUESTION}. Su objetivo es permitir a los diseñadores de plantillas un mayor control sobre el diseño de una pregunta. Esta plantilla se encuentra fuera del sistema de plantillas normal y '''fue reemplazada (a partir de LimeSurvey 1.87)'''. Todas las palabras clave de esta plantilla ahora están disponibles directamente en question.pstpl.
*'''completed.pstpl:''' Esta página se muestra como la página final cuando las respuestas de la encuesta se han guardado y la encuesta ha terminado. Se puede usar para mostrar un "enlace de reenvío" como se establece en la configuración de la encuesta.
*'''endgroup.pstpl:''' Este archivo cierra el grupo y se puede usar para cerrar cualquier etiqueta abierta en el archivo startgroup.pstpl
*'''navigator.pstpl:''' Este archivo contiene los botones que navegan por la encuesta, "siguiente", "anterior", "último", "enviar", "guardar hasta ahora" y el enlace "borrar todo". Se usa en todas las páginas excepto en la página completada.
*'''printanswers.pstpl:''' Este archivo tiene el contenedor HTML necesario para la versión impresa de la encuesta.
*'''print_group.pstpl :'''' Este archivo es el mismo que startgroup.pstpl y endgroup.pstpl, pero para la versión impresa de la encuesta.
*'''print_question.pstpl:''' Este archivo es el mismo que question.pstpl , pero para la versión impresa de la encuesta.
*'''print_survey.pstpl:''' Este archivo es el mismo que survey.pstpl, pero para la versión impresa de la encuesta.


Two files that are always used in a template are template.css (for CSS) and template.js (for Javascript).
=== CSS y JavaScript===
*'''{TEMPLATECSS}:''' Add lines for default css, template.css, and template-rtl.css for rtl language.
*'''{TEMPLATEJS}:''' Add lines for default javascript files, template.js, and all js files needed for LimeSurvey.


=== Using Bootstrap===
Dos archivos que siempre se usan en una plantilla son template.css (para CSS) y template.js (para Javascript).
LimeSurvey has Bootstrap 3 embedded, so you can style all your templates with the well documented Bootstrap classes.
*'''{TEMPLATECSS}:''' Agrega líneas para el css predeterminado, template.css, y template-rtl.css para el lenguaje rtl.
For more information please refer to the [https://getbootstrap.com Bootstrap documentation].
*'''{TEMPLATEJS}:''' Agrega líneas para los archivos javascript predeterminados, template.js y todos los archivos js necesarios para LimeSurvey.


The [https://github.com/flatlogic/awesome-bootstrap-checkbox Awesome-Bootstrap-Checkbox] plugin is also included. With it, you can use the typical Bootstrap color-classes (info,warning,danger,etc.) also with the suffix "-checkbox" or "-radio", though styling checkboxes and radios as you prefer.
===Uso de Bootstrap===
LimeSurvey tiene Bootstrap 3 incorporado, por lo que puede diseñar todas sus plantillas con las bien documentadas clases de Bootstrap.
Para obtener más información, consulte la [https://getbootstrap.com documentación de Bootstrap ].


=== Replacing default CSS or Javascript===
También se incluye el complemento [https://github.com/flatlogic/awesome-bootstrap-checkbox Awesome-Bootstrap-Checkbox]. Con él, puede usar las clases de color típicas de Bootstrap (información, advertencia, peligro, etc.) también con el sufijo "-checkbox" o "-radio", aunque las casillas de verificación y las radios se diseñan como usted prefiera.


Some questions use specific files for Javascript or CSS. If you need to replace a function, use a cascading system. For javascript function, the last function read is the function used.
==== Reemplazo de CSS o Javascript predeterminados ====


==Other Template Files==
Algunas preguntas usan archivos específicos para Javascript o CSS. Si necesita reemplazar una función, use un sistema en cascada. Para la función javascript, la última función leída es la función utilizada.


The '''privacy.pstpl''', '''invitationemail.pstpl''', '''reminderemail.pstpl''', and '''confirmationemail.pstpl''' are no longer used by LimeSurvey and defaults are instead set in the applicable language files. The email messages can now be edited on a survey by survey basis.
===Otros archivos de plantilla===


==Standard Pages==
LimeSurvey ya no utiliza '''privacy.pstpl''', '''invitationemail.pstpl''', '''reminderemail.pstpl''' y '''confirmemail.pstpl''' en su lugar, puede configurarlos en los archivos de idioma correspondientes. Los mensajes de correo electrónico ahora se pueden editar encuesta por encuesta.


There are ten standard pages that a survey participant may see in the course of taking or accessing the LimeSurvey application. Each is constructed from a number of common '''Template''' files from the '''Template''' specified in the settings of the survey. The table below indicates which template files are used in constructing each of these pages.
===Páginas estándar===
 
Hay diez páginas estándar que un participante de la encuesta puede ver en el curso de tomar o acceder a la aplicación LimeSurvey. Cada una se construye a partir de una serie de archivos '''Plantilla''' comunes de la '''Plantilla''' especificada en la configuración de la encuesta. La siguiente tabla indica qué archivos de plantilla se utilizan para construir cada una de estas páginas.


{| class="wikitable"
{| class="wikitable"
!  '''Survey Pages/'''<br />'''Template Files'''!!Survey<br />List!!Welcome!!Question!!Completed!!Clear All!!Register!!Load!!Save!!Print<br />Answers!!Print<br />Survey
!  '''Páginas de encuesta/'''<br />'''Archivos de plantilla'''!!Lista de<br />Encuestas!!Bienvenido!!Pregunta!!Completado!!Limpiar todo !!Registrar!!Cargar!!Guardar!!Imprimir<br />Respuestas!!Imprimir<br />Encuesta
|-
|-
|SurveyList||align="center" | [[File:check.gif]]|| || || || || || || || ||
|SurveyList||align="center" | [[File:check.gif]]|| || || || || || || || ||
Line 166: Line 174:
|}
|}


<span style='color:red'>'''*'''</span>NOTE: In version 1.90+, this replaces question.pstpl AND question_start.pstpl. If you are using an old custom template, you need to add the following line to the beginning of question.pstpl:<syntaxhighlight lang="php" enclose="div"><div {QUESTION_ESSENTIALS} class="{QUESTION_CLASS}{QUESTION_MAN_CLASS}{QUESTION_INPUT_ERROR_CLASS}"></syntaxhighlight>And then add the corresponding closing tag to the end of question.pstpl:<syntaxhighlight lang="php" enclose="div"></div></syntaxhighlight>
<span style='color:red'>'''*'''</span> NOTA: En la versión 1.90+, esto reemplaza a question.pstpl Y question_start.pstpl. Si está utilizando una plantilla personalizada antigua, debe agregar la siguiente línea al comienzo de question.pstpl: <syntaxhighlight lang="php"><div {QUESTION_ESSENTIALS} class="{QUESTION_CLASS}{QUESTION_MAN_CLASS}{QUESTION_INPUT_ERROR_CLASS}"></syntaxhighlight> Y luego agregue la etiqueta de cierre correspondiente al final de question.pstpl:<syntaxhighlight lang="php"></div></syntaxhighlight>


<span style='color:red'>'''*'''</span>NOTE: In version 1.91 and earlier, LimeSurvey js files are not included in the template. In version 2, '''you have to use {TEMPLATEJS} in one of your template file''' to add the link to the js file. You can add it in startpage.pstpl or in endpage.pstpl. You can remove the {TEMPLATEURL}/template.js line and you have to replace with {TEMPLATEJS} to update a personal template.
<span style='color:red'>'''*'''</span> NOTA: en la versión 1.91 y anteriores, los archivos js de LimeSurvey no están incluidos en la plantilla. En la versión 2, '''debe usar {TEMPLATEJS} en uno de sus archivos de plantilla''' para agregar el enlace al archivo js. Puede agregarlo en startpage.pstpl o en endpage.pstpl. Puede eliminar la línea {TEMPLATEURL}/template.js y debe reemplazarla por {TEMPLATEJS} para actualizar una plantilla personal.


==The File Control Section==
===La sección de control de archivos===


In the "file control" window on the left, you can click on one of the template files that is used to compile the page. You can see the ''Screen part'', JavaScript, and CSS files. The HTML code for that file will then appear in the "Now editing" window in the center. If the template is editable (determined by directory permissions) you can then make any changes and save them.
En la ventana "control de archivos" de la izquierda, puede hacer clic en uno de los archivos de plantilla que se utilizan para compilar la página. Puede ver la ''Parte de la pantalla'', los archivos JavaScript y CSS. El código HTML para ese archivo aparecerá en la ventana "Ahora editando" en el centro. Si la plantilla es editable (determinada por los permisos del directorio), puede realizar cambios y guardarlos.


<center>[[File:File Control Section.png|center]]</center>
<center>[[File:File Control Section.png|center]]</center>


The "Other files" window shows a list of all other files from the template directory. You can use the right side to '''upload and select image files (your pics, logos,...) or other files needed to create your template'''.


Instead of using a link for each picture, utilize the field string {TEMPLATEURL}. So, instead of:
La ventana "Otros archivos" muestra una lista de todos los demás archivos del directorio de plantillas. Puede usar el lado derecho para '''cargar y seleccionar archivos de imagen (sus fotos, logotipos, ...) u otros archivos necesarios para crear su plantilla'''.  


<syntaxhighlight lang="html4strict" enclose="div">img src='/limesurvey/templates/yourtemplate/files/mypicture.jpg'</syntaxhighlight>
You can use {{NewIn|2.50}}:
<syntaxhighlight lang="html4strict" enclose="div">img src='{TEMPLATEURL}files/mypicture.jpg'</syntaxhighlight>


In LimeSurvey versions before 2.50 use:
En lugar de usar un enlace para cada imagen, utilice la cadena de campo {TEMPLATEURL}. Entonces, en lugar de:
<syntaxhighlight lang="html4strict" enclose="div">img src='{TEMPLATEURL}mypicture.jpg'</syntaxhighlight>


A "sample" of the template page you are editing will be visible in the bottom of the screen. There is no way to delete a template from the template editor. This must be done by accessing the underlying directory and deleting manually the files from there. You also have the possibility to select different screen resolutions in order to better evaluate the feel and look of the template.
<syntaxhighlight lang="html4strict">img src='/limesurvey/templates/yourtemplate/files/mypicture.jpg'</syntaxhighlight>
Puedes usar {{NewIn|2.50}}:
<syntaxhighlight lang="html4strict"> img src='{TEMPLATEURL}archivos/miimagen.jpg'</syntaxhighlight>


<div class="simplebox">'''Note:''' The shipped templates cannot be edited using the template editor. If you want to modify them, create a copy first and edit the copy.</div>
En versiones de LimeSurvey anteriores a la 2.50 utilice:
<syntaxhighlight lang="html4strict"> img src='{TEMPLATEURL}miimagen.jpg'</syntaxhighlight>


==Template files location==
Una "muestra" de la página de plantilla que está editando será visible en la parte inferior de la pantalla. No hay forma de eliminar una plantilla del editor de plantillas. Esto debe hacerse accediendo al directorio subyacente y eliminando manualmente los archivos desde allí. También tiene la posibilidad de seleccionar diferentes resoluciones de pantalla para evaluar mejor la sensación y el aspecto de la plantilla.


LimeSurvey stores each of the 'standard' templates in their own distinct sub-directory within the ''/templates'' directory that is kept in the public directory with the other LimeSurvey public files. Customized user templates are stored in the ''/upload/templates'' directory.
<div class="simplebox"> '''Nota:''' Las plantillas preinstaladas no se pueden editar con el editor de plantillas. Si desea modificarlos, cree primero una copia y edítela. </div>


There should '''ALWAYS''' be a "default" directory in the templates directory. This template is used by default and as a fall-back if a template folder doesn't exist, or can't be found. It comes installed by default.
===Ubicación de los archivos de plantilla===


You can use any image files that you upload into the template management area with the help of this syntax:
LimeSurvey almacena cada una de las plantillas 'estándar' en su propio subdirectorio dentro del directorio ''/templates'' que se mantiene en el directorio público con los otros archivos públicos de LimeSurvey. Las plantillas de usuario personalizadas se almacenan en el directorio ''/upload/templates ''.


<syntaxhighlight lang="php" enclose="div">{TEMPLATEURL}filename.xyz</syntaxhighlight>
'''SIEMPRE''' debería  haber un directorio "predeterminado" en el directorio de plantillas. Esta plantilla se usa de manera predeterminada y como alternativa si no existe una carpeta de plantilla o no se puede encontrar. Éste viene instalado por defecto.


=Styling questions with CSS=
Puede usar cualquier archivo de imagen que suba en el área de administración de plantillas con la ayuda de esta sintaxis:


Styling of questions in CSS has become much easier. Each question type has now a unique class. The mandatory questions have an additional mandatory class. For example, for a non-mandatory question:
<syntaxhighlight lang="php">{TEMPLATEURL}nombre de archivo.xyz</syntaxhighlight>


<syntaxhighlight lang="html4strict" enclose="div"><div id="question5" class="gender">
==Preguntas de estilo con CSS==
 
El estilo de las preguntas en CSS se ha vuelto mucho más fácil. Cada tipo de pregunta tiene ahora una clase única. Las preguntas obligatorias tienen una clase obligatoria adicional. Por ejemplo, para una pregunta no obligatoria:
 
<syntaxhighlight lang="html4strict"><div id="question5" class="gender">
...
...
</div></syntaxhighlight>
</div></syntaxhighlight>


and if the question is mandatory:
y si la pregunta es obligatoria:


<syntaxhighlight lang="html4strict" enclose="div"><div id="question5" class="gender mandatory">
<syntaxhighlight lang="html4strict"><div id="question5" class="gender mandatory">
...
...
</div></syntaxhighlight>
</div></syntaxhighlight>


and if the question is mandatory, but the user didn't answer it or if there is validation on a question:
y si la pregunta es obligatoria, pero el usuario no la respondió o si hay una validación en una pregunta:


<syntaxhighlight lang="html4strict" enclose="div"><div id="question5" class="gender mandatory input-error">
<syntaxhighlight lang="html4strict"><div id="question5" class="gender mandatory input-error">
...
...
</div></syntaxhighlight>
</div></syntaxhighlight>


and if the question has validation applied, but the user hasn't answered correctly:
y si la pregunta tiene validación aplicada, pero el usuario no ha respondido correctamente:


<syntaxhighlight lang="html4strict" enclose="div"><div id="question6" class="text-short input-error">
<syntaxhighlight lang="html4strict"><div id="question6" class="text-short input-error">
...
...
</div></syntaxhighlight>
</div></syntaxhighlight>


==Global classes for question part==
==Clases globales para la parte de la pregunta==


These classes are used for each question type. Some question types use only one or two classes, while others may use much more.
Estas clases se usan para cada tipo de pregunta. Algunos tipos de preguntas usan solo una o dos clases, mientras que otras pueden usar muchas más.


{| class="wikitable alternance"
{| class="wikitable alternance"
|+ Global classes
|+ Clases globales
|-
|-
! scope="col" | Class name
! scope="col" | Nombre de la clase
! scope="col" | Part
! scope="col" | Parte
! scope="col" | Question type
! scope="col" | Tipo de pregunta
! scope="col" | Examples
! scope="col" | Ejemplo
! scope="col" | Note
! scope="col" | Nota
|-
|-
! scope="row" | .question {{ObsoleteIn|3.0}}
! scope="row" | .question {{ObsoleteIn|3.0}}
| All question block
| Todos los bloques de preguntas
| All question type
| Todos los tipos de preguntas
|&lt;p class="question">, &lt;ul class="question">, &lt;table class="question">
|&lt;p class="question">, &lt;ul class="question">, &lt;table class="question">
|  
|  
|-
|-
! scope="row" | .ls-answers {{NewIn|3.0}}
! scope="row" | .ls-answers {{NewIn|3.0}}
| All question block
| Todos los bloques de preguntas
| All question type
| Todos los tipos de preguntas
|&lt;div class="ls-answers ">, &lt;ul class="ls-answers ">, &lt;table class="ls-answers">
|&lt;div class="ls-answers ">, &lt;ul class="ls-answers ">, &lt;table class="ls-answers">
|  
|  
|-
|-
! scope="row" | .subquestions-list
! scope="row" | .subquestions-list
| List of subquestion
| Lista de sub-preguntas
| Multi choice question, array question type
| Preguntas de opción múltiple, preguntas tipo matriz
| &lt;ul class="subquestions-list">, &lt;table class="subquestions-list">
| &lt;ul class="subquestions-list">, &lt;table class="subquestions-list">
| .questions-list is used too
| .questions-list también se usa
|-
|-
! scope="row" | .answers-list
! scope="row" | .answers-list
| List of answers
| Lista de respuestas
| Single choice question, array question type, Multi input text question
| Preguntas de opción única, preguntas tipo matriz, Preguntas de entrada múltiple de texto
| &lt;ul class="answers-list">, &lt;table class="answers-list">
| &lt;ul class="answers-list">, &lt;table class="answers-list">
|  
|  
|-
|-
! scope="row" | .answer-item
! scope="row" | .answer-item
| The answer part: one answer
| La parte de respuesta: una respuesta
| Single choice question, array question type, Multi input text question
| Preguntas de opción única, preguntas tipo matriz, Preguntas de entrada múltiple de texto
| &lt;li class="answer-item">, &lt;td class="answer-item">
| &lt;li class="answer-item">, &lt;td class="answer-item">
|
|
|-
|-
! scope="row" | .noanswer-item
! scope="row" | .noanswer-item
| The answer part for no answer
| La parte de respuesta para sin respuesta
| Single choice question, array question type
| Preguntas de opción única, preguntas tipo matriz
| &lt;li class="noanswer-item">, &lt;td class="noanswer-item">
| &lt;li class="noanswer-item">, &lt;td class="noanswer-item">
| No answer is an answer too, then have double class noanswer-item and answer-item
| No answer is an answer too, then have double class noanswer-item and answer-item
Line 430: Line 440:
| Question with checkbox
| Question with checkbox
| &lt;input type="checkbox" class="checkbox">
| &lt;input type="checkbox" class="checkbox">
| With modern browser: not needed, but some old browser need this
| Con navegadores modernos no es necesario, pero algunos navegadores antiguos lo necesitan
|-
|-
! scope="row" | .radio {{ObsoleteIn|3.0}}
! scope="row" | .radio {{ObsoleteIn|3.0}}
| input[type=radio]
| entrada[tipo=selección]
| Question with radio
| Pregunta con selección
| &lt;input type="radio" class="radio">
| &lt;input type="radio" class="radio">
| With modern browser: not needed, but some old browser need this
| With modern browser: not needed, but some old browser need this
|-
|-
! scope="row" | .text
! scope="row" | .text
| input[type=text]
| entrada[tipo=texto]
| Question with input text, or textarea
| Pregunta con texto de entrada o área de texto
| &lt;textarea class="text">
| &lt;textarea class="text">
|
|
|-
|-
! scope="row" | .answertext
! scope="row" | .answertext
| Array question type
| Tipo de pregunta de matriz
| Answer part of array question type
| Parte de respuestas de las preguntas tipo matriz
| &lt;th class="answertext">
| &lt;th class="answertext">
|
|
|-
|-
! scope="row" | .col-answers
! scope="row" | .col-answers
| Array question type
| Tipo de pregunta de matriz
| Column of answers
| Columna de respuestas
| &lt;col class="col-answers">
| &lt;col class="col-answers">
|
|
|-
|-
! scope="row" | .odd .even {{ObsoleteIn|2.50}}
! scope="row" | .odd .even {{ObsoleteIn|2.50}}
| Array question type
| Tipo de pregunta de matriz
| Alternation for column
| Alternancia por columna
| &lt;col class="odd">
| &lt;col class="odd">
|
|
|-
|-
! scope="row" | .array1 .array2  {{ObsoleteIn|3.0}}
! scope="row" | .array1 .array2  {{ObsoleteIn|3.0}}
| Array question type
| Tipo de pregunta de matriz
| Alternation for line
| Alternancia por línea
| &lt;tr class="array1">
| &lt;tr class="array1">
|
|
|-
|-
! scope="row" | .ls-odd .ls-even  {{NewIn|3.0}}
! scope="row" | .ls-odd .ls-even  {{NewIn|3.0}}
| Array question type
| Tipo de pregunta de matriz
| Alternation for subquestion and Y axis
| Alternancia para sub-pregunta y eje Y
| &lt;tr class="ls-odd">
| &lt;tr class="ls-odd">
|
|
|}
|}


=== Some example of question part with classes===
==== Algunos ejemplos de parte de preguntas con clases ====


'''Text-short question type:'''<source lang="html4strict">
'''Tipo de pregunta de texto corto:'''<source lang="html4strict">
<p class="question answer-item text-item ">
<p class="question answer-item text-item ">
<label class="hide label" for="answerSGQA">Answer</label><input type="text" value="" id="answerSGQA" name="SGQA" size="50" class="text  empty">
<label class="hide label" for="answerSGQA">Answer</label><input type="text" value="" id="answerSGQA" name="SGQA" size="50" class="text  empty">
</p>
</p>
</source>
</source>
'''Multiple short text'''<source lang="html4strict">
'''Múltiples textos cortos'''<source lang="html4strict">
<ul class="subquestions-list questions-list text-list">
<ul class="subquestions-list questions-list text-list">
   <li class="question-item answer-item text-item" id="javatbdSGQA">
   <li class="question-item answer-item text-item" id="javatbdSGQA">
Line 490: Line 500:
</ul>
</ul>
</source>
</source>
'''Array question type'''<source lang="html4strict">
'''Tipo de pregunta de matriz'''<source lang="html4strict">
<table class="question subquestion-list questions-list ">
<table class="question subquestion-list questions-list ">
<caption class="hide read">Some explanation for accessibility.</caption>
<caption class="hide read">Some explanation for accessibility.</caption>
Line 521: Line 531:
</table>
</table>
</source>
</source>
==The full list of question classes==
===La lista completa de clases de preguntas===


{|
{|
|'''Question Type'''||'''Question Class'''||'''Question ID'''
|'''Tipo de pregunta'''||'''Clase de pregunta'''||'''ID de pregunta'''
|-
|-
|5 point choice||.choice-5-pt-radio||5
|5 puntos de elección||.choice-5-pt-radio||5
|-
|-
|Array (10 point choice)||.array-10-pt||B
|Matriz (opción de 10 puntos)||.array-10-pt||B
|-
|-
|Array (5 point choice)||.array-5-pt||A
|Matriz (opción de 5 puntos)||.array-5-pt||A
|-
|-
|Array (Flexible Labels) dual scale||.array-flexible-duel-scale ||1
|Matriz (etiquetas flexibles) escala dual||.array-flexible-duel-scale||1
|-
|-
|Array (Increase, Same, Decrease)||.array-increase-same-decrease||E
|Matriz (Aumento, Mismo, Disminución)||.array-aumentar-mismo-disminuir||E
|-
|-
|Array (Multi Flexible) (Numbers)||.array-multi-flexi ||:
|Matriz (Multi Flexible) (Números)||.array-multi-flexi||:
|-
|-
|Array (Multi Flexible) (Text)||.array-multi-flexi-text||;
|Matriz (Multi Flexible) (Texto)||.array-multi-flexi-text||;
|-
|-
|Array (Yes/No/Uncertain)||.array-yes-uncertain-no||C
|Matriz (/ No / Incierto) || .array--incierto-no||C
|-
|-
|Array (flexible labels)||.array-flexible-row ||F
|Matriz (etiquetas flexibles) || .array-flexible-row || F
|-
|-
|Array (flexible labels) by column||.array-flexible-column||H
|Matriz (etiquetas flexibles) por columna || .array-flexible-column || H
|-
|-
|Boilerplate question||.boilerplate||X
|Pregunta repetitiva || .boilerplate || X
|-
|-
|Date||.date||D
|Fecha || .date || D
|-
|-
|Gender||.gender||G
|Género || .gender || G
|-
|-
|Huge free text||.text-huge||U
|Texto libre enorme || .text-huge || U
|-
|-
|Language switch||.language||I
|Cambio de idioma || .language || I
|-
|-
|List (dropdown)||.list-dropdown||!
|Lista (desplegable) || .list-dropdown ||!
|-
|-
|List (radio)||.list-radio||L
|Lista (radio) || .list-radio || L
|-
|-
|List with comment||.list-with-comment||O
|Lista con comentario || .list-with-comment || O
|-
|-
|Long free text||.text-long||T
|Texto libre largo || .text-long || T
|-
|-
|Multiple numerical input||.numeric-multi||K
|Entrada numérica múltiple || .numeric-multi || K
|-
|-
|Multiple options||.multiple-opt||M
|Múltiples opciones || .multiple-opt || M
|-
|-
|Multiple options with comments||.multiple-opt-comments||P
|Múltiples opciones con comentarios || .multiple-opt-comments || P
|-
|-
|Multiple short text||.multiple-short-txt||Q
|Texto corto múltiple || .multiple-short-txt || Q
|-
|-
|Numerical input||.numeric||N
|Entrada numérica || .numeric || N
|-
|-
|Ranking||.ranking||R
|Clasificación || .ranking || R
|-
|-
|Short free text||.text-short||S
|Texto libre corto || .text-short || S
|-
|-
|Yes/No||.yes-no||Y
|/ No ||.yes-no|| Y
|-
|-
|
|
|}
|}


==The full list of validation classes==
===La lista completa de clases de validación===


<div class="simplebox">Note:  Prior to 1.92, only .mandatory and .input-error classes were available.</div>
<div class="simplebox"> Nota: Antes de 1.92, solo las clases .mandatory y .input-error estaban disponibles. </div>


These apply to the help and/or validation tip messages so that each type can be individually styled.
Estas se aplican a los mensajes de sugerencia de ayuda y/o validación para que cada tipo se pueda diseñar individualmente.


The .hide-tip option and .input-error options interact by default so that you can have validation tips hidden. However, they do appear when there are validation errors and disappear again when those errors are rectified.
La opción .hide-tip y las opciones .input-error interactúan de manera predeterminada para que pueda ocultar las sugerencias de validación. Sin embargo, aparecen cuando hay errores de validación y desaparecen nuevamente cuando se corrigen esos errores.


All of these are designed to eliminate the need for pop-up alert messages. Instead, tips can appear/disappear as needed and are color-coded to indicate whether the answers pass the validation criteria.
Todos estos están diseñados para eliminar la necesidad de mensajes de alerta emergentes. En cambio, los consejos pueden aparecer/desaparecer según sea necesario y están codificados por colores para indicar si las respuestas pasan los criterios de validación.


Furthermore, when you first visit a page that has unmet validation criteria, you can color-code the tips in a pleasing color to show which validation criteria have not been met yet; then re-display the page using a harsher color if the person submits the page with lingering validation errors.
Además, cuando visita por primera vez una página que tiene criterios de validación no satisfechos, puede codificar con color los consejos en un color agradable para mostrar qué criterios de validación aún no se han cumplido; luego vuelva a mostrar la página con un color más severo si la persona envía la página con errores de validación persistentes.


{|
{|
|'''Purpose'''||'''CSS Class'''||'''Description'''
|'''Propósito'''||'''Clase CSS'''||'''Descripción'''
|-
|-
|Mandatory||.mandatory||the question is mandatory
|Obligatorio || .mandatorio || la pregunta es obligatoria
|-
|-
|User input error||.input-error||the question had at least one validation error
|Error de entrada del usuario || .input-error || la pregunta tenía al menos un error de validación
|-
|-
|Hide Tip||.hide-tip||added if you use the hide_tip option
|Ocultar sugerencia || .hide-tip || agregado si usa la opción hide_tip
|-
|-
|defrault type||.em_default||for default tip set ( numeric value etc )
|Tipo por defecto || .em_default || para el conjunto de sugerencias predeterminado (valor numérico, etc.)
|-
|-
|Num answers||.em_num_answers||for for min_answers and max_answers
|Num respuestas || .em_num_answers || para min_answers y max_answers
|-
|-
|Value range||.em_value_range||for min/max_num_value_n and multiflexible_min/max
|Rango de valores || .em_value_range || para min/max_num_value_n y multiflexible_min/max
|-
|-
|Sum range||.em_sum_range||for min/max/equals_num_value
|Rango de suma || .em_sum_range || para min/max/equals_num_value
|-
|-
|Regex validation||.em_regex_validation||for regular-expression validation of the question
|Validación de expresiones regulares || .em_regex_validation || para la validación de expresión regular de la pregunta
|-
|-
|Question-level validation function||.em_q_fn_validation||for the em_validation_q option
|Función de validación de nivel de pregunta || .em_q_fn_validation || para la opción em_validation_q
|-
|-
|Subquestion-level validation function||.em_sq_fn_validation||for the em_validation_sq option
|Función de validación de nivel de sub-pregunta || .em_sq_fn_validation || para la opción em_validation_sq
|-
|-
|Other comment mandatory||.em_other_comment_mandatory||for other_comment_mandatory option - shows when "other" is selected but associated comment is missing.
|Otro comentario obligatorio || .em_other_comment_mandatory || para la opción other_comment_mandatory: se muestra cuando se selecciona "otro" pero falta el comentario asociado.
|-
|-
|
|
|}
|}


==Importing styles into your custom template==
===Importando estilos a su plantilla personalizada===


The custom question styles are near the bottom of each template's CSS file and start with:<syntaxhighlight lang="php" enclose="div">/* --------------------------- START: Question styles  ------------------------------ */</syntaxhighlight>
Los estilos de preguntas personalizados se encuentran cerca de la parte inferior del archivo CSS de cada plantilla y comienzan con:<syntaxhighlight lang="php"> /* --------------------------- INICIO: Estilos de preguntas ----------------- ------------- */</syntaxhighlight>


If you're styling your own custom template, you should be able to copy everything after the above one from ''templates/default/template.css'' (for table-based layouts) or ''/templates/limespired/template.css'' (for CSS-based layouts) into your own style sheet without any impact on your other styles.
Si está diseñando su propia plantilla personalizada, debería poder copiar todo después de la anterior desde ''templates/default/template.css'' (para diseños basados en tablas) o ''/templates/limespired/template.css'' (para diseños basados en CSS) en su propia hoja de estilo sin ningún impacto en sus otros estilos.


==Internet Explorer conditional style sheets==
===Hojas de estilo condicional de Internet Explorer===


Because of the marked discrepancies in rendering between IE6 & IE7 and the other browsers, there are special IE conditional style sheets included for each template.
Debido a las marcadas discrepancias en el renderizado entre IE6 e IE7 y los otros navegadores, se incluyen hojas de estilo condicionales especiales de IE para cada plantilla.


<source lang="html4strict" enclose="div">
<source lang="html4strict">!¡NORTE! <!--[if IE]>
<!--[if IE]>
   <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_all-versions.css" />
   <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_all-versions.css" />
<![endif]-->
<![endif]--> !¡NORTE! <!--[if lt IE 7]>
<!--[if lt IE 7]>
   <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_older-than-7.css" />
   <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_older-than-7.css" />
<![endif]-->
<![endif]--> !¡NORTE! <!--[if IE 8]>
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="{TEMPLATEURL}ie_fix_8.css" />
<link rel="stylesheet" type="text/css" href="{TEMPLATEURL}ie_fix_8.css" />
<![endif]-->
<![endif]--> !¡NORTE!</source>
</source>


You should include the above code within your '''startpage.pstpl''' and copies of both the IE style sheets from either ''/templates/default/'' or ''/templates/limespired'' for Tables base layout and CSS based layout respectively.
Debera incluir el código anterior en su '''startpage.pstpl''' y copias de ambas hojas de estilo de IE desde ''/templates/default/'' o ''/templates/limespired'' para el diseño basado en tablas y diseño basado en CSS respectivamente.


<div class="simplebox">'''Note:''' If you copy the styles into your own style sheet you will almost certainly need to tweak them.</div>
<div class="simplebox"> '''Nota:''' Si copia los estilos en su propia hoja de estilo, seguramente necesitará ajustarlos. </div>


===Alternative solution for Internet explorer===
====Solución alternativa para Internet Explorer====


You can put a conditional class for body in startpage.pstpl and use this class in your template.css. This method is used in the citronade template{{ObsoleteIn|2.06}}. Adding a js / no-js class to have javascript / no javascript system.
Puede poner una clase condicional para <body> en startpage.pstpl y usar esta clase en su template.css. Este método se utiliza en la plantilla citronade {{ObsoleteIn|2.06}}. Agregando una clase js / no-js para tener un sistema javascript / no javascript.


<source lang="html4strict"><!--[if lt IE 7 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie6 ielt7 ielt8 ielt9 no-js"> <![endif]-->
<source lang="html4strict"><!--[if lt IE 7 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie6 ielt7 ielt8 ielt9 no-js"> <![endif]-->
Line 660: Line 666:
<script type='text/javascript'>/*<![CDATA[*/(function(H){ H.className=H.className.replace(/\bno-js\b/,'js') })(document.getElementsByTagName('body')[0]);/*]]>*/</script></source>
<script type='text/javascript'>/*<![CDATA[*/(function(H){ H.className=H.className.replace(/\bno-js\b/,'js') })(document.getElementsByTagName('body')[0]);/*]]>*/</script></source>


And in template.css use:
Y use en template.css:


<source lang="css">.ie6{/*specific for internet explorer 6*/}
<source lang="css">.ie6 {/* específico para Internet Explorer 6 */}
.ielt8{/*specific for internet explorer 6 and 7*/}
.ielt8 {/*específico para Internet Explorer 6 y 7*/}
.ie{/*specific for all internet explorer */}</source>
.ie {/*específico para Internet Explorer*/}</source>


== Right-to-Left (RTL) Languages and justify==
=== Idiomas de derecha a izquierda (RTL) y justificar===


The text editor within LimeSurvey is able to format RTL text. However, the editor itself shows the RTL language in a left to right format when justified. This is just an editor display issue. The RTL and justified question or text will display correctly from right to left, even when justified, in your survey or on preview.
El editor de texto dentro de LimeSurvey puede formatear texto RTL. Sin embargo, el editor en sí muestra el lenguaje RTL en un formato de izquierda a derecha cuando está justificado. Esto es solo un problema de visualización del editor. El RTL y la pregunta o texto justificados se mostrarán correctamente de derecha a izquierda, incluso cuando estén justificados, en su encuesta o en la vista previa.


==Keywords==
===Palabras clave===


{{Deprecated|3.0}}  
{{Deprecated|3.0}}  


Keywords within a template file get replaced by the current survey information. They are surrounded by curly brackets, for example: {SURVEYNAME}.
Las palabras clave dentro de un archivo de plantilla se reemplazan por la información de la encuesta actual. Están rodeados por llaves, por ejemplo: {SURVEYNAME}.


The following strings will be replaced by LimeSurvey when parsing the template file and presenting it to survey users. These field strings will work on almost every template except for the 'Completed Page'. (Most of these strings can be found in the common.php file. If it's not there, look in the index.php file.)
Las siguientes cadenas serán reemplazadas por LimeSurvey al analizar el archivo de plantilla y presentarlo a los usuarios de la encuesta. Estas cadenas de campo funcionarán en casi todas las plantillas, excepto en la 'Página completada'. (La mayoría de estas cadenas se pueden encontrar en el archivo common.php. Si no está allí, busque en el archivo index.php).


{|class=wikitable
{|class=wikitable
!'''Keyword'''!!'''Template files'''!!'''Description'''
!'''Keyword'''!!'''Archivos de plantilla'''!!'''Descripción'''
|-
|-
|{SURVEYNAME}||All Files||The survey title
|{SURVEYNAME} || Todos Archivos || El título de la encuesta.
|-
|-
|{SURVEYDESCRIPTION}||All Files||The survey description
|{SURVEYDESCRIPTION} || Todos los archivos || La descripción de la encuesta.
|-
|-
|{WELCOME}||All files (mainly for welcome.pstpl)||The survey 'welcome' text
|{WELCOME} || Todos los archivos (principalmente para welcome.pstpl) || El texto de "bienvenida" de la encuesta.
|-
|-
|{PERCENTCOMPLETE}||survey.pstpl||A small graph showing the percentage of the survey completed
|{PERCENTCOMPLETE} || survey.pstpl || Un pequeño gráfico que muestra el porcentaje de la encuesta completada.
|-
|-
|{GROUPNAME}||startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl||Displays the current group name
|{GROUPNAME} || startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl || Muestra el nombre del grupo actual.
|-
|-
|{GROUPDESCRIPTION}||startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl||Displays the current group description
|{GROUPDESCRIPTION} || startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl || Muestra la descripción del grupo actual .
|-
|-
|{NUMBEROFQUESTIONS}||welcome.pstpl||Displays the total number of questions in the survey (just the number)
|{NUMBEROFQUESTIONS} || welcome.pstpl || Muestra el número total de preguntas en la encuesta (sólo el número).
|-
|-
|{THEREAREXQUESTIONS}||welcome.pstpl||Displays the sentence "There are X questions in this survey" - from the relevant language file. The X is replaced with the number of questions. Note that this will also work appropriately for singular or plural. If there is only 1 question, it will print "There is 1 question in this survey".
|{THEREAREXQUESTIONS} || welcome. pstpl || Muestra la oración "Hay X preguntas en esta encuesta", del archivo de idioma correspondiente. La X se reemplaza con el número de preguntas. Tenga en cuenta que esto también funcionará adecuadamente para singular o plural. Si solo hay 1 pregunta, se imprimirá "Hay 1 pregunta en esta encuesta".
|-
|-
|{CHECKJAVASCRIPT}||All files (mainly for welcome.pstpl)||Warning message when end-user browser have javascript disabled
|{CHECKJAVASCRIPT} || Todos los archivos (principalmente para welcome.pstpl) || Mensaje de advertencia cuando el navegador del usuario tiene JavaScript deshabilitado.
|-
|-
|{QUESTION}||Question.pstpl||('''Has been superseeded as of LS1.87''') Displays the current question text (The format of {QUESTION} can customised by editing 'question_start.pstpl') Use the following: {QUESTION_TEXT}, {QUESTION_MANDATORY}, {QUESTION_HELP}, {QUESTION_MAN_MESSAGE}, {QUESTION_VALID_MESSAGE}, {QUESTION_INPUT_ERROR_CLASS}, and appropriate wrapping HTML instead of {QUESTION}
|{QUESTION} || Question.pstpl || ('''Ha sido reemplazado a partir de LS1.87''') Muestra el texto de la pregunta actual (El formato de {QUESTION} puede personalizarse editando 'question_start.pstpl') Use los siguientes: {QUESTION_TEXT}, {QUESTION_MANDATORY}, {QUESTION_HELP}, {QUESTION_MAN_MESSAGE}, {QUESTION_VALID_MESSAGE}, {QUESTION_INPUT_ERROR_CLASS} con un etiquetado html apropiado en lugar de {QUESTION}.
|-
|-
|{ANSWER}||question.pstpl, print_question.pstpl||presents the answer form for the current question
|{ANSWER} || question.pstpl, print_question.pstpl || Muestra el formulario de respuesta para la pregunta actual.
|-
|-
|{SGQ}||question.pstpl, question text||Can be used in the question text itself to reference the input field of the question dynamically by displaying the Survey-Group-Question id for the current question. (as of svn build 9755)
|{SGQ} || question.pstpl, texto de pregunta || Se puede utilizar en el texto de la pregunta en sí para hacer referencia dinámica al campo de entrada de la pregunta al mostrar el ID de la encuesta, el grupo y la pregunta de la pregunta actual. (a partir de svn build 9755)
|-
|-
|{QUESTIONHELP}||question.pstpl, print_question.pstpl||Displays help text (predefined tip for question type) for the current question
|{QUESTIONHELP} || question.pstpl, print_question.pstpl || Muestra el texto de ayuda (sugerencia predefinida para el tipo de pregunta) para la pregunta actual.
|-
|-
|{QUESTION_CLASS}||question.pstpl, print_question.pstpl||unique class for each question type. (To be included in the question's wrapping tag.)
|{QUESTION_CLASS} || question.pstpl, print_question.pstpl || Clase única para cada tipo de pregunta. (Se incluirá en el etiquetado de la pregunta.)
|-
|-
|{QUESTION_CODE}||question.pstpl, print_question.pstpl||Displays the current question code
|{QUESTION_CODE} || question.pstpl, print_question.pstpl || Muestra el código de pregunta actual.
|-
|-
|{QUESTION_ESSENTIALS}||question.pstpl||the question ID and (if a question is conditional), 'style="display:none;"'. (To be included in the question's wrapping tag.)
|{QUESTION_ESSENTIALS} || question.pstpl || El ID de la pregunta y (si una pregunta es condicional), 'style="display: none;"'. (Se incluirá en el etiquetado de la pregunta.)
|-
|-
|{QUESTION_HELP}||question.pstp, question_start.pstpl||Displays the user defined help text for the current question
|{QUESTION_HELP} || question.pstp, question_start.pstpl || Muestra el texto de ayuda definido por el usuario para la pregunta actual.
|-
|-
|{QUESTION_TYPE_HELP}||print_question.pstp||Displays the user defined help text for the current question
|{QUESTION_TYPE_HELP} || print_question.pstp || Muestra el texto de ayuda definido por el usuario para la pregunta actual.
|-
|-
|{QUESTION_INPUT_ERROR_CLASS}||question.pstp, question_start.pstpl||Provides a class if there was user input error
|{QUESTION_INPUT_ERROR_CLASS} || question.pstp, question_start.pstpl || Proporciona una clase si hubo un error de entrada del usuario.
|-
|-
|{QUESTION_ID}||print_question.pstp||Provides a unique ID for each question to allow styling for specific questions
| {QUESTION_ID} || print_question.pstp || Proporciona una identificación única para cada pregunta para permitir el diseño de preguntas específicas.
|-
|-
|{QUESTION_TEXT}||question.pstp, print_question.pstp, question_start.pstpl||Displays the text for the current question
|{QUESTION_TEXT} || question.pstp, print_question.pstp, question_start.pstpl || Muestra el texto de la pregunta actual.
|-
|-
|{QUESTION_MANDATORY}||question.pstp, print_question.pstp, question_start.pstpl||Displays the translated 'Mandatory' text for the current question
|{QUESTION_MANDATORY} || question.pstp, print_question.pstp, question_start.pstpl || Muestra el Texto 'obligatorio' para la pregunta actual.
|-
|-
|{QUESTION_MAN_CLASS}||question.pstpl, print_question.pstpl||class if a question is mandatory. (To be included in the question's wrapping tag.)
|{QUESTION_MAN_CLASS} || question.pstpl, print_question.pstpl || Clase de una pregunta si es obligatoria. (Se incluirá en el etiquetado de la pregunta.)
|-
|-
|{QUESTION_MAN_MESSAGE}||question.pstp, print_question.pstp, question_start.pstpl||Displays the translated 'Mandatory' help message text for the current question
|{QUESTION_MAN_MESSAGE} || question.pstp, print_question.pstp, question_start.pstpl || Muestra el texto traducido del mensaje de ayuda 'Obligatorio' para el pregunta actual.
|-
|-
|{QUESTION_NUMBER}||print_question.pstpl||Incremental count of questions.
|{QUESTION_NUMBER} || print_question.pstpl || Recuento incremental de preguntas.
|-
|-
|{QUESTION_VALID_MESSAGE}||question.pstp, print_question.pstp, question_start.pstpl||Displays the translated valid help message text for the current question
|{QUESTION_VALID_MESSAGE} || question.pstp, print_question.pstp, question_start.pstpl || Muestra el texto del mensaje de ayuda válido para la pregunta actual.
|-
|-
|{QUESTION_SCENARIO}||print_question.pstp||Prints out the 'scenario' text for conditional questions.
|{QUESTION_SCENARIO} || print_question.pstp || Imprime el texto 'escenario' para preguntas condicionales.
|-
|-
|{NAVIGATOR}||navigator.pstpl||Displays navigation buttons (next, prev, last)
|{NAVIGATOR} || navigator.pstpl || Muestra los botones de navegación (siguiente, anterior, último)
|-
|-
|{CLEARALL}||All files (but intended for navigator.pstpl)||Displays the "Exit and Clear Results" link
|{CLEARALL} || Todos los archivos (pero destinados a navigator.pstpl) || Muestra el Enlace "Salir y borrar resultados"
|-
|-
|{COMPLETED}||completed.pstpl||Displays the 'completed' message for registering, will change depending on whether the attribute_1 and attribute_2 fields are set.
|{COMPLETED} || complete.pstpl || Muestra el mensaje 'completado' para registrarse, cambiará dependiendo de si los campos de atributo_1 y atributo_2 están configurados.
|-
|-
|{URL}||completed.pstpl||Displays the survey 'url' and 'url text'
|{URL} || complete.pstpl || Muestra la 'url' la encuesta y el 'texto url'.
|-
|-
|{PRIVACYMESSAGE}||privacy.pstpl||The privacy message is shown if you set your survey to be anonymous. [[Translating LimeSurvey|The text can be edited/translated]] in the language files. This can also be changed manually by editing the privacy.pstpl template you wish to use.
|{PRIVACYMESSAGE} || privacy.pstpl || El mensaje de privacidad se muestra si configura su encuesta como anónima. [[Translating LimeSurvey|El texto se puede editar/traducir]] en el(los) idioma(s) configurado(s). Esto también se puede cambiar manualmente editando la plantilla privacy.pstpl que desea usar.
|-
|-
|{TEMPLATEURL}||All Files||The URL to the current template location (useful for referencing image files in your template)
|{TEMPLATEURL} || Todos los archivos || La URL a la ubicación de la plantilla actual (útil para hacer referencia a archivos de imagen en su plantilla).
|-
|-
|{SURVEYRESOURCESURL}||All Files||The URL to the current uploaded files for this survey location (useful for referencing image files in your question, group, ....)
|{SURVEYRESOURCESURL} || Todos los archivos || La URL de ubicación de los archivos cargados para esta de encuesta (útil para hacer referencia a archivos de imagen en su pregunta, grupo, ...)
|-
|-
|{SUBMITCOMPLETE}||endpage.pstpl||The statement (from the language files) that tells the user they have completed the survey, and to press the "Submit" button
|{SUBMITCOMPLETE} || endpage.pstpl || El mensaje (de los archivos de idioma) que le dice al usuario que ha completado la encuesta, y que presione el botón "Enviar"
|-
|-
|{SUBMITREVIEW}||survey.pstpl||The statement (from the language files) that tells the user they can review/change the answers they have made by clicking "<< prev"
|{SUBMITREVIEW} || survey.pstpl || El mensaje (de los archivos de idioma) que le dice al usuario que puede revisar/cambiar las respuestas que ha hecho haciendo clic en "<< anterior"
|-
|-
|{SAVEDID}||All Files||Displays 'Response ID' of user
|{SAVEDID} || Todos los archivos || Muestra la 'ID de respuesta' del usuario.
|-
|-
|-
|-
|{QUEXMLPDF}||All Files||Displays button to export the queXML PDF of questionnaire including answers entered up until the point that has been completed in the survey.
|{QUEXMLPDF} || Todos los archivos || Muestra el botón para exportar el  en PDF queXML, incluidas las respuestas ingresadas hasta el punto que se completó en la encuesta.
|-
|-
|{TOKEN:FIRSTNAME}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users first name from the tokens table
|{TOKEN: FIRSTNAME} || Todos los archivos || *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el nombre de usuario de la tabla de tokens ***
|-
|-
|{TOKEN:LASTNAME}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users last name from the tokens table***
|{TOKEN: LASTNAME} || Todos los archivos || *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el apellido de los usuarios de la tabla de tokens ***
|-
|-
|{TOKEN:EMAIL}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users email from the tokens table***
|{TOKEN: EMAIL} || Todos los archivos || *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el correo electrónico de los usuarios desde la tabla de tokens ***
|-
|-
|{TOKEN:ATTRIBUTE_1}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users attribute_1 from the tokens table***
|{TOKEN: ATTRIBUTE_1} || Todos los archivos || *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el atributo de usuario_1 de los tokens tabla ***
|-
|-
|{TOKEN:ATTRIBUTE_2}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users attribute_2 from the tokens table***
|{TOKEN: ATTRIBUTE_2} || Todos los archivos || *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el atributo de usuario_2 de la tabla de tokens ***
|-
|-
|{ANSWERSCLEARED}||Preferably in navigator.pstpl||The "Answers Cleared" statement from the language files
|{ANSWERSCLEARED} || Preferiblemente en navigator.pstpl || La instrucción "Respuestas borradas" en el(los) idioma(s) configurado(s).
|-
|-
|{RESTART}||clearall.pstpl||URL to restart the survey
|{RESTART} || clearall.pstpl || URL para reiniciar la encuesta.
|-
|-
|{REGISTERERROR}||register.pstpl||Shows any error messages in the register page (ie: "You must include an email address")
|{REGISTERERROR} || register.pstpl || Muestra cualquier mensaje de error en la página de registro (es decir: "Debe incluir una dirección de correo electrónico")
|-
|-
|{REGISTERMESSAGE1}||register.pstpl||The statement "You must be registered to complete this survey" from the language files
|{REGISTERMESSAGE1} || register.pstpl || El mensaje "Debe estar registrado para completar esta encuesta" en el(los) idioma(s) configurado(s).
|-
|-
|{REGISTERMESSAGE2}||register.pstpl||Details about registering from the language files
|{REGISTERMESSAGE2} || register.pstpl || Detalles sobre el registro desde el idioma archivos.
|-
|-
|{REGISTERFORM}||register.pstpl||The actual form for registering, will change depending on whether the attribute_1 and attribute_2 fields are set.
|{REGISTERFORM} || register.pstpl || El formulario para registrarse cambiará dependiendo de si los campos attribute_1 y attribute_2 están configurados.
|-
|-
|{SAVE}||Works suitable on navigator.pstpl||Displays the 'Save your responses so far' button to offer the user to save and come back later to continue the survey. If the Save option is deactivated in the survey properties the tag will not be shown and ignored.
|{SAVE } || Funciona en navigator.pstpl || Muestra el botón "Guardar sus respuestas hasta ahora" para ofrecerle al usuario que guarde y vuelva más tarde para continuar con la encuesta. Si la opción Guardar está desactivada en las propiedades de la encuesta, la etiqueta no se mostrará ni se ignorará.
|-
|-
|{LANGUAGECHANGER}||survey.pstpl||Displays a switch in multilingual surveys to change the question.
|{LANGUAGECHANGER} || survey.pstpl || Muestra un interruptor en las encuestas multilingües para cambiar la pregunta.
|}
|}


==Input/Buttons==
===Entrada/Botones===


Each "input" type in a survey has been given its own class name, so that you can add CSS to your "startpage.pstpl" file and have some control over the appearance of form buttons and inputs. These class names are as follows:
A cada tipo de "entrada" en una encuesta se le ha dado su propio nombre de clase, para que pueda agregar CSS a su archivo "startpage.pstpl" y tener cierto control sobre la apariencia de los botones de formulario y las entradas. Estos nombres de clase son los siguientes:
*'''submit''' (Submit Buttons)
*'''submit''' (Botones de envío)
*'''text''' (Text Inputs - for short free text, date, and numerical type)
*'''text''' (Entradas de texto - para texto libre corto, fecha y tipo numérico)
*'''answertext''' (Text of answers)
*'''answertext''' (Texto de las respuestas)
*'''radio''' (Radio Buttons)
*'''radio''' (Botones de radio)
*'''checkbox''' (Check Boxes)
*'''checkbox''' (Casillas de verificación)
*'''select''' (Select / List Boxes)
*'''select''' (Cuadros de selección/lista)
*'''textarea''' (Large text inputs - for long free text)
*'''textarea''' (Entradas de texto grandes - para texto libre largo)
*'''clearall''' (The "Exit and Clear Survey" link)
*'''clearall''' (El enlace para "Salir y borrar" la encuesta)
*'''rank''' (The rank style question. Doesn't set the colour of the select box or the text boxes, but it does allow the changing of background colour, text colour, size etc., for the rest of the ranking question)
*'''rank''' (La pregunta de estilo de rango. No establece el color del cuadro de selección o los cuadros de texto, pero permite cambiar el color de fondo, el color del texto, el tamaño, etc. ., para el resto de la pregunta de clasificación)
*'''graph''' (The "percentage completed" graph table)
*'''graph''' (La tabla gráfica "porcentaje completado")
*'''innergraph''' (The table inside the graph table - this contains the 0% and 100% text. Use this for changing the size of this text)
*'''innergraph''' (La tabla dentro de la tabla gráfica - esto contiene el texto 0% y 100%. Úselo para cambiar el tamaño de este texto)
*'''question''' (General settings for any question that is displayed within a table. Generally, you should use this to make sure that their font size and color is the same as you have used elsewhere as a default)
*'''question''' (Configuración general para cualquier pregunta que se muestre dentro de una tabla. Generalmente, debe usar esto para asegúrese de que el tamaño y el color de la fuente sean los mismos que ha usado por defecto)
*'''mandatory'''  (Mandatory questions)
*'''mandatory''' (Preguntas obligatorias)
*'''input-error''' (User input error - for if a user has made a mistake with a mandatory question or question with validation)
*'''input-error''' (Error de entrada del usuario - por si un usuario ha cometido un error con una pregunta obligatoria o pregunta con validación)
*'''array1''' and '''array2''' (These two styles are cycled when presenting the range of answers for an array type question. This allows you to set an alternating background color for these question types. '''Array1''' is also used for the column headings in these question types)
*'''array1''' y '''array2''' (Estos dos estilos se ciclan al presentar el rango de respuestas para una pregunta de tipo matriz. Esto le permite establecer un color de fondo alternativo para estos tipos de preguntas. '''Array1''' también se usa para los encabezados de columna en estos tipos de preguntas)
*'''errormandatory''' (Sets the color and style of the "This question is mandatory" error message)
*'''Errormandatory''' (Establece el color y el estilo del mensaje de error "Esta pregunta es obligatoria")
*'''warningjs''' (Sets the color and style of the warning message displayed if the participant's browser has javascript disabled)
*'''warningjs''' (Establece el color y el estilo del mensaje de advertencia que se muestra si el navegador del participante tiene JavaScript deshabilitado)


There are also some elements that can be accessed using the ID of the element ('''#ID''' in CSS):
También hay algunos elementos a los que se puede acceder utilizando la ID del elemento ('''#ID''' en CSS):
*'''surveycontact''' (The contact message shown on the start page)
*'''Surveycontact''' (El mensaje de contacto que se muestra en la página de inicio)
*'''tokenmessage''' (used for messages inside the survey, e.g. the session expired error message)
*'''Tokenmessage''' (usado para mensajes dentro de la encuesta, por ejemplo, el mensaje de error que la sesión expiró)


Because you can edit all the HTML aspects, there's no reason to surround your templates with a
Debido a que puedes editar todos los aspectos HTML, no hay razón para rodear tus plantillas con un
<syntaxhighlight lang="php" enclose="div"><div class='new_name'></div></syntaxhighlight>
<syntaxhighlight lang="php"><div class='new_name'></div></syntaxhighlight>  
and then define a css for that new_name class.
y luego defina un CSS para esa clase new_name.


==Styling the progress bar==
==Estilo de la barra de progreso==


The progress bar appearance can be modified with CSS.
La apariencia de la barra de progreso se puede modificar con CSS.


To change the background color of the bar, add something like the following to the end of your template.css file:
Para cambiar el color de fondo de la barra, agregue algo como lo siguiente al final de su archivo custom.css (ejemplo de tema afrutado):


<syntaxhighlight lang="php" enclose="div">#progress-wrapper .ui-widget-header {
<syntaxhighlight lang="php">.fruity .barra de progreso {
 background-color: #3300FF;
color de fondo: #3300FF;
}</syntaxhighlight>
}</syntaxhighlight>


To change the border color of the bar, add something like the following to the end of your template.css file:
Para cambiar el color del borde de la barra, agregue algo como lo siguiente al final de su archivo custom.css (ejemplo de tema afrutado):


<syntaxhighlight lang="php" enclose="div">#progress-wrapper .ui-widget-content,
<syntaxhighlight lang="php">.fruity .barra de progreso {
#progress-wrapper .ui-widget-header {
borde: 1px sólido #FF0000;
 border: 1px solid #FF0000;
}</syntaxhighlight>
}</syntaxhighlight>


==Advanced Features Available to Developers==
==Funciones avanzadas disponibles para desarrolladores==


LimeSurvey has integrated some user-made patches that permits some special changes. These very advanced features (generally) require changes to the underlying code base of LimeSurvey and should be done carefully in order not to introduce security holes.
LimeSurvey ha integrado algunos parches creados por usuarios que permiten algunos cambios especiales. Estas características muy avanzadas (generalmente) requieren cambios en la base de código subyacente de LimeSurvey y deben hacerse con cuidado para no introducir agujeros de seguridad.


===Support for your own Javascript functions===
====Soporte para sus propias funciones de Javascript====


Some users may need to run Javascript on the survey pages, but calling '''checkconditions()''' in the BODY element made it impossible to do so. This call has been replaced with a small JavaScript function in the HEAD that sniffs for the existence of '''checkconditions()''' and '''template_onload()''' before calling them. In this way, a template author can create his or her own '''template_onload()''' function in the HEAD that replaces the default one.
Es posible que algunos usuarios necesiten ejecutar Javascript en las páginas de la encuesta, pero llamar a '''checkconditions ()''' en el elemento BODY hizo que fuera imposible hacerlo. Esta llamada ha sido reemplazada por una pequeña función de JavaScript en HEAD que detecta la existencia de '''checkconditions ()''' y '''template_onload ()''' antes de llamarlos. De esta manera, un autor de plantillas puede crear su propia función '''template_onload ()''' en el HEAD que reemplaza la predeterminada.


*Disable XSS filter - in Global settings -> Security, set "Filter HTML for XSS" to No.
* Deshabilite el filtro XSS - en Configuración global -> Seguridad, configure "Filtrar HTML para XSS" en No.
*Enter your script in the source of a question or group description.
* Ingrese su script en la fuente de una pregunta o descripción del grupo.


{{Note|For further details, see the [[Workarounds: Manipulating a survey at runtime using Javascript#How to use Script (eg. JavaScript etc.) in LimeSurvey|workaround section]].}}
{{Note|Para obtener más detalles, consulte la [[Workarounds: Manipulating a survey at runtime using Javascript#How to use Script (eg. JavaScript etc.) in LimeSurvey| manipulación de una encuesta en tiempo de ejecución utilizando Javascript # Cómo usar la secuencia de comandos (por ejemplo, JavaScript, etc.)]] en la sección de soluciones alternativas de LimeSurvey.}}


=Videos on Templates=


This video will demonstrate the basic and advanced template functions that are available to all LimeSurvey users. This includes changing the appearance of certain forms and inserting custom graphics. Additionally, it will thoroughly walk you through on how to edit and preview specific page templates, importing/exporting templates, modify appearance of questions in the CSS, and customizing survey description page.
==Consejos y trucos==


Video - needed
===Elemento específico del idioma===


=Tips & Tricks=
Si desea tener una oración específica de un idioma en una encuesta, por ejemplo, ayuda al final de cada página, puede agregar una oración en un archivo .pstl y ocultarla para el otro idioma. Si lo ocultamos en template.css, podemos usar el pseudo selector :lang, pero usamos alguna clase para una mejor compatibilidad.


==Some language specific element==
A continuación, hay dos frases de ayuda, en francés y en español. Ponga esto en endpage.pstpl:


If you want to have some language specific sentence in a survey, for example a help at the end of each page, you can add in a .pstl file a sentence and hidding it for other language. If we hide it in the template.css, we can use the pseudo selector :lang, but we use some class for better compatibility.
<syntaxhighlight lang="php"><div class="fr" lang="fr">Para obtener ayuda, llame directamente al 000000</div>
<div class="en" lang="en"> Para obtener ayuda, llame al 000000</div></syntaxhighlight>


Below, there are two help sentences, in French and English. Put this on endpage.pstpl:
y en template.css:


<syntaxhighlight lang="php" enclose="div"><div class="fr" lang="fr">Pour de l'aide en direct appelez le 000000</div>
<syntaxhighlight lang="php">.lang-fr .en{display:none}
<div class="en" lang="en">For some help, please call 000000</div></syntaxhighlight>
 
and in template.css:
 
<syntaxhighlight lang="php" enclose="div">.lang-fr .en{display:none}
.lang-en .fr{display:none}</syntaxhighlight>
.lang-en .fr{display:none}</syntaxhighlight>


==Change the layout of the survey page==
===Cambiar el diseño de la página de la encuesta===


After editing and saving a template, it applies to a survey list page only if it is selected from the settings of the survey. To make it the default template, go under the '''General tab''' located in the '''Global settings''' of your LimeSurvey installation and choose the desired template. From now on, all the templates that use the "default" option as template plus the ones that are going to be newly created, will use the newly selected default template.
Después de editar y guardar una plantilla, se aplica a una página de lista de encuestas solo si se selecciona en la configuración de la encuesta. Para convertirla en la plantilla predeterminada, vaya a la '''pestaña General''' ubicada en la '''Configuración global''' de su instalación de LimeSurvey y elija la plantilla deseada. A partir de este momento, todas las plantillas que utilicen la opción "predeterminada" como plantilla, más las que se vayan a crear recientemente, utilizarán la plantilla predeterminada recién seleccionada.


To use your current template for this page, you have to change the according setting from '''Global settings'''. In older versions, this change can be done by editing the $defaulttemplate setting from the config file: copy this setting from config-defaults.php to config.php which overrides config-defaults.php and edit this setting to <code lang="html">$defaulttemplate = 'yourtemplatename';</code>.
Para utilizar su plantilla actual para esta página, debe cambiar la configuración adecuada en '''Configuración global'''. En versiones anteriores, este cambio se puede realizar editando la configuración $defaulttemplate del archivo de configuración: copie esta configuración de config-defaults.php a config.php, que anula config-defaults.php y edite esta configuración a <code lang="html">$defaulttemplate = 'yourtemplatename';</code> .


==Import/Export of templates: Mac users==
===Importación/Exportación de plantillas: usuarios de Mac===


<u>Mac users</u>, please note that the Mac OSX default archive utility may have problems with zip folders "generated on the fly".
<u>Usuarios de Mac</u> , tenga en cuenta que la utilidad de archivo predeterminada de Mac OSX puede tener problemas con las carpetas zip "generadas sobre la marcha".


A workaround is to unix'es unzip from the command line:
Una solución alternativa es descomprimir desde la línea de comandos:


$ unzip template.zip -d template
$ unzip plantilla.zip -d plantilla


Archive: template.zip
Archivo: plantilla.zip


 inflating: template/startpage
inflando: plantilla/startpage


 inflating: ...
inflando: ...


Another workaround is to use scripts in their mac-compiled counterparts.
Otra solución es usar scripts en sus homólogos compilados por mac.


==Replacing the help icon {{ObsoleteIn|2.50}} ==
===Utilice la misma plantilla con diferentes logotipos===


When a question help text is shown, then an help.gif image is used from the default template folder.
Si desea usar la misma plantilla para todas las encuestas y solo quiere cambiar el logotipo de cada encuesta, puede usar el marcador de posición {SID} en el archivo .pstpl de la plantilla y, por lo tanto, hacer referencia a diferentes imágenes:


You can replace this image by uploading a new help.gif, help.png or help.jpg in your custom template folder. It will then be automatically used instead of the default help icon.
<syntaxhighlight lang="php"><img src="{TEMPLATEURL}files/logoImage-{SID}.png"></syntaxhighlight>


==Replacing an existing logo {{NewIn|2.50}} {{ObsoleteIn|3.0}}==
=== Mostrar favicon personalizado ===


'''Note''': In the '''default''' Template of 2.50, there is no preembedded logo. Read further our [[#Adding_your_own_logo |wiki on how to add your own logo]].
Un favicon es el pequeño ícono que ves en la barra de direcciones, la lista de favoritos o la pestaña del navegador. Puedes mostrar tu propio ícono de la siguiente manera:
#Crea un favicon: puedes usar Google para encontrar muchos generadores de favicon gratuitos.
#Nombra tu nuevo favicon "favicon.ico" y colócalo en tu plantilla/archivos directorio.
#Agregue el siguiente código a su '''startpage.pstpl''' antes del</head> etiqueta.


1. To edit the logo go to the ''<u>template.css</u>'' file which you can find it here:
<syntaxhighlight lang="html4strict"><link rel="shortcut icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon"> !¡NORTE!<link rel="icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon"></syntaxhighlight>


<center>[[File:t1.PNG|200px]]</center>
=== Apariencia diferente para las páginas de encuestas/preguntas===


2. Click the search button to find occurrences of logo related styles and search for ''logo''
Si desea que LimeSurvey cambie la apariencia de cada segunda página (es decir, páginas de encuesta pares e impares), puede usar la clase '''.page-odd''' en su archivo CSS para cambiar la apariencia de las páginas impares.


<center>[[File:2.png|200px]]</center>
Un ejemplo de la plantilla predeterminada de LimeSurvey 1.91+:


3. Edit the main style file.
<syntaxhighlight lang="php">
 
.página-tabla impar.grupo-pregunta {
You will see something similar to:
color de fondo: #D2F2D3;
 
<center>[[File:t4.PNG|500px]]</center>
 
If you want to change the image, just replace logo.gif with another image link. Example: (<u>logo.png</u> or <u>logo.jpg</u>).
 
If you want to change the image size, adjust width and height (in pixels) like this:
 
<syntaxhighlight lang="php" enclose="div">width:100px; height:100px;</syntaxhighlight>
 
==Adding your own logo {{ObsoleteIn|3.0}} ==
 
1. Find and open the '''startpage.pstpl''' template file.
 
<center>[[File:startpage.pstpl.png]]</center>
 
2. After this
<source lang="html4strict" ><div id="topContainer" class="jumbotron"></source>  
add this line to '''startpage.pstpl''':
<source lang="html4strict">
<div class="container"><img id='page_logo' src='{TEMPLATEURL}/files/logo.png' class="clearfix pull-right" /></div>
</source>
 
3. To upload your own logo, go to the template editor and upload your logo.
 
<center>[[File:uploadyourlogo.png]]</center>
 
To position your logo, please use one of the following css classes:
 
*'''If you want the logo to be placed on the left side:'''
 
<source lang="html">clearfix pull-left</source>
 
 
*'''If you want the logo to be placed on the right side:'''
 
<source lang="html">clearfix pull-right</source>
 
 
*'''If you want to center the logo'''
 
<source lang="html">clearfix center-block</source>
 
==Use the same template with different logos==
 
If you want to use the same template for all surveys and just want to change the logo for each survey, you can use the {SID} placeholder in the template .pstpl file and thereby refer to different images:
 
<syntaxhighlight lang="php" enclose="div"><img src="{TEMPLATEURL}files/logoImage-{SID}.png"></syntaxhighlight>
 
== Display custom favicon==
 
A favicon is the little icon you see in the browser's address bar, list of bookmarks or tab. You can display your own icon as follows:
#Create a favicon - google will find you lots of free favicon generators.
#Name your new favicon "favicon.ico" and place it in your template /files directory.
#Add the following code to your '''startpage.pstpl''' before the </head> tag.
 
<syntaxhighlight lang="html4strict" enclose="div"><link rel="shortcut icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon">
<link rel="icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon"></syntaxhighlight>
 
== Different appearance for survey-/question-pages==
 
If you want LimeSurvey to change the appearance of every second page (i.e. of even and odd survey pages), you can use '''.page-odd''' class in your CSS file to change the appearance of odd pages.
 
An example from default template of LimeSurvey 1.91+:
 
<syntaxhighlight lang="php" enclose="div">
.page-odd table.question-group {
 background-color: #D2F2D3;
}</syntaxhighlight>
}</syntaxhighlight>


If you do '''not''' want differentiate even and odd pages, find all instances of ''.page-odd'' in template.css and remove those styles.
Si '''no''' quiere diferenciar páginas pares e impares, busque todas las instancias de ''.page-odd'' en template.css y elimine esos estilos.


==Create a vertical separator  border for dual scale array==
===Crear un borde separador vertical para una matriz de escala dual===


To create a vertical separator border for a dual scale array, you can add the following lines to your '''template.css'''-file.
Para crear un borde separador vertical para una matriz de doble escala, puede agregar las siguientes líneas a su archivo '''template.css'''.


<syntaxhighlight lang="php" enclose="div">
<syntaxhighlight lang="php">
table.question thead td.header_separator,
table.question thead td.header_separator,
table.question tbody td.dual_scale_separator
table.question tbody td.dual_scale_separator
{
{
   border-right:solid 1px #00A8E1;
borde derecho: sólido 1px #00A8E1;
}
}
</syntaxhighlight>
</syntaxhighlight>


''header_separator'' is used to adress the separator for the header "td". The "dual_scale_separator" is used to address the separator column in the dual scale array.
''header_separator'' se usa para dirigir el separador para el encabezado "td". El ''dual_scale_separator'' se usa para direccionar la columna de separación en la matriz de doble escala.


==Hide the survey contact message shown on the start page/survey list {{ObsoleteIn|3.0}} ==
===Agregar su propio logotipo a la lista de la encuesta===  


To hide the "Please contact ..." message on the start page (with the survey list), you can add the following to the '''$(document).ready''' function in the '''template.js''' of your used design template:
#Primero, abra el editor de temas para el tema que le gustaría usar. [[File:OpenThemeEditor.jpg]]
#Recomendamos usar fruity, es nuestro mejor tema actualmente.
#Luego extienda el tema y dele un nombre que recuerde luego. [[File:ExtendTheme.jpg]]
#En la siguiente vista, puede cargar el logotipo que desea usar. [[File:UploadFileTheme.jpg]]
#Seleccione la pantalla del editor `Lista de encuestas´ en el menú desplegable Pantalla en la esquina superior derecha. [[File:OpenScreenSurveyList.jpg]]
#Luego seleccione `layout_survey_list.twig´ en el menú del lado izquierdo. [[File:EditLayoutSurveyListTwig.jpg]]
#En el editor, desplácese a la línea 126 y cambie la parte marcada al nombre de archivo de la imagen que cargó antes en el tema. [[File:ChangeSurveyListHeaderImageEditor.jpg]]
#Guarde su archivo. [[File:ThemeEditorSaveChanges.jpg]]
#Cambie el tema predeterminado a su tema extendido. [[File: ChangeDefaultTheme.jpg]]


<syntaxhighlight lang="php" enclose="div">
=== Alinear el logotipo con el centro de la página de la encuesta ===
Este ejemplo es para la plantilla "extends_fruity". Para otras plantillas, el CSS requerido puede ser diferente.
# ¡Inicie sesión en el área de administración de LimeSurvey
# Vaya al editor de temas: Configuración > Temas
# Busque "LimeSurvey Fruity Theme" en la lista y haga clic en " ¡Botón Theme Editor"
# Haga clic en "custom.css" en la lista de archivos a la izquierda, cerca de la parte inferior de la página.N!# Copie el siguiente CSS en ese archivo y presione "Guardar cambios".


$('#surveycontact').hide(); //Hides the survey contact message
<syntaxhighlight lang="css">
.navbar-fixed-top > div.navbar-header {
ancho: 100% !importante;
}


.navbar-fixed-top > div.navbar-header > div {
ancho: 100% !importante;
}
.navbar-fixed-top > div.navbar-header > div > img {
margen: 0 auto 0 auto !importante;
}
</syntaxhighlight>
</syntaxhighlight>


==Remove the survey contact message shown on error messages {{ObsoleteIn|3.0}}==


If you want to remove the survey contact message from error messages, it'll be trickier. You can add the function from below. It calls the '''$(document).ready''' function in the '''template.css''' of your used design template:


<syntaxhighlight lang="php" enclose="div">
==Vistas de preguntas personalizadas {{NewIn|3.0}}==
removeContactAdressFromMessage(); //Removes the survey contact message from error messages
 
</syntaxhighlight>
<div class="simplebox">'''Nota:''' Esta es una característica temporal que será reemplazada en el futuro por un objeto de pregunta (será muy fácil mover vistas personalizadas al objeto de pregunta). Está deshabilitado por defecto.</div>


and add the following function to your *template.js* file
A partir de la versión 2.5, puede crear vistas personalizadas específicas de plantilla para preguntas y algunos de sus elementos incorporados. Esto es útil si desea modificar el diseño HTML de un tipo de pregunta en particular para una o más encuestas.


<syntaxhighlight lang="php" enclose="div">
*En application/config/config.php, busque 'config'=>array y agregue esta línea a la matriz: 'allow_templates_to_overwrite_views'=>1
function removeContactAdressFromMessage()
*En /{su_plantilla}/config.xml, establezca "overwrite_question_views" en true.
{
*Copie application/views/survey/ * a template/{su_directorio de_vistas}/survey/
if ($('#tokenmessage').length > 0)
*Tenga en cuenta que sólo necesita copiar los archivos que desea modificar, la estructura de los archivos debe permanecer igual como en application/views/survey/
   {
   var oldMessage = $('#tokenmessage').html();
   var indexContact = oldMessage.indexOf('Bitte kontaktieren');
   var newMessage = oldMessage.substr(0, indexContact);
   $('#tokenmessage').html(newMessage);
   }
}
</syntaxhighlight>


It will probably not work for a survey in English language and has to be extended when used for multilingual surveys. But it's an idea/tip on how to solve this.
==Insertar archivos CSS o JavaScript personalizados para la plantilla==


==How to deal with multilingual question attributes {{ObsoleteIn|2.50}}==
A partir de la versión 2.50, puede utilizar el archivo config.xml para cargar archivos de complemento automáticamente.


If you have a multilingual survey and e. g. want to use a different string for the "other" field, this could only be done for the base language (until this feature was added at LimeSurvey 2.0). To work around this, paste in the field to change the label for "other":
*¡Sube tus archivos a la carpeta de plantilla /css o /scripts
*En /{your_template}/config.xml, agrega las rutas de los archivos al<css> o<js> bloques, algo como esto:<syntaxhighlight lang="xml"><css>
<filename> css/jquery-ui-personalizado.css</filename>
<filename> css/bootstrap-slider.css</filename>


<syntaxhighlight lang="php" enclose="div"><span class="en">New label</span><span class="fr">Nouveau label</span></syntaxhighlight>
  <filename>css/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css</filename>
      <filename>css/flat_and_modern.css</filename>


Add in the template.css of your template (at ''/limesurvey/upload/templates/<yourtemplatename>/template.css''):
  <filename>css/template.css</filename>


<syntaxhighlight lang="php" enclose="div">html:lang(en) .fr{display:none}
  <filename>css/myCustomPlugin.css</filename>
html:lang(fr) .en{display:none}</syntaxhighlight>
</css>
<js>
  <filename>scripts/template.js</filename>
  <filename>scripts/bootstrap-slider.js</filename>


==Adding your own logo to the survey list {{ NewIn|3.0}} ==
  <filename>scripts/myCustomPlugin.js</filename>
</js>
</syntaxhighlight>


# First please open the theme editor for the theme you like to use. [[File:OpenThemeEditor.jpg]]
==Definiciones de clases (para desarrolladores)==
# We recommend to use fruity, it is our best theme currently.
# Then extend the theme and give it a name you will recognize. [[File:ExtendTheme.jpg]]
# In the following view you may upload the logo you want to use. [[File:UploadFileTheme.jpg]]
# Select the editor screen `Survey List´ in the Screen dropdown in the top right corner. [[File:OpenScreenSurveyList.jpg]]
# Then select `layout_survey_list.twig´ in the left side menu. [[File:EditLayoutSurveyListTwig.jpg]]
# In the editor scroll to line 126 and change the marked part to the filename of the image you uploaded to the theme before. [[File:ChangeSurveyListHeaderImageEditor.jpg]]
# Save your file. [[File:ThemeEditorSaveChanges.jpg]]
# Change default theme to your extended theme. [[File:ChangeDefaultTheme.jpg]]


=Custom Question Views {{NewIn|3.0}}=
===lista-de-respuestas===
{|class=wikitable
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos'''
|-
|arrays/5puntos || Un || tr
|-
|arrays/10puntos|| B|| tr
|-
|matrices/matriz || F || tr
|-
|matrices/columna || H || tr y col
|-
|arrays/dualscale || 1 || tr
|-
|arrays/increasesamedecrease || mi || tr
|-
|arrays/yesnouncertain || C || tr
|-
|género || GRAMO || div y ul
|-
|list_with_comment || Oh || div
|-
|clasificación || R || ul y div
|-
|síno || Y || ul y div
|-
|ranking_advanced || R || ul y div
|-
|listradio || L || div
|-
|5puntoselección || 5 || ul
|-
|opción múltiple || M || div
|-
|}


<div class="simplebox">'''Note:''' This is a temporary feature to be replaced in the future by question object (it will be very easy to move custom views to question object). It is disabled by default.</div>


As of version 2.5, you can create template-specific custom views for questions and some of their incorporated elements. This is useful if you want to modify the HTML layout of a particular question type for one or more surveys.
===lista-de radio===
{|class=wikitable
!'''Pregunta''!!'''Tipo de pregunta'''!!'''elementos'''
|-
| si no || Y || ul
|-
|género || GRAMO || ul
|-
|arrays/yesnouncertain || C || tr
|-
|arrays/increasesamedecrease || mi || tr
|-
|arrays/escala dual || 1 || tr
|-
|arrays/5puntos || Un || tabla y tr
|-
|arrays/10point || B || tr
|-
|matrices/matriz || F || tr
|-
|matrices/columna || H || col
|-
|listradio || L || div
|-
|list_with_comment || Oh || div seguido de ul
|-
|}


*In application/config/config.php, find 'config'=>array and add this line to the array : 'allow_templates_to_overwrite_views'=>1
===radio-item===
*In /{your_template}/config.xml, set "overwrite_question_views" to true
{|class=wikitable
*Copy application/views/survey/* to template/{your_view_directory}/survey/
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos'''  
*Note that you only need to copy the files that you intend to modify but the file structure must remain the same as in application/views/survey/
|-
|arrays/yesnouncertain || C || td
|-
|5puntoelección || 5 || li
|-
|arrays/10puntos || B || td
|-
|arrays/5puntos || Un || td
|-
|arrays/matriz || F || td
|-
|matrices/columna || H || td
|-
|arrays/escala dual || 1 || td
|-
|arrays/increasesamedecrease || mi || td
|-
|género || GRAMO || li
|-
|listradio || L || li
|-
|síno || Y || li
|-
|listradio || L || li y div
|-
|image_select-listradio || L || li y div
|-
|list_with_comment || 0 || li
|-
|}


=Insert Custom CSS or JavaScript files for template {{NewIn|2.50}}=
===list-group===
{|class=wikitable
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos'''
|-
|síno || Y || ul
|-
|5pointchoice || 5 || ul
|-
|género || GRAMO || ul
|-
|clasificación || R || ul
|-
|ranking_advanced || R || ul y div
|-
|question_index_group_buttons || || div
|-
|question_index_questions_buttons || || div
|-
|}


As of version 2.50, you can use the config.xml file to automatically load plugin files.
===lista-grupo-horizontal===
{|class=wikitable
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos''' ! N!|-
|síno || Y || ul
|-
|5pointchoice || 5 || ul
|-
|género || GRAMO || ul
|-
|}


*Upload your files to the template /css or /scripts folder
===list-unstyled===
*In /{your_template}/config.xml, add the file paths to the <css> or <js> blocks, something like this:<syntaxhighlight lang="xml" enclose="div"><css>
{|class=wikitable
<filename>css/jquery-ui-custom.css</filename>
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos'''
<filename>css/bootstrap-slider.css</filename>
|-
|list_with_comment || 0 || ul
|-
|listradio|| L || ul
|-
|opción múltiple|| M || ul
|-
|multiplechoice_with_comments|| P || ul
|-
|multiplenumérico|| K || ul
|-
|multipleshorttext|| P || ul
|-
|clasificación|| R || ul
|-
|ranking_advanced|| R || ul
|-
|bootstrap_buttons_multi|| M || ul
|-
|image_select-multiplechoice|| M || ul
|-
|inputondemand/multipleshorttext || P || ul
|-
|register_error|| || ul
|-
|register_message|| || ul
|-
|layout_survey_list || || ul
|-
|cargar|| || ul
|-
|guardar|| || ul
|-
|captcha|| || ul
|-
|}


<filename>css/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css</filename>
===select-list===
<filename>css/flat_and_modern.css</filename>
{|class=wikitable
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos'''
|-
|clasificación|| R || ul
|-
|ranking_advanced|| R || ul
|-
|}


<filename>css/template.css</filename>
===checkbox-item===
{|class=wikitable
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos'''
|-
|multiflexi (Números de matriz)|| : || td
|-
|opción múltiple|| M || li
|-
|multiplechoice_with_comments|| P || div
|-
|image_select-listradio|| L || li
|-
|image_select-multiplechoice|| M || li y div
|-
|navegador|| || lapso
|-
|}


<filename>css/myCustomPlugin.css</filename>
===checkbox-text-item===
</css>
{|class=wikitable
<js>
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos''' ! N!|-
<filename>scripts/template.js</filename>
|multiplechoice_with_comments|| P || li
<filename>scripts/bootstrap-slider.js</filename>
|-
|opción múltiple|| M || li
|-
|image_select-multiplechoice|| M || li
|-


<filename>scripts/myCustomPlugin.js</filename>
|}
</js>
</syntaxhighlight>


[[Category:Theme]]
[[Category:Theme]]
[[Category:Twig]]
[[Category:Twig]]

Latest revision as of 07:40, 5 September 2023

Introducción

LimeSurvey tiene un sistema avanzado de temas y estilos que brinda a los desarrolladores una forma eficiente de personalizar la apariencia de la encuesta. Desde LS3, ya no estamos hablando de "plantillas" como en versiones anteriores, sino de "temas". Los temas permiten controlar el aspecto de las páginas durante una encuesta. Un administrador de la encuesta puede seleccionar un tema predeterminado que se utilizará para cada encuesta para personalizarlo aún más y mejorar su apariencia. Los Temas vienen con opciones que proporcionan al administrador sin habilidad de codificación una manera simple de agregar un logotipo en la página de bienvenida, cambiar los colores de fondo, seleccionar una fuente, etc.


LimeSurvey viene con 3 temas preinstalados. Estos temas iniciales están definidos por directorios ubicados en el directorio de instalación de LimeSurvey "themes/survey/". Cada tema tiene su propio directorio. Dentro del directorio principal de un tema, encontrará un archivo de configuración en XML y numerosos directorios que contienen las vistas temas (.twig), hojas de estilo en cascada (.css), scripts, imágenes (.jpg o .png), y tal vez otros.


Desde LimeSurvey 2.50, el motor de temas utiliza Bootstrap 3 como framework CSS. Como Bootstrap 3 es un framework estándar, los desarrolladores encontrarán una gran cantidad de documentación, tutoriales y publicaciones en foros sobre esto en Internet.


Desde LimeSurvey 3, el motor de temas utiliza Twig, por lo que los desarrolladores de temas pueden cambiar la lógica de la visualización de la encuesta de forma segura y fácil. Twig reemplaza el antiguo sistema de palabras clave de reemplazo que se usaba en las versiones anteriores. La lógica que se utilizó para generar el HTML de las palabras clave ahora está disponible dentro de las vistas del tema.


Snippet del tema Vanilla:

<div class="{{ aSurveyInfo.class.answercontainer }} col-xs-12" {{ aSurveyInfo.attr.answercontainer }}>
  {# NOTA: Si desea personalizar la visualoización de la pregunta, use un tema de pregunta #}
  {{aQuestion.answer | raw}}
</div>

Los temas, al ser HTML y código Twig, tienden a definir el posicionamiento y el tipo de texto a mostrar y características estructurales similares de la página. A menudo hacen referencia o incluyen otros archivos. La mayoría de ellos hacen referencia a un archivo común de hojas de estilo en cascada (CSS) que define el estilo de fuente, color, tamaño, fondo y parámetros similares comunes a todas las páginas de la encuesta. Las hojas de estilo hacen referencia a los parámetros de clase HTML que están asociados con los diversos tipos de objetos en el código HTML. Esto permite que la hoja de estilo describa cómo mostrar cada uno de los muchos tipos de texto u otros objetos que pueden aparecer en varios lugares. Hay clases únicas para cada tipo de pregunta en LimeSurvey y, por lo tanto, dan un control detallado sobre la apariencia de cada una. También se puede hacer referencia a los archivos de imagen, como logotipos o constructores especiales de barras de progreso, en el archivo de tema. Finalmente, las palabras clave especiales entre llaves se reemplazan con texto definido en la encuesta para cada traducción de idiomas correspondiente (por ejemplo, el 'Título de la encuesta' o el 'Texto de pregunta' para cada idioma definido).

Si crea un nuevo tema personalizado, considere compartirlo con la comunidad LimeSurvey y ponerlo a disposición de otros. Con su ayuda, podemos hacer crecer nuestro repositorio de temas, encuestas y otros complementos para que LimeSurvey sea aún mejor. Vea nuestro repositorio de plantillas LimeSurvey donde puede compartir sus plantillas.

Creando un nuevo tema

Para poder crear un nuevo tema (o editar un tema existente), necesita Permisos de usuario para edición de plantillas en LimeSurvey, así como permisos para manipular los archivos en el funcionamiento subyacentes del sistema que aloja su instalación de LimeSurvey.

Nota de advertencia: Si cambia de tema, también podría afectar todas las encuestas preexistentes de su instalación de LimeSurvey. Los temas son una función avanzada que requiere experiencia y conocimientos de HTML.

La forma preferida de crear un nuevo tema es a través del Editor de temas (ver más abajo), que se encuentra en Configuración en la barra de herramientas superior. Es posible que a algunas personas les guste trabajar directamente con archivos de temas para poder usar su editor de texto favorito en lugar de la interfaz web. En este caso, aún use el Editor de temas para crear primero su nuevo tema. Esto creará un nuevo tema base con todos los archivos que necesita en el directorio LimeSurvey_web_root/upload/themes/survey/su_nuevo_tema. Desde allí, puede usar su editor de texto para ajustar manualmente los archivos de la plantilla.

Nota sobre permisos: en sistemas Unix/Linux, estos archivos de tema serán propiedad del grupo y usuario donde se ejecuta el servidor web (puede ser "www" para algunos sistemas). Por lo tanto, asegúrese de tener los permisos adecuados para editar estos archivos. Cuando los guarde, ¡asegúrese de que no cambien de propietario! De esta manera, aún puede usar la interfaz web de Edición de Temas si es necesario.


Una serie de elementos 'públicos' de LimeSurvey se pueden ajustar mediante una serie de temas. La siguiente sección proporciona una explicación muy breve de estas plantillas.

Template:Nota

El editor de temas de LimeSurvey

Editor de temas: Configuración > Temas> Editor de temas El Editor de temas solo está disponible para los usuarios con el permiso Plantillas y para superadministradores.


  Atención : Un tema que no está construido correctamente puede causar que una encuesta (que usa la correspondiente plantilla) deje de funcionar.



El editor de temas de LimeSurvey le permite editar en línea el contenido de sus temas. Para iniciar el Editor de temas: haga clic en Temas en el menú Configuración y luego haga clic en el botón Editor de temas junto al tema que desea editar o ampliar.


El botón para acceder al editor de temas para el tema Bootswatch


La página del editor de plantillas le permite seleccionar la plantilla que desea editar/ver.



Las siguientes opciones están disponibles:


  • Crear: Le permite crear una nueva plantilla. Para no empezar de cero, se copia la plantilla 'predeterminada'.
  • Importar: Permite importar una plantilla desde un archivo ZIP.
  • Exportar : Le permite exportar la plantilla actual a un archivo ZIP.
  • Copiar: Le permite crear una nueva plantilla copiando la actual.
  • Renombrar: Le permite cambiar el nombre de la plantilla. Generalmente se usa después de copiar o importar una plantilla.
  • Plantilla: Una lista desplegable que muestra todas las plantillas disponibles que se encuentran en su instalación de LimeSurvey.
  • Pantalla: es una lista desplegable que le permite elegir qué página de encuesta en particular de esa plantilla desea ver.
  • Volver al panel de administración.

Importar/Exportar/Copiar una plantilla

Cuando exporte una plantilla, se creará un archivo ZIP con todos los archivos de su plantilla (archivos .pstpl, imágenes, archivos css, ...). Puede importar el archivo zip exportado a otra instalación de LimeSurvey usando la función de importación o puede copiar manualmente el archivo a otra instalación de LimeSurvey y extraerlo en el correspondiente directorio de plantillas.

Sin embargo, es preferible utilizar las funciones de importación/exportación/copia de plantillas de LimeSurvey en el editor de plantillas.

Estructura de página/Uso de plantilla

  • La Página de Bienvenida: startpage.pstpl, welcome.pstpl, privacy.pstpl, navigator.pstpl, endpage.pstpl
  • 'Las Páginas de Preguntas:' startpage.pstpl, encuesta.pstpl, startgroup.pstpl, groupdescription.pstpl, question.pstpl, endgroup.pstpl, endpage.pstpl
  • La Página Final: startpage .pstpl, evaluación.pstpl, completado.pstpl, endpage.pstpl

Archivos de plantilla

Los siguientes archivos de plantilla se utilizan para producir su encuesta pública y deben existir en cualquier nueva carpeta de plantilla que cree:

  • startpage.pstpl: Produce el inicio de cada página html. Comienza en el etiqueta "<head>" , y no debe contener el etiqueta "<html> ". Este 'comienzo' de una página html estándar es escrito por los scripts. Asegúrese de que sus archivos startpage.pstpl contengan unetiqueta <body>. Aunque muchos navegadores no requieren un cumplimiento estricto de los estándares HTML de W3, el script de LimeSurvey necesita encontrar una etiqueta <body> para ejecutar ciertos elementos de javascript. No es común ver muchas 'palabras clave' utilizadas en el archivo startpage.pstpl. Sin embargo, es posible que desee poner {SURVEYNAME} en el título. El archivo startpage.pstpl puede contener código que termina en el archivo endpage.pstpl correspondiente. Por ejemplo, puede iniciar una tabla en este archivo y cerrar la tabla en el archivo endpage.pstpl. Los archivos startpage.pstpl y endpage.pstpl envuelven todas las páginas posibles utilizadas por LimeSurvey.
  • survey.pstpl: Esta plantilla es la segunda utilizada en la mayoría de las páginas y proporciona un espacio para poner el nombre de la encuesta y su descripción. Esta plantilla no tiene una plantilla de 'cierre' correspondiente y por tanto debe cerrar todas las etiquetas abiertas en este archivo de plantilla (es decir, no deje una tabla abierta aquí porque no hay otro lugar para cerrarla).
  • welcome.pstpl: Esta plantilla solo se usa en la pantalla de bienvenida (que también se encuentra en la página principal de las encuestas 'todo en uno'). Puede usarlo para imprimir el texto de bienvenida y otra información que deba proporcionarse en la introducción. Al igual que el archivo 'survey.pstpl', no hay una plantilla de 'cierre' correspondiente, por lo que todas las etiquetas abiertas en este archivo de plantilla también deben cerrarse.
  • startgroup.pstpl: Esta plantilla puede proporcionar un envoltorio de 'resumen' para preguntas dentro de un grupo. Tiene una plantilla 'endgroup.pstpl' pareja que se puede usar para cerrar cualquier etiqueta abierta en este archivo, por lo que puede abrir una tabla dentro de éste.
  • groupdescription.pstpl: Este archivo de plantilla se utiliza para mostrar una descripción de un grupo. Tenga en cuenta que en la configuración de la encuesta (acceda a Presentación y configuración de navegación haciendo clic en la pestaña Presentación) puede establecer si la descripción del grupo debe mostrarse o no. Si no, este archivo no se incluye en absoluto.
  • question.pstpl: Este archivo contiene las secciones de preguntas, respuestas y texto de ayuda de su encuesta. En las encuestas "grupo a grupo" y "todo en uno", esta plantilla se alterna repetidamente con cada pregunta. No hay un archivo de cierre correspondiente para esto y todas las etiquetas deben cerrarse.
  • question_start.pstpl: Este archivo contiene los elementos individuales que se encuentran al comienzo de una pregunta. Se incluye dentro de 'question.pstpl' a través de la palabra clave {QUESTION}. Su objetivo es permitir a los diseñadores de plantillas un mayor control sobre el diseño de una pregunta. Esta plantilla se encuentra fuera del sistema de plantillas normal y fue reemplazada (a partir de LimeSurvey 1.87). Todas las palabras clave de esta plantilla ahora están disponibles directamente en question.pstpl.
  • completed.pstpl: Esta página se muestra como la página final cuando las respuestas de la encuesta se han guardado y la encuesta ha terminado. Se puede usar para mostrar un "enlace de reenvío" como se establece en la configuración de la encuesta.
  • endgroup.pstpl: Este archivo cierra el grupo y se puede usar para cerrar cualquier etiqueta abierta en el archivo startgroup.pstpl
  • navigator.pstpl: Este archivo contiene los botones que navegan por la encuesta, "siguiente", "anterior", "último", "enviar", "guardar hasta ahora" y el enlace "borrar todo". Se usa en todas las páginas excepto en la página completada.
  • printanswers.pstpl: Este archivo tiene el contenedor HTML necesario para la versión impresa de la encuesta.
  • print_group.pstpl :' Este archivo es el mismo que startgroup.pstpl y endgroup.pstpl, pero para la versión impresa de la encuesta.
  • print_question.pstpl: Este archivo es el mismo que question.pstpl , pero para la versión impresa de la encuesta.
  • print_survey.pstpl: Este archivo es el mismo que survey.pstpl, pero para la versión impresa de la encuesta.

CSS y JavaScript

Dos archivos que siempre se usan en una plantilla son template.css (para CSS) y template.js (para Javascript).

  • {TEMPLATECSS}: Agrega líneas para el css predeterminado, template.css, y template-rtl.css para el lenguaje rtl.
  • {TEMPLATEJS}: Agrega líneas para los archivos javascript predeterminados, template.js y todos los archivos js necesarios para LimeSurvey.

Uso de Bootstrap

LimeSurvey tiene Bootstrap 3 incorporado, por lo que puede diseñar todas sus plantillas con las bien documentadas clases de Bootstrap. Para obtener más información, consulte la documentación de Bootstrap .

También se incluye el complemento Awesome-Bootstrap-Checkbox. Con él, puede usar las clases de color típicas de Bootstrap (información, advertencia, peligro, etc.) también con el sufijo "-checkbox" o "-radio", aunque las casillas de verificación y las radios se diseñan como usted prefiera.

Reemplazo de CSS o Javascript predeterminados

Algunas preguntas usan archivos específicos para Javascript o CSS. Si necesita reemplazar una función, use un sistema en cascada. Para la función javascript, la última función leída es la función utilizada.

Otros archivos de plantilla

LimeSurvey ya no utiliza privacy.pstpl, invitationemail.pstpl, reminderemail.pstpl y confirmemail.pstpl en su lugar, puede configurarlos en los archivos de idioma correspondientes. Los mensajes de correo electrónico ahora se pueden editar encuesta por encuesta.

Páginas estándar

Hay diez páginas estándar que un participante de la encuesta puede ver en el curso de tomar o acceder a la aplicación LimeSurvey. Cada una se construye a partir de una serie de archivos Plantilla comunes de la Plantilla especificada en la configuración de la encuesta. La siguiente tabla indica qué archivos de plantilla se utilizan para construir cada una de estas páginas.

Páginas de encuesta/
Archivos de plantilla
Lista de
Encuestas
Bienvenido Pregunta Completado Limpiar todo Registrar Cargar Guardar Imprimir
Respuestas
Imprimir
Encuesta
SurveyList
Welcome
Privacy
Navigator
Survey
StartGroup
GroupDescription
Question*
EndGroup
Assessment
Completed
ClearAll
Register
Load
Save
PrintAnswers
Print Survey
Print Group
Print Question
StartPage
EndPage
Template.css

* NOTA: En la versión 1.90+, esto reemplaza a question.pstpl Y question_start.pstpl. Si está utilizando una plantilla personalizada antigua, debe agregar la siguiente línea al comienzo de question.pstpl:

<div {QUESTION_ESSENTIALS} class="{QUESTION_CLASS}{QUESTION_MAN_CLASS}{QUESTION_INPUT_ERROR_CLASS}">

Y luego agregue la etiqueta de cierre correspondiente al final de question.pstpl:

</div>

* NOTA: en la versión 1.91 y anteriores, los archivos js de LimeSurvey no están incluidos en la plantilla. En la versión 2, debe usar {TEMPLATEJS} en uno de sus archivos de plantilla para agregar el enlace al archivo js. Puede agregarlo en startpage.pstpl o en endpage.pstpl. Puede eliminar la línea {TEMPLATEURL}/template.js y debe reemplazarla por {TEMPLATEJS} para actualizar una plantilla personal.

La sección de control de archivos

En la ventana "control de archivos" de la izquierda, puede hacer clic en uno de los archivos de plantilla que se utilizan para compilar la página. Puede ver la Parte de la pantalla, los archivos JavaScript y CSS. El código HTML para ese archivo aparecerá en la ventana "Ahora editando" en el centro. Si la plantilla es editable (determinada por los permisos del directorio), puede realizar cambios y guardarlos.


La ventana "Otros archivos" muestra una lista de todos los demás archivos del directorio de plantillas. Puede usar el lado derecho para cargar y seleccionar archivos de imagen (sus fotos, logotipos, ...) u otros archivos necesarios para crear su plantilla.


En lugar de usar un enlace para cada imagen, utilice la cadena de campo {TEMPLATEURL}. Entonces, en lugar de:

img src='/limesurvey/templates/yourtemplate/files/mypicture.jpg'

Puedes usar (New in 2.50 ):

 img src='{TEMPLATEURL}archivos/miimagen.jpg'

En versiones de LimeSurvey anteriores a la 2.50 utilice:

 img src='{TEMPLATEURL}miimagen.jpg'

Una "muestra" de la página de plantilla que está editando será visible en la parte inferior de la pantalla. No hay forma de eliminar una plantilla del editor de plantillas. Esto debe hacerse accediendo al directorio subyacente y eliminando manualmente los archivos desde allí. También tiene la posibilidad de seleccionar diferentes resoluciones de pantalla para evaluar mejor la sensación y el aspecto de la plantilla.

Nota: Las plantillas preinstaladas no se pueden editar con el editor de plantillas. Si desea modificarlos, cree primero una copia y edítela.

Ubicación de los archivos de plantilla

LimeSurvey almacena cada una de las plantillas 'estándar' en su propio subdirectorio dentro del directorio /templates que se mantiene en el directorio público con los otros archivos públicos de LimeSurvey. Las plantillas de usuario personalizadas se almacenan en el directorio /upload/templates .

SIEMPRE debería haber un directorio "predeterminado" en el directorio de plantillas. Esta plantilla se usa de manera predeterminada y como alternativa si no existe una carpeta de plantilla o no se puede encontrar. Éste viene instalado por defecto.

Puede usar cualquier archivo de imagen que suba en el área de administración de plantillas con la ayuda de esta sintaxis:

{TEMPLATEURL}nombre de archivo.xyz

Preguntas de estilo con CSS

El estilo de las preguntas en CSS se ha vuelto mucho más fácil. Cada tipo de pregunta tiene ahora una clase única. Las preguntas obligatorias tienen una clase obligatoria adicional. Por ejemplo, para una pregunta no obligatoria:

<div id="question5" class="gender">
...
</div>

y si la pregunta es obligatoria:

<div id="question5" class="gender mandatory">
...
</div>

y si la pregunta es obligatoria, pero el usuario no la respondió o si hay una validación en una pregunta:

<div id="question5" class="gender mandatory input-error">
...
</div>

y si la pregunta tiene validación aplicada, pero el usuario no ha respondido correctamente:

<div id="question6" class="text-short input-error">
...
</div>

Clases globales para la parte de la pregunta

Estas clases se usan para cada tipo de pregunta. Algunos tipos de preguntas usan solo una o dos clases, mientras que otras pueden usar muchas más.

Clases globales
Nombre de la clase Parte Tipo de pregunta Ejemplo Nota
.question (Obsolete since 3.0) Todos los bloques de preguntas Todos los tipos de preguntas <p class="question">, <ul class="question">, <table class="question">
.ls-answers (New in 3.0 ) Todos los bloques de preguntas Todos los tipos de preguntas <div class="ls-answers ">, <ul class="ls-answers ">, <table class="ls-answers">
.subquestions-list Lista de sub-preguntas Preguntas de opción múltiple, preguntas tipo matriz <ul class="subquestions-list">, <table class="subquestions-list"> .questions-list también se usa
.answers-list Lista de respuestas Preguntas de opción única, preguntas tipo matriz, Preguntas de entrada múltiple de texto <ul class="answers-list">, <table class="answers-list">
.answer-item La parte de respuesta: una respuesta Preguntas de opción única, preguntas tipo matriz, Preguntas de entrada múltiple de texto <li class="answer-item">, <td class="answer-item">
.noanswer-item La parte de respuesta para sin respuesta Preguntas de opción única, preguntas tipo matriz <li class="noanswer-item">, <td class="noanswer-item"> No answer is an answer too, then have double class noanswer-item and answer-item
.question-item The question part: one question Multi text question, array question type <li class="question-item">, <tr class="question-item"> Some answers are questions too. Then we have a lot of class="question-item answer-item"
.button-list A list of button Yes no and Gender question <ul class="button-list">
.button-item The answer part with a button Yes no and Gender question <li class="button-item">
.checkbox-list A list of checkbox Multi choice question, array number (checkbox) question type <ul class="checkbox-list">, <tr class="checkbox-list"> Some question types use multi-list class, like checkbox with comment: class="checkbox-list text-list"
.checkbox-array (New in 3.0 ) A array of checkbox Array (numbers) with checkbox option <table class="checkbox-list">
.checkbox-item The answer part with a checkbox Multi choice question, array number (checkbox) question type <li class="checkbox-item">, <td class="checkbox-item">
.radio-list A list of radio item Single choice question, array question type (each row) <ul class="radio-list">, <tr class="radio-list">
.radio-array (New in 3.0 ) A array of radio item Array question type <table class="radio-array">
.radio-item The answer part with a radio Single choice question, array question type <li class="radio-item">,
.text-list A list of text input Multi text question type, array of text <ul class="text-list">, <tr class="text-list">
.text-item The answer part of a text input Multi text question type, array of text <li class="text-item">,
.numeric-list A list of text input with numeric only answer Multi numeric question type, array of number <ul class="text-list numeric-list">, <tr class="text-list numeric-list">
.number-list A list of text input with numeric only answer (each row) Multi numeric question type, array of number <ul class="text-list numeric-list">, <tr class="text-list numeric-list">
.number-array (New in 3.0 ) The answer part of a numeric input Array of number <table class="number-array">
.select-list (Obsolete since 2.50) A list of select Array numbers, Dual scale array (select) <table class="select-list">
.dropdown-list (New in 2.50 ) A list of select Array numbers, Dual scale array (select) (each row) <table class="dropdown-list">
.dropdown-array (New in 3.0 ) A array of dropdown Array numbers, Dual scale array (select) <table class="dropdown-array">
.select-item (Obsolete since 2.50) The answer part of a select Array numbers, Dual scale array (select), single choice with select <p class="select-item">, <td class="select-item">
.dropdown-item (New in 2.50 ) The answer part of a select Array numbers, Dual scale array (select), single choice with select <p class="dropdown-item">, <td class="dropdown-item">
.hide (Obsolete since 3.0) Used for accessibility: hidden with css but read by screenreader, since 2.50 : you can use sr-only from bootstrap Short text question <label class="hide"> Can be used for other purposes
.ls-js-hidden (New in 3.0 ) Used for part to be hidden if javascript is activated Button for example <div class="ls-js-hidden"> LimeSurvey core used it, but you can use it too in your template
.ls-js-hidden-sr (New in 3.0 ) Used for accessibility: hide it if js is activated, but always show if user use a screenreader Button for example <a class="ls-js-hidden-sr"> Button
.ls-no-js-hidden (New in 3.0 ) Used for part to be hidden if javascript is not activated Link <a class="ls-no-js-hidden"> LimeSurvey core used it for inactive link if javascript is not activated
.ls-label-xs-visibility (New in 3.0 ) Label to be hidden in big screen, but show with little screen (with no more table) and to screenreader label <label class="ls-no-js-hidden"> Used for label inside table cell of array question type
.ls-input-group-extra (New in 3.0 ) Same usage of boostrap input-group-addon, but without the border and the background. right suffix <div class="ls-input-group-extra"> Used for right and left suffix (global)
.checkbox (Obsolete since 3.0) input[type=checkbox] Question with checkbox <input type="checkbox" class="checkbox"> Con navegadores modernos no es necesario, pero algunos navegadores antiguos lo necesitan
.radio (Obsolete since 3.0) entrada[tipo=selección] Pregunta con selección <input type="radio" class="radio"> With modern browser: not needed, but some old browser need this
.text entrada[tipo=texto] Pregunta con texto de entrada o área de texto <textarea class="text">
.answertext Tipo de pregunta de matriz Parte de respuestas de las preguntas tipo matriz <th class="answertext">
.col-answers Tipo de pregunta de matriz Columna de respuestas <col class="col-answers">
.odd .even (Obsolete since 2.50) Tipo de pregunta de matriz Alternancia por columna <col class="odd">
.array1 .array2 (Obsolete since 3.0) Tipo de pregunta de matriz Alternancia por línea <tr class="array1">
.ls-odd .ls-even (New in 3.0 ) Tipo de pregunta de matriz Alternancia para sub-pregunta y eje Y <tr class="ls-odd">

Algunos ejemplos de parte de preguntas con clases

Tipo de pregunta de texto corto:

<p class="question answer-item text-item ">
<label class="hide label" for="answerSGQA">Answer</label><input type="text" value="" id="answerSGQA" name="SGQA" size="50" class="text  empty">
</p>

Múltiples textos cortos

<ul class="subquestions-list questions-list text-list">
  <li class="question-item answer-item text-item" id="javatbdSGQA">
    <label for="answerSGQA">Some example subquestion</label>
     <span><input type="text" value="" id="answerSGQA" name="SGQA" size="20" class="text empty"></span>
  </li>
</ul>

Tipo de pregunta de matriz

<table class="question subquestion-list questions-list ">
	<caption class="hide read">Some explanation for accessibility.</caption>
	<colgroup class="col-responses">
		<col width="50%" class="col-answers">
		<col width="25%" class="odd">
		<col width="13.3%" class="col-no-answer even">
	</colgroup>
	<thead>
		<tr class="array1 dontread">
			<td>&nbsp;</td>
			<th>1</th>
			<th>No answer</th>
		</tr>
	</thead>
	<tbody>
		<tr class="array2 answers-list radio-list" id="javatbdSGQ">
			<th width="20%" class="answertext">Some example subquestion
			</th>
			<td class="answer_cell_001 answer-item radio-item">
				<label for="answerSGQA" class="hide read">1</label>
				<input type="radio" value="1" id="answerSGQA" name="SGQA" class="radio">
			</td>
			<td class="answer-item radio-item noanswer-item">
				<label for="answerSGQA" class="hide read">No answer</label>
				<input type="radio" value="" id="answerSGQA" name="SGQA" class="radio">
			</td>
		</tr>
	</tbody>
</table>

La lista completa de clases de preguntas

Tipo de pregunta Clase de pregunta ID de pregunta
5 puntos de elección .choice-5-pt-radio 5
Matriz (opción de 10 puntos) .array-10-pt B
Matriz (opción de 5 puntos) .array-5-pt A
Matriz (etiquetas flexibles) escala dual .array-flexible-duel-scale 1
Matriz (Aumento, Mismo, Disminución) .array-aumentar-mismo-disminuir E
Matriz (Multi Flexible) (Números) .array-multi-flexi :
Matriz (Multi Flexible) (Texto) .array-multi-flexi-text ;
Matriz (Sí / No / Incierto) .array-sí-incierto-no C
Matriz (etiquetas flexibles) .array-flexible-row F
Matriz (etiquetas flexibles) por columna .array-flexible-column H
Pregunta repetitiva .boilerplate X
Fecha .date D
Género .gender G
Texto libre enorme .text-huge U
Cambio de idioma .language I
Lista (desplegable) .list-dropdown !
Lista (radio) .list-radio L
Lista con comentario .list-with-comment O
Texto libre largo .text-long T
Entrada numérica múltiple .numeric-multi K
Múltiples opciones .multiple-opt M
Múltiples opciones con comentarios .multiple-opt-comments P
Texto corto múltiple .multiple-short-txt Q
Entrada numérica .numeric N
Clasificación .ranking R
Texto libre corto .text-short S
Sí / No .yes-no Y

La lista completa de clases de validación

Nota: Antes de 1.92, solo las clases .mandatory y .input-error estaban disponibles.

Estas se aplican a los mensajes de sugerencia de ayuda y/o validación para que cada tipo se pueda diseñar individualmente.

La opción .hide-tip y las opciones .input-error interactúan de manera predeterminada para que pueda ocultar las sugerencias de validación. Sin embargo, aparecen cuando hay errores de validación y desaparecen nuevamente cuando se corrigen esos errores.

Todos estos están diseñados para eliminar la necesidad de mensajes de alerta emergentes. En cambio, los consejos pueden aparecer/desaparecer según sea necesario y están codificados por colores para indicar si las respuestas pasan los criterios de validación.

Además, cuando visita por primera vez una página que tiene criterios de validación no satisfechos, puede codificar con color los consejos en un color agradable para mostrar qué criterios de validación aún no se han cumplido; luego vuelva a mostrar la página con un color más severo si la persona envía la página con errores de validación persistentes.

Propósito Clase CSS Descripción
Obligatorio .mandatorio la pregunta es obligatoria
Error de entrada del usuario .input-error la pregunta tenía al menos un error de validación
Ocultar sugerencia .hide-tip agregado si usa la opción hide_tip
Tipo por defecto .em_default para el conjunto de sugerencias predeterminado (valor numérico, etc.)
Num respuestas .em_num_answers para min_answers y max_answers
Rango de valores .em_value_range para min/max_num_value_n y multiflexible_min/max
Rango de suma .em_sum_range para min/max/equals_num_value
Validación de expresiones regulares .em_regex_validation para la validación de expresión regular de la pregunta
Función de validación de nivel de pregunta .em_q_fn_validation para la opción em_validation_q
Función de validación de nivel de sub-pregunta .em_sq_fn_validation para la opción em_validation_sq
Otro comentario obligatorio .em_other_comment_mandatory para la opción other_comment_mandatory: se muestra cuando se selecciona "otro" pero falta el comentario asociado.

Importando estilos a su plantilla personalizada

Los estilos de preguntas personalizados se encuentran cerca de la parte inferior del archivo CSS de cada plantilla y comienzan con:

 /* --------------------------- INICIO: Estilos de preguntas ----------------- ------------- */

Si está diseñando su propia plantilla personalizada, debería poder copiar todo después de la anterior desde templates/default/template.css (para diseños basados en tablas) o /templates/limespired/template.css (para diseños basados en CSS) en su propia hoja de estilo sin ningún impacto en sus otros estilos.

Hojas de estilo condicional de Internet Explorer

Debido a las marcadas discrepancias en el renderizado entre IE6 e IE7 y los otros navegadores, se incluyen hojas de estilo condicionales especiales de IE para cada plantilla.

!¡NORTE! <!--[if IE]>
  <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_all-versions.css" />
<![endif]--> !¡NORTE! <!--[if lt IE 7]>
  <link rel="stylesheet" type="text/css" href="{TEMPLATEURL}IE_fix_older-than-7.css" />
<![endif]--> !¡NORTE! <!--[if IE 8]>
		<link rel="stylesheet" type="text/css" href="{TEMPLATEURL}ie_fix_8.css" />
<![endif]--> !¡NORTE!

Debera incluir el código anterior en su startpage.pstpl y copias de ambas hojas de estilo de IE desde /templates/default/ o /templates/limespired para el diseño basado en tablas y diseño basado en CSS respectivamente.

Nota: Si copia los estilos en su propia hoja de estilo, seguramente necesitará ajustarlos.

Solución alternativa para Internet Explorer

Puede poner una clase condicional para <body> en startpage.pstpl y usar esta clase en su template.css. Este método se utiliza en la plantilla citronade (Obsolete since 2.06). Agregando una clase js / no-js para tener un sistema javascript / no javascript.

<!--[if lt IE 7 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie6 ielt7 ielt8 ielt9 no-js"> <![endif]-->
<!--[if IE 7 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie7 ielt8 ielt9 no-js"> <![endif]-->
<!--[if IE 8 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie8 ielt9  no-js"> <![endif]-->
<!--[if IE 9 ]> <body class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} ie ie9 no-js"> <![endif]-->
<!--[if gt IE 9]><!--><body id="body" class="lang-{SURVEYLANGUAGE} {SURVEYFORMAT} no-js"><!--<![endif]-->
<script type='text/javascript'>/*<![CDATA[*/(function(H){ H.className=H.className.replace(/\bno-js\b/,'js') })(document.getElementsByTagName('body')[0]);/*]]>*/</script>

Y use en template.css:

.ie6 {/* específico para Internet Explorer 6 */}
.ielt8 {/*específico para Internet Explorer 6 y 7*/}
.ie {/*específico para Internet Explorer*/}

Idiomas de derecha a izquierda (RTL) y justificar

El editor de texto dentro de LimeSurvey puede formatear texto RTL. Sin embargo, el editor en sí muestra el lenguaje RTL en un formato de izquierda a derecha cuando está justificado. Esto es solo un problema de visualización del editor. El RTL y la pregunta o texto justificados se mostrarán correctamente de derecha a izquierda, incluso cuando estén justificados, en su encuesta o en la vista previa.

Palabras clave

  Deprecated : This features is deprecated in version 3.0.


Las palabras clave dentro de un archivo de plantilla se reemplazan por la información de la encuesta actual. Están rodeados por llaves, por ejemplo: {SURVEYNAME}.

Las siguientes cadenas serán reemplazadas por LimeSurvey al analizar el archivo de plantilla y presentarlo a los usuarios de la encuesta. Estas cadenas de campo funcionarán en casi todas las plantillas, excepto en la 'Página completada'. (La mayoría de estas cadenas se pueden encontrar en el archivo common.php. Si no está allí, busque en el archivo index.php).

Keyword Archivos de plantilla Descripción
{SURVEYNAME} Todos Archivos El título de la encuesta.
{SURVEYDESCRIPTION} Todos los archivos La descripción de la encuesta.
{WELCOME} Todos los archivos (principalmente para welcome.pstpl) El texto de "bienvenida" de la encuesta.
{PERCENTCOMPLETE} survey.pstpl Un pequeño gráfico que muestra el porcentaje de la encuesta completada.
{GROUPNAME} startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl Muestra el nombre del grupo actual.
{GROUPDESCRIPTION} startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl Muestra la descripción del grupo actual .
{NUMBEROFQUESTIONS} welcome.pstpl Muestra el número total de preguntas en la encuesta (sólo el número).
{THEREAREXQUESTIONS} welcome. pstpl Muestra la oración "Hay X preguntas en esta encuesta", del archivo de idioma correspondiente. La X se reemplaza con el número de preguntas. Tenga en cuenta que esto también funcionará adecuadamente para singular o plural. Si solo hay 1 pregunta, se imprimirá "Hay 1 pregunta en esta encuesta".
{CHECKJAVASCRIPT} Todos los archivos (principalmente para welcome.pstpl) Mensaje de advertencia cuando el navegador del usuario tiene JavaScript deshabilitado.
{QUESTION} Question.pstpl (Ha sido reemplazado a partir de LS1.87) Muestra el texto de la pregunta actual (El formato de {QUESTION} puede personalizarse editando 'question_start.pstpl') Use los siguientes: {QUESTION_TEXT}, {QUESTION_MANDATORY}, {QUESTION_HELP}, {QUESTION_MAN_MESSAGE}, {QUESTION_VALID_MESSAGE}, {QUESTION_INPUT_ERROR_CLASS} con un etiquetado html apropiado en lugar de {QUESTION}.
{ANSWER} question.pstpl, print_question.pstpl Muestra el formulario de respuesta para la pregunta actual.
{SGQ} question.pstpl, texto de pregunta Se puede utilizar en el texto de la pregunta en sí para hacer referencia dinámica al campo de entrada de la pregunta al mostrar el ID de la encuesta, el grupo y la pregunta de la pregunta actual. (a partir de svn build 9755)
{QUESTIONHELP} question.pstpl, print_question.pstpl Muestra el texto de ayuda (sugerencia predefinida para el tipo de pregunta) para la pregunta actual.
{QUESTION_CLASS} question.pstpl, print_question.pstpl Clase única para cada tipo de pregunta. (Se incluirá en el etiquetado de la pregunta.)
{QUESTION_CODE} question.pstpl, print_question.pstpl Muestra el código de pregunta actual.
{QUESTION_ESSENTIALS} question.pstpl El ID de la pregunta y (si una pregunta es condicional), 'style="display: none;"'. (Se incluirá en el etiquetado de la pregunta.)
{QUESTION_HELP} question.pstp, question_start.pstpl Muestra el texto de ayuda definido por el usuario para la pregunta actual.
{QUESTION_TYPE_HELP} print_question.pstp Muestra el texto de ayuda definido por el usuario para la pregunta actual.
{QUESTION_INPUT_ERROR_CLASS} question.pstp, question_start.pstpl Proporciona una clase si hubo un error de entrada del usuario.
{QUESTION_ID} print_question.pstp Proporciona una identificación única para cada pregunta para permitir el diseño de preguntas específicas.
{QUESTION_TEXT} question.pstp, print_question.pstp, question_start.pstpl Muestra el texto de la pregunta actual.
{QUESTION_MANDATORY} question.pstp, print_question.pstp, question_start.pstpl Muestra el Texto 'obligatorio' para la pregunta actual.
{QUESTION_MAN_CLASS} question.pstpl, print_question.pstpl Clase de una pregunta si es obligatoria. (Se incluirá en el etiquetado de la pregunta.)
{QUESTION_MAN_MESSAGE} question.pstp, print_question.pstp, question_start.pstpl Muestra el texto traducido del mensaje de ayuda 'Obligatorio' para el pregunta actual.
{QUESTION_NUMBER} print_question.pstpl Recuento incremental de preguntas.
{QUESTION_VALID_MESSAGE} question.pstp, print_question.pstp, question_start.pstpl Muestra el texto del mensaje de ayuda válido para la pregunta actual.
{QUESTION_SCENARIO} print_question.pstp Imprime el texto 'escenario' para preguntas condicionales.
{NAVIGATOR} navigator.pstpl Muestra los botones de navegación (siguiente, anterior, último)
{CLEARALL} Todos los archivos (pero destinados a navigator.pstpl) Muestra el Enlace "Salir y borrar resultados"
{COMPLETED} complete.pstpl Muestra el mensaje 'completado' para registrarse, cambiará dependiendo de si los campos de atributo_1 y atributo_2 están configurados.
{URL} complete.pstpl Muestra la 'url' la encuesta y el 'texto url'.
{PRIVACYMESSAGE} privacy.pstpl El mensaje de privacidad se muestra si configura su encuesta como anónima. El texto se puede editar/traducir en el(los) idioma(s) configurado(s). Esto también se puede cambiar manualmente editando la plantilla privacy.pstpl que desea usar.
{TEMPLATEURL} Todos los archivos La URL a la ubicación de la plantilla actual (útil para hacer referencia a archivos de imagen en su plantilla).
{SURVEYRESOURCESURL} Todos los archivos La URL de ubicación de los archivos cargados para esta de encuesta (útil para hacer referencia a archivos de imagen en su pregunta, grupo, ...)
{SUBMITCOMPLETE} endpage.pstpl El mensaje (de los archivos de idioma) que le dice al usuario que ha completado la encuesta, y que presione el botón "Enviar"
{SUBMITREVIEW} survey.pstpl El mensaje (de los archivos de idioma) que le dice al usuario que puede revisar/cambiar las respuestas que ha hecho haciendo clic en "<< anterior"
{SAVEDID} Todos los archivos Muestra la 'ID de respuesta' del usuario.
{QUEXMLPDF} Todos los archivos Muestra el botón para exportar el en PDF queXML, incluidas las respuestas ingresadas hasta el punto que se completó en la encuesta.
{TOKEN: FIRSTNAME} Todos los archivos *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el nombre de usuario de la tabla de tokens ***
{TOKEN: LASTNAME} Todos los archivos *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el apellido de los usuarios de la tabla de tokens ***
{TOKEN: EMAIL} Todos los archivos *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el correo electrónico de los usuarios desde la tabla de tokens ***
{TOKEN: ATTRIBUTE_1} Todos los archivos *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el atributo de usuario_1 de los tokens tabla ***
{TOKEN: ATTRIBUTE_2} Todos los archivos *** Si las respuestas de la encuesta NO SON ANÓNIMAS: se reemplaza con el atributo de usuario_2 de la tabla de tokens ***
{ANSWERSCLEARED} Preferiblemente en navigator.pstpl La instrucción "Respuestas borradas" en el(los) idioma(s) configurado(s).
{RESTART} clearall.pstpl URL para reiniciar la encuesta.
{REGISTERERROR} register.pstpl Muestra cualquier mensaje de error en la página de registro (es decir: "Debe incluir una dirección de correo electrónico")
{REGISTERMESSAGE1} register.pstpl El mensaje "Debe estar registrado para completar esta encuesta" en el(los) idioma(s) configurado(s).
{REGISTERMESSAGE2} register.pstpl Detalles sobre el registro desde el idioma archivos.
{REGISTERFORM} register.pstpl El formulario para registrarse cambiará dependiendo de si los campos attribute_1 y attribute_2 están configurados.
{SAVE } Funciona en navigator.pstpl Muestra el botón "Guardar sus respuestas hasta ahora" para ofrecerle al usuario que guarde y vuelva más tarde para continuar con la encuesta. Si la opción Guardar está desactivada en las propiedades de la encuesta, la etiqueta no se mostrará ni se ignorará.
{LANGUAGECHANGER} survey.pstpl Muestra un interruptor en las encuestas multilingües para cambiar la pregunta.

Entrada/Botones

A cada tipo de "entrada" en una encuesta se le ha dado su propio nombre de clase, para que pueda agregar CSS a su archivo "startpage.pstpl" y tener cierto control sobre la apariencia de los botones de formulario y las entradas. Estos nombres de clase son los siguientes:

  • submit (Botones de envío)
  • text (Entradas de texto - para texto libre corto, fecha y tipo numérico)
  • answertext (Texto de las respuestas)
  • radio (Botones de radio)
  • checkbox (Casillas de verificación)
  • select (Cuadros de selección/lista)
  • textarea (Entradas de texto grandes - para texto libre largo)
  • clearall (El enlace para "Salir y borrar" la encuesta)
  • rank (La pregunta de estilo de rango. No establece el color del cuadro de selección o los cuadros de texto, pero permite cambiar el color de fondo, el color del texto, el tamaño, etc. ., para el resto de la pregunta de clasificación)
  • graph (La tabla gráfica "porcentaje completado")
  • innergraph (La tabla dentro de la tabla gráfica - esto contiene el texto 0% y 100%. Úselo para cambiar el tamaño de este texto)
  • question (Configuración general para cualquier pregunta que se muestre dentro de una tabla. Generalmente, debe usar esto para asegúrese de que el tamaño y el color de la fuente sean los mismos que ha usado por defecto)
  • mandatory (Preguntas obligatorias)
  • input-error (Error de entrada del usuario - por si un usuario ha cometido un error con una pregunta obligatoria o pregunta con validación)
  • array1 y array2 (Estos dos estilos se ciclan al presentar el rango de respuestas para una pregunta de tipo matriz. Esto le permite establecer un color de fondo alternativo para estos tipos de preguntas. Array1 también se usa para los encabezados de columna en estos tipos de preguntas)
  • Errormandatory (Establece el color y el estilo del mensaje de error "Esta pregunta es obligatoria")
  • warningjs (Establece el color y el estilo del mensaje de advertencia que se muestra si el navegador del participante tiene JavaScript deshabilitado)

También hay algunos elementos a los que se puede acceder utilizando la ID del elemento (#ID en CSS):

  • Surveycontact (El mensaje de contacto que se muestra en la página de inicio)
  • Tokenmessage (usado para mensajes dentro de la encuesta, por ejemplo, el mensaje de error que la sesión expiró)

Debido a que puedes editar todos los aspectos HTML, no hay razón para rodear tus plantillas con un

<div class='new_name'></div>

y luego defina un CSS para esa clase new_name.

Estilo de la barra de progreso

La apariencia de la barra de progreso se puede modificar con CSS.

Para cambiar el color de fondo de la barra, agregue algo como lo siguiente al final de su archivo custom.css (ejemplo de tema afrutado):

.fruity .barra de progreso {
 color de fondo: #3300FF;
}

Para cambiar el color del borde de la barra, agregue algo como lo siguiente al final de su archivo custom.css (ejemplo de tema afrutado):

.fruity .barra de progreso {
 borde: 1px sólido #FF0000;
}

Funciones avanzadas disponibles para desarrolladores

LimeSurvey ha integrado algunos parches creados por usuarios que permiten algunos cambios especiales. Estas características muy avanzadas (generalmente) requieren cambios en la base de código subyacente de LimeSurvey y deben hacerse con cuidado para no introducir agujeros de seguridad.

Soporte para sus propias funciones de Javascript

Es posible que algunos usuarios necesiten ejecutar Javascript en las páginas de la encuesta, pero llamar a checkconditions () en el elemento BODY hizo que fuera imposible hacerlo. Esta llamada ha sido reemplazada por una pequeña función de JavaScript en HEAD que detecta la existencia de checkconditions () y template_onload () antes de llamarlos. De esta manera, un autor de plantillas puede crear su propia función template_onload () en el HEAD que reemplaza la predeterminada.

  • Deshabilite el filtro XSS - en Configuración global -> Seguridad, configure "Filtrar HTML para XSS" en No.
  • Ingrese su script en la fuente de una pregunta o descripción del grupo.


Consejos y trucos

Elemento específico del idioma

Si desea tener una oración específica de un idioma en una encuesta, por ejemplo, ayuda al final de cada página, puede agregar una oración en un archivo .pstl y ocultarla para el otro idioma. Si lo ocultamos en template.css, podemos usar el pseudo selector :lang, pero usamos alguna clase para una mejor compatibilidad.

A continuación, hay dos frases de ayuda, en francés y en español. Ponga esto en endpage.pstpl:

<div class="fr" lang="fr">Para obtener ayuda, llame directamente al 000000</div>
<div class="en" lang="en"> Para obtener ayuda, llame al 000000</div>

y en template.css:

.lang-fr .en{display:none}
.lang-en .fr{display:none}

Cambiar el diseño de la página de la encuesta

Después de editar y guardar una plantilla, se aplica a una página de lista de encuestas solo si se selecciona en la configuración de la encuesta. Para convertirla en la plantilla predeterminada, vaya a la pestaña General ubicada en la Configuración global de su instalación de LimeSurvey y elija la plantilla deseada. A partir de este momento, todas las plantillas que utilicen la opción "predeterminada" como plantilla, más las que se vayan a crear recientemente, utilizarán la plantilla predeterminada recién seleccionada.

Para utilizar su plantilla actual para esta página, debe cambiar la configuración adecuada en Configuración global. En versiones anteriores, este cambio se puede realizar editando la configuración $defaulttemplate del archivo de configuración: copie esta configuración de config-defaults.php a config.php, que anula config-defaults.php y edite esta configuración a $defaulttemplate = 'yourtemplatename'; .

Importación/Exportación de plantillas: usuarios de Mac

Usuarios de Mac , tenga en cuenta que la utilidad de archivo predeterminada de Mac OSX puede tener problemas con las carpetas zip "generadas sobre la marcha".

Una solución alternativa es descomprimir desde la línea de comandos:

$ unzip plantilla.zip -d plantilla

Archivo: plantilla.zip

inflando: plantilla/startpage

inflando: ...

Otra solución es usar scripts en sus homólogos compilados por mac.

Utilice la misma plantilla con diferentes logotipos

Si desea usar la misma plantilla para todas las encuestas y solo quiere cambiar el logotipo de cada encuesta, puede usar el marcador de posición {SID} en el archivo .pstpl de la plantilla y, por lo tanto, hacer referencia a diferentes imágenes:

<img src="{TEMPLATEURL}files/logoImage-{SID}.png">

Mostrar favicon personalizado

Un favicon es el pequeño ícono que ves en la barra de direcciones, la lista de favoritos o la pestaña del navegador. Puedes mostrar tu propio ícono de la siguiente manera:

  1. Crea un favicon: puedes usar Google para encontrar muchos generadores de favicon gratuitos.
  2. Nombra tu nuevo favicon "favicon.ico" y colócalo en tu plantilla/archivos directorio.
  3. Agregue el siguiente código a su startpage.pstpl antes del</head> etiqueta.
<link rel="shortcut icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon"> !¡NORTE!<link rel="icon" href="{TEMPLATEURL}files/favicon.ico" type="image/x-icon">

Apariencia diferente para las páginas de encuestas/preguntas

Si desea que LimeSurvey cambie la apariencia de cada segunda página (es decir, páginas de encuesta pares e impares), puede usar la clase .page-odd en su archivo CSS para cambiar la apariencia de las páginas impares.

Un ejemplo de la plantilla predeterminada de LimeSurvey 1.91+:

.página-tabla impar.grupo-pregunta {
 color de fondo: #D2F2D3;
}

Si no quiere diferenciar páginas pares e impares, busque todas las instancias de .page-odd en template.css y elimine esos estilos.

Crear un borde separador vertical para una matriz de escala dual

Para crear un borde separador vertical para una matriz de doble escala, puede agregar las siguientes líneas a su archivo template.css.

table.question thead td.header_separator,
table.question tbody td.dual_scale_separator
{
 borde derecho: sólido 1px #00A8E1;
}

header_separator se usa para dirigir el separador para el encabezado "td". El dual_scale_separator se usa para direccionar la columna de separación en la matriz de doble escala.

Agregar su propio logotipo a la lista de la encuesta

  1. Primero, abra el editor de temas para el tema que le gustaría usar.
  2. Recomendamos usar fruity, es nuestro mejor tema actualmente.
  3. Luego extienda el tema y dele un nombre que recuerde luego.
  4. En la siguiente vista, puede cargar el logotipo que desea usar.
  5. Seleccione la pantalla del editor `Lista de encuestas´ en el menú desplegable Pantalla en la esquina superior derecha.
  6. Luego seleccione `layout_survey_list.twig´ en el menú del lado izquierdo.
  7. En el editor, desplácese a la línea 126 y cambie la parte marcada al nombre de archivo de la imagen que cargó antes en el tema.
  8. Guarde su archivo.
  9. Cambie el tema predeterminado a su tema extendido.

Alinear el logotipo con el centro de la página de la encuesta

Este ejemplo es para la plantilla "extends_fruity". Para otras plantillas, el CSS requerido puede ser diferente.

  1. ¡Inicie sesión en el área de administración de LimeSurvey
  2. Vaya al editor de temas: Configuración > Temas
  3. Busque "LimeSurvey Fruity Theme" en la lista y haga clic en " ¡Botón Theme Editor"
  4. Haga clic en "custom.css" en la lista de archivos a la izquierda, cerca de la parte inferior de la página.N!# Copie el siguiente CSS en ese archivo y presione "Guardar cambios".
.navbar-fixed-top > div.navbar-header {
 ancho: 100% !importante;
}

.navbar-fixed-top > div.navbar-header > div {
 ancho: 100% !importante;
}

.navbar-fixed-top > div.navbar-header > div > img {
 margen: 0 auto 0 auto !importante;
}


Vistas de preguntas personalizadas (New in 3.0 )

Nota: Esta es una característica temporal que será reemplazada en el futuro por un objeto de pregunta (será muy fácil mover vistas personalizadas al objeto de pregunta). Está deshabilitado por defecto.

A partir de la versión 2.5, puede crear vistas personalizadas específicas de plantilla para preguntas y algunos de sus elementos incorporados. Esto es útil si desea modificar el diseño HTML de un tipo de pregunta en particular para una o más encuestas.

  • En application/config/config.php, busque 'config'=>array y agregue esta línea a la matriz: 'allow_templates_to_overwrite_views'=>1
  • En /{su_plantilla}/config.xml, establezca "overwrite_question_views" en true.
  • Copie application/views/survey/ * a template/{su_directorio de_vistas}/survey/
  • Tenga en cuenta que sólo necesita copiar los archivos que desea modificar, la estructura de los archivos debe permanecer igual como en application/views/survey/

Insertar archivos CSS o JavaScript personalizados para la plantilla

A partir de la versión 2.50, puede utilizar el archivo config.xml para cargar archivos de complemento automáticamente.

  • ¡Sube tus archivos a la carpeta de plantilla /css o /scripts
  • En /{your_template}/config.xml, agrega las rutas de los archivos al<css> o<js> bloques, algo como esto:
    <css>
    <filename> css/jquery-ui-personalizado.css</filename>
    <filename> css/bootstrap-slider.css</filename>
    
    	  <filename>css/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css</filename>
          <filename>css/flat_and_modern.css</filename>
    
    	  <filename>css/template.css</filename>
    
    	  <filename>css/myCustomPlugin.css</filename>
    </css>
    <js>
    	  <filename>scripts/template.js</filename>
    	  <filename>scripts/bootstrap-slider.js</filename>
    
    	  <filename>scripts/myCustomPlugin.js</filename>
    </js>
    

Definiciones de clases (para desarrolladores)

lista-de-respuestas

Pregunta Tipo de pregunta elementos
arrays/5puntos Un tr
arrays/10puntos B tr
matrices/matriz F tr
matrices/columna H tr y col
arrays/dualscale 1 tr
arrays/increasesamedecrease mi tr
arrays/yesnouncertain C tr
género GRAMO div y ul
list_with_comment Oh div
clasificación R ul y div
síno Y ul y div
ranking_advanced R ul y div
listradio L div
5puntoselección 5 ul
opción múltiple M div


lista-de radio

'Pregunta Tipo de pregunta elementos
si no Y ul
género GRAMO ul
arrays/yesnouncertain C tr
arrays/increasesamedecrease mi tr
arrays/escala dual 1 tr
arrays/5puntos Un tabla y tr
arrays/10point B tr
matrices/matriz F tr
matrices/columna H col
listradio L div
list_with_comment Oh div seguido de ul

radio-item

Pregunta Tipo de pregunta elementos
arrays/yesnouncertain C td
5puntoelección 5 li
arrays/10puntos B td
arrays/5puntos Un td
arrays/matriz F td
matrices/columna H td
arrays/escala dual 1 td
arrays/increasesamedecrease mi td
género GRAMO li
listradio L li
síno Y li
listradio L li y div
image_select-listradio L li y div
list_with_comment 0 li

list-group

Pregunta Tipo de pregunta elementos
síno Y ul
5pointchoice 5 ul
género GRAMO ul
clasificación R ul
ranking_advanced R ul y div
question_index_group_buttons div
question_index_questions_buttons div

lista-grupo-horizontal

Pregunta Tipo de pregunta - síno Y ul
5pointchoice 5 ul
género GRAMO ul

list-unstyled

Pregunta Tipo de pregunta elementos
list_with_comment 0 ul
listradio L ul
opción múltiple M ul
multiplechoice_with_comments P ul
multiplenumérico K ul
multipleshorttext P ul
clasificación R ul
ranking_advanced R ul
bootstrap_buttons_multi M ul
image_select-multiplechoice M ul
inputondemand/multipleshorttext P ul
register_error ul
register_message ul
layout_survey_list ul
cargar ul
guardar ul
captcha ul

select-list

Pregunta Tipo de pregunta elementos
clasificación R ul
ranking_advanced R ul

checkbox-item

Pregunta Tipo de pregunta elementos
multiflexi (Números de matriz) : td
opción múltiple M li
multiplechoice_with_comments P div
image_select-listradio L li
image_select-multiplechoice M li y div
navegador lapso

checkbox-text-item

Pregunta Tipo de pregunta - multiplechoice_with_comments P li
opción múltiple M li
image_select-multiplechoice M li