Actions

Theme editor/es: Difference between revisions

From LimeSurvey Manual

m (FuzzyBot moved page Template editor/es to Theme editor/es without leaving a redirect: Part of translatable page "Template editor".)
(Created page with "===checkbox-text-item=== {|class=wikitable !'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos''' ! N!|- |multiplechoice_with_comments|| P || li |- |opción múltiple|| M |...")
 
(335 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages />  
<languages />  
Introducción
==Introducción==


LimeSurvey has a basic template and style system providing a theme-like capability found in many browser-based applications.  They are simply termed '''Templates''' here.  The Templates allow control over the look and feel of pages during a survey.  A survey administrator can select the template to use for each survey to thus personalize that survey's look and feel.  Changes to a Template can be as simple as adding a unique logo on the welcome page, changing background colors, or maybe new text colors for specific types of questions.
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 comes with a set of templates right out of the box. These initial templates are defined by directories within the LimeSurvey installation "templates" directory.  Each template has it's own directory.  Within the main directory of a template are numerous files: '''templates (.pstpl)''', '''cascading style sheets (.css)''', '''images''' ('''.jpg''' or '''.png''') and maybe others.


Like in other theme-based systems, fragments of HTML code are stored in the .pstpl template files.  These fragments are read in and used to construct the page to display to the end user during the operation of a survey. Often '''keywords''' surrounded by curly braces are included in the files that are then replaced with the relevant text.  The following gives an example of a template file content and its result when used in a survey page:
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.  


<syntaxhighlight lang="html4strict" enclose="div">
 
<div style='text-align: center;'><span style='color:red'>My New Survey</span></div>
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.
<div style='text-align: center;'><span style='color:red'>This is a survey written by me to find out what sort of chocolate people like.</span></div>
 
 
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 del tema Vanilla:
 
<syntaxhighlight lang="twig" enclose="div">
<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>
</syntaxhighlight>
</syntaxhighlight>


One gets a result that looks like:
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 [https://www.limesurvey.org/index.php?option=com_sobipro&sid=55:Templates&Itemid=729 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 [[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'>'''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>


<div class="simplebox"><div style='text-align: center;'><span style='color:red'>My New Survey</span></div>
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 style='text-align: center;'><span style='color:red'>This is a survey written by me to find out what sort of chocolate people like.</span></div></div>


Templates, being HTML 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 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 once 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 Template file.  Finally, special Keywords in curly braces are replaced with text defined in the Survey for each of its corresponding language translations (for example, the Survey Title or Question Text for each language defined).
<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 />


If you create a new custom template, please consider contributing it back to the LimeSurvey community, and make it available to others. With your help, we can grow our repository of templates, surveys, and other add-ons, to make LimeSurvey even better!
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.
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.


=Creating a new template=
{{Nota|Los archivos de temas son una característica compleja. Además de HTML, también debe estar familiarizado con CSS, Twig y JavaScript.}}


To be able to create a new template (or edit an existing template), you need Template Editing user permission in LimeSurvey as well as permission to manipulate the files in the underlying operating system hosting your LimeSurvey installation.
=El editor de temas de LimeSurvey=


<div class="simplebox">'''Note of Warning:''' As template changes can affect all surveys in an installation. Templates are an advanced feature that can take some experimentation to get correct if you are not familiar with HTML code methods.</div>
'''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.  


The preferred way to create a new template is through the Template Editor (see below) via the web Admin interface. Some people may like to work directly with template files so that they can use their favorite text editor instead of the web interface. In this case, still use the Template Editor to first create your new template. This will create a new base template with all the files you need in the LimeSurvey_web_root/upload/templates/your_new_template directory. From there you can use your text editor to manually adjust the template files.


<div class="simplebox">'''Permissions Note:''' on unix/linux systems, these template files will be owned by the group and user who the web server is running as (may be "www" for some systems). So make sure you have access to edit these files, and when you save them make sure they don't change ownership, so you can still use the web Template Editing interface if needed</div><br />
{{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. }}


Template files may seem complex to understand at first. You have to likely understand HTML code, possibly CSS.


A number of the 'public' elements of LimeSurvey can be adjusted by a series of templates. The next section provides a very brief explanation of these templates.
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.  


=The LimeSurvey template editor=


To ease the understanding and quick update of a Template, LimeSurvey provides a '''Template Editor''' in the main '''administrative''' toolbar of the application.  This Template Editor is only available to users given the privilege in the User Security settings and to superadministrators.  A template effects all surveys and can render a survey inoperable if not constructed properly.  
[[File:Themes menu.png]]
[[File:Theme editor button.png|''El botón para acceder al editor de temas para el tema Bootswatch'']]


The LimeSurvey template editor allows you to edit the contents of your templates online. Start the Template Editor by clicking on '''Template editor''' in the '''Configuration''' menu.


[[File:templates.png]]
La página del editor de plantillas le permite seleccionar la plantilla que desea editar/ver.  


The main screen is similar to the LimeSurvey Survey Administration screen. It allows you to select the template to edit/view. Once this has been selected you can then select from one of the different public survey pages. You are then presented with a list of the template files that make up that particular page.


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


==The template menu==


*'''Create''': Allows you to create a new template. To not have to start from scratch the template 'default' is copied.
Las siguientes opciones están disponibles:
*'''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.  Generally used after copying  or importing a template.


The "Screen" drop-down list on the right allows you to choose which particular survey page insie that template you are currently looking at.


==Import/export/copy a template==
*'''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.


When you '''export '''a template, this will create a ZIP-file archive with all the files your template consists of (.pstpl files, images, css files, ...). You can simply '''import '''the exported zip-file at other LimeSurvey systems by using the import feature or you can manually copy the archive to another installation and extract it into the corresponding template directory there.  
*'''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'''.


However it is preferred use the LimeSurvey template import/export/copy functions in the template editor.
===Importar/Exportar/Copiar una plantilla===


==Page Structure / Template Use==
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]].  
*'''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==
Sin embargo, es preferible utilizar las funciones de importación/exportación/copia de plantillas de LimeSurvey en el editor de plantillas.


The following template files are used to produce your public survey and must exist in any new template folder you create:
===Estructura de página/Uso 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 that many 'keywords' will be 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, so 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.
*'''La Página de Bienvenida:''' startpage.pstpl, welcome.pstpl, privacy.pstpl, navigator.pstpl, endpage.pstpl
*'''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 (ie: don't leave a table open here because there is nowhere else to close it)
*'' 'Las Páginas de Preguntas:''' startpage.pstpl, encuesta.pstpl, startgroup.pstpl, groupdescription.pstpl, question.pstpl, endgroup.pstpl, endpage.pstpl
*'''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.
*'''La Página Final:''' startpage .pstpl, evaluación.pstpl, completado.pstpl, endpage.pstpl
*'''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 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, and 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 LS1.87)'''. All keywords from this template are now available directly in question.pstpl. NOTE: templates using question_start.pstpl will still work at least for a couple more versions of LS 1.x
*'''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 for the print version of the survey.
*'''print_group.pstpl:''' This file is the same as startgroup.pstpl 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==
===Archivos de plantilla===


Two files are allways used for template : template.css for css and template.js for 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:
*'''{TEMPLATECSS}:''' Add lines for default css, template.css and template-rtl.css for rtl language.
*'''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.
*'''{TEMPLATEJS}:''' Add lines for default javascript files, template.js and all js files needed for 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===


=== 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 [http://getbootstrap.com Bootstrap documentation].
*'''{TEMPLATEJS}:''' Agrega líneas para los archivos javascript predeterminados, template.js y todos los archivos js necesarios para LimeSurvey.


Also included is the [https://github.com/flatlogic/awesome-bootstrap-checkbox Awesome-Bootstrap-Checkbox] plugin.
===Uso de Bootstrap===
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.
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 question use specific files for javascript or css. If you need to replace a function, you add to use cascading system. For javascript function, 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 survey's settings. 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 158: Line 174:
|}
|}


<span style='color:red'>'''*'''</span>NOTE: In versions 1.90 and up 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> 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===


<span style='color:red'>'''*'''</span>NOTE: In version 1.91 and earlier, LimeSurvey js files are not included by the template. In version 2, '''you have to use {TEMPLATEJS} in your 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.
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.


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


In the "file control" window on the left, you can click on one of the template files that is used to compile the page. 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.


The "Other files" window shows a list of all other files in 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'''. Note: Instead of a link directly to each picture in your template you can use 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 at the bottom of the screen. There is no way to to delete a template from the template editor. This must be done by accessing the underlying directory and deleting the file there.
<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 modify the copy.</div>
En versiones de LimeSurvey anteriores a la 2.50 utilice:
<syntaxhighlight lang="html4strict"> img src='{TEMPLATEURL}miimagen.jpg'</syntaxhighlight>


==Location of template files==
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>


To create a new template, use the according icon in the template editor.
===Ubicación de los archivos de plantilla===


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. The "default" directory comes with the package.
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 ''.


You can use any image files that you upload into the template management area with syntax like this:
'''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.


<syntaxhighlight lang="php" enclose="div">{TEMPLATEURL}filename.xyz</syntaxhighlight>
Puede usar cualquier archivo de imagen que suba en el área de administración de plantillas con la ayuda de esta sintaxis:


=Styling questions with CSS=
<syntaxhighlight lang="php">{TEMPLATEURL}nombre de archivo.xyz</syntaxhighlight>


Styling of questions in CSS has become much easier. Each question type now has a unique class. Mandatory question's also have an additional mandatory class. For example, for a non-mandatory question:
==Preguntas de estilo con CSS==


<syntaxhighlight lang="html4strict" enclose="div"><div id="question5" class="gender">
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 class, but others can 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|30}}
! 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 270: Line 290:
| Multi text question, array question type
| Multi text question, array question type
| &lt;li class="question-item">, &lt;tr class="question-item">
| &lt;li class="question-item">, &lt;tr class="question-item">
| Some answer are question too, then we have a lot of class="question-item answer-item"
| Some answers are questions too. Then we have a lot of class="question-item answer-item"
|-
! scope="row" | .button-list
| A list of button
| Yes no and Gender question
| &lt;ul class="button-list">
|
|-
! scope="row" | .button-item
| The answer part with a button
| Yes no and Gender question
| &lt;li class="button-item">
|
|-
|-
! scope="row" | .checkbox-list
! scope="row" | .checkbox-list
Line 276: Line 308:
| Multi choice question, array number (checkbox) question type
| Multi choice question, array number (checkbox) question type
| &lt;ul class="checkbox-list">, &lt;tr class="checkbox-list">
| &lt;ul class="checkbox-list">, &lt;tr class="checkbox-list">
| Some question type have multi list class: like checkbox with comment : class="checkbox-list text-list"
| Some question types use multi-list class, like checkbox with comment: class="checkbox-list text-list"
|-
|-
! scope="row" | .checkbox-array  {{NewIn|3.0}}
! scope="row" | .checkbox-array  {{NewIn|3.0}}
Line 372: Line 404:
| Short text question
| Short text question
| &lt;label class="hide">
| &lt;label class="hide">
| Can be used for other purpose
| Can be used for other purposes
|-
|-
! scope="row" | .ls-js-hidden {{NewIn|3.0}}
! scope="row" | .ls-js-hidden {{NewIn|3.0}}
Line 378: Line 410:
| Button for example
| Button for example
| &lt;div class="ls-js-hidden">
| &lt;div class="ls-js-hidden">
| LimeSurvey core used it, but yopu can use it too in your template
| LimeSurvey core used it, but you can use it too in your template
|-
|-
! scope="row" | .ls-js-hidden-sr {{NewIn|3.0}}
! scope="row" | .ls-js-hidden-sr {{NewIn|3.0}}
Line 408: 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 sub-question 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 468: 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 499: 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, by default, interact so that you can have validation tips start hidden, but appear when there 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 med; 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'''
|-
|Obligatorio || .mandatorio || la pregunta es obligatoria
|-
|-
|Mandatory||.mandatory||the question is mandatory
|Error de entrada del usuario || .input-error || la pregunta tenía al menos un error de validación
|-
|-
|User input error||.input-error||the question had at least one validation error
|Ocultar sugerencia || .hide-tip || agregado si usa la opción hide_tip
|-
|-
|Hide Tip||.hide-tip||added if you use the hide_tip option
|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 from templates/default/template.css (for tables 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 most 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 conditional class for body in startpage.pstpl, and use this class in your template.css. This method is used in citronade template. 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 636: 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 {/* específico para Internet Explorer 6 */}
.ielt8 {/*específico para Internet Explorer 6 y 7*/}
.ie {/*específico para Internet Explorer*/}</source>


<source lang="css">.ie6{/*specific for internet explorer 6*/}
=== Idiomas de derecha a izquierda (RTL) y justificar===
.ielt8{/*specific for internet explorer 6 and 7*/}
.ie{/*specific for all internet explorer */}</source>


== Right-to-Left (RTL) Languages and justify==
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.


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.
===Palabras clave===


==Keywords==
{{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} || Todos Archivos || El título de la encuesta.
|-
|-
|{SURVEYNAME}||All Files||The survey title
|{SURVEYDESCRIPTION} || Todos los archivos || La descripción de la encuesta.
|-
|-
|{SURVEYDESCRIPTION}||All Files||The survey description
|{WELCOME} || Todos los archivos (principalmente para welcome.pstpl) || El texto de "bienvenida" de la encuesta.
|-
|-
|{WELCOME}||All files (mainly for welcome.pstpl)||The survey 'welcome' text
|{PERCENTCOMPLETE} || survey.pstpl || Un pequeño gráfico que muestra el porcentaje de la encuesta completada.
|-
|-
|{PERCENTCOMPLETE}||survey.pstpl||A small graph showing the percentage of the survey completed
|{GROUPNAME} || startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl || Muestra el nombre del grupo actual.
|-
|-
|{GROUPNAME}||startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl||Displays the current group name
|{GROUPDESCRIPTION} || startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl || Muestra la descripción del grupo actual .
|-
|-
|{GROUPDESCRIPTION}||startgroup.pstpl, groupdescription.pstpl, endgroup.pstpl||Displays the current group description
|{NUMBEROFQUESTIONS} || welcome.pstpl || Muestra el número total de preguntas en la encuesta (sólo el número).
|-
|-
|{NUMBEROFQUESTIONS}||welcome.pstpl||Displays the total number of questions in the survey (just the number)
|{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".
|-
|-
|{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".
|{CHECKJAVASCRIPT} || Todos los archivos (principalmente para welcome.pstpl) || Mensaje de advertencia cuando el navegador del usuario tiene JavaScript deshabilitado.
|-
|-
|{CHECKJAVASCRIPT}||All files (mainly for welcome.pstpl)||Warning message when end-user browser have javascript disabled
|{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}.
|-
|-
|{QUESTION}||Question.pstpl||('''Has been superseeded but the {QUESTION_...} keywords 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} and {QUESTION_INPUT_ERROR_CLASS} and appropriate wrapping HTML instead of {QUESTION}
|{ANSWER} || question.pstpl, print_question.pstpl || Muestra el formulario de respuesta para la pregunta actual.
|-
|-
|{ANSWER}||question.pstpl, print_question.pstpl||presents the answer form for the current question
|{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)
|-
|-
|{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)
|{QUESTIONHELP} || question.pstpl, print_question.pstpl || Muestra el texto de ayuda (sugerencia predefinida para el tipo de pregunta) para la pregunta actual.
|-
|-
|{QUESTIONHELP}||question.pstpl, print_question.pstpl||Displays help text (predefined tip for question type) for the current question
|{QUESTION_CLASS} || question.pstpl, print_question.pstpl || Clase única para cada tipo de pregunta. (Se incluirá en el etiquetado de la pregunta.)
|-
|-
|{QUESTION_CLASS}||question.pstpl, print_question.pstpl||unique class for each question type. (To be included in the question's wrapping tag.)
|{QUESTION_CODE} || question.pstpl, print_question.pstpl || Muestra el código de pregunta actual.
|-
|-
|{QUESTION_CODE}||question.pstpl, print_question.pstpl||Displays the current question code
|{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_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_HELP} || question.pstp, question_start.pstpl || Muestra el texto de ayuda definido por el usuario para la pregunta actual.
|-
|-
|{QUESTION_HELP}||question.pstp, question_start.pstpl||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_TYPE_HELP}||print_question.pstp||Displays the user defined help text for the current question
|{QUESTION_INPUT_ERROR_CLASS} || question.pstp, question_start.pstpl || Proporciona una clase si hubo un error de entrada del usuario.
|-
|-
|{QUESTION_INPUT_ERROR_CLASS}||question.pstp, question_start.pstpl||Provides a class if there was user input error
| {QUESTION_ID} || print_question.pstp || Proporciona una identificación única para cada pregunta para permitir el diseño de preguntas específicas.
|-
|-
|{QUESTION_ID}||print_question.pstp||Provides a unique ID for each question to allow styling for specific questions
|{QUESTION_TEXT} || question.pstp, print_question.pstp, question_start.pstpl || Muestra el texto de la pregunta actual.
|-
|-
|{QUESTION_TEXT}||question.pstp, print_question.pstp, question_start.pstpl||Displays the text for the current question
|{QUESTION_MANDATORY} || question.pstp, print_question.pstp, question_start.pstpl || Muestra el Texto 'obligatorio' para la pregunta actual.
|-
|-
|{QUESTION_MANDATORY}||question.pstp, print_question.pstp, question_start.pstpl||Displays the translated 'Mandatory' text for the current question
|{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_CLASS}||question.pstpl, print_question.pstpl||class if a question is mandatory. (To be included in the question's wrapping tag.)
|{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_MAN_MESSAGE}||question.pstp, print_question.pstp, question_start.pstpl||Displays the translated 'Mandatory' help message text for the current question
|{QUESTION_NUMBER} || print_question.pstpl || Recuento incremental de preguntas.
|-
|-
|{QUESTION_NUMBER}||print_question.pstpl||Incremental count of questions.
|{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_VALID_MESSAGE}||question.pstp, print_question.pstp, question_start.pstpl||Displays the translated valid help message text for the current question
|{QUESTION_SCENARIO} || print_question.pstp || Imprime el texto 'escenario' para preguntas condicionales.
|-
|-
|{QUESTION_SCENARIO}||print_question.pstp||Prints out the 'scenario' text for conditional questions.
|{NAVIGATOR} || navigator.pstpl || Muestra los botones de navegación (siguiente, anterior, último)
|-
|-
|{NAVIGATOR}||navigator.pstpl||Displays navigation buttons (next, prev, last)
|{CLEARALL} || Todos los archivos (pero destinados a navigator.pstpl) || Muestra el Enlace "Salir y borrar resultados"
|-
|-
|{CLEARALL}||All files (but intended for navigator.pstpl)||Displays the "Exit and Clear Results" link
|{COMPLETED} || complete.pstpl || Muestra el mensaje 'completado' para registrarse, cambiará dependiendo de si los campos de atributo_1 y atributo_2 están configurados.
|-
|-
|{COMPLETED}||completed.pstpl||Displays the 'completed' message for registering, will change depending on whether the attribute_1 and attribute_2 fields are set.
|{URL} || complete.pstpl || Muestra la 'url' la encuesta y el 'texto url'.
|-
|-
|{URL}||completed.pstpl||Displays the survey 'url' and 'url text'
|{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.
|-
|-
|{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.
|{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).
|-
|-
|{TEMPLATEURL}||All Files||The URL to the current template location (useful for referencing image files in your template)
|{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, ...)
|-
|-
|{SURVEYRESOURCESURL}||All Files||The URL to the current uploaded files for this survey location (useful for referencing image files in your question, group, ....)
|{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"
|-
|-
|{SUBMITCOMPLETE}||endpage.pstpl||The statement (from the language files) that tells the user they have completed the survey, and to press the "Submit" button
|{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"
|-
|-
|{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"
|{SAVEDID} || Todos los archivos || Muestra la 'ID de respuesta' del usuario.
|-
|-
|{SAVEDID}||All Files||Displays 'Response ID' of user
|-
|-
|{TOKEN:FIRSTNAME}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users first name from the tokens table
|{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:LASTNAME}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users last 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:EMAIL}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users email 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:ATTRIBUTE_1}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users attribute_1 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_2}||All Files||***If survey answers are NOT ANONYMOUS - gets replaced with the users attribute_2 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 ***
|-
|-
|{ANSWERSCLEARED}||Preferably in navigator.pstpl||The "Answers Cleared" statement from the language files
|{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 ***
|-
|-
|{RESTART}||clearall.pstpl||URL to restart the survey
|{ANSWERSCLEARED} || Preferiblemente en navigator.pstpl || La instrucción "Respuestas borradas" en el(los) idioma(s) configurado(s).
|-
|-
|{REGISTERERROR}||register.pstpl||Shows any error messages in the register page (ie: "You must include an email address")
|{RESTART} || clearall.pstpl || URL para reiniciar la encuesta.
|-
|-
|{REGISTERMESSAGE1}||register.pstpl||The statement "You must be registered to complete this survey" from the language files
|{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")
|-
|-
|{REGISTERMESSAGE2}||register.pstpl||Details about registering from the language files
|{REGISTERMESSAGE1} || register.pstpl || El mensaje "Debe estar registrado para completar esta encuesta" en el(los) idioma(s) configurado(s).
|-
|-
|{REGISTERFORM}||register.pstpl||The actual form for registering, will change depending on whether the attribute_1 and attribute_2 fields are set.
|{REGISTERMESSAGE2} || register.pstpl || Detalles sobre el registro desde el idioma archivos.
|-
|-
|{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.
|{REGISTERFORM} || register.pstpl || El formulario para registrarse cambiará dependiendo de si los campos attribute_1 y attribute_2 están configurados.
|-
|-
|{LANGUAGECHANGER}||survey.pstpl||Displays a switch in multilingual surveys to change the question.
|{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.
|}
|}


==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:
*'''submit''' (Submit Buttons)
*'''text''' (Text Inputs - for short free text, date and numerical type)
*'''answertext''' (Text of answers)
*'''radio''' (Radio Buttons)
*'''checkbox''' (Check Boxes)
*'''select''' (Select / List Boxes)
*'''textarea''' (Large text inputs - for long free text)
*'''clearall''' (The "Exit and Clear Survey" link)
*'''rank''' (The rank style question. Doesn't set the colour of the select box or the text boxes (these are set by relevant section above) but does allow changing of background colour, text colour and size etc for the rest of the ranking question)
*'''graph''' (The "percentage completed" graph table)
*'''innergraph''' (The table inside the graph table - this contains the 0% and 100% text. Use this for changing the size of this text)
*'''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 colour is the same as you have used elsewhere as a default)
*'''mandatory'''  (Mandatory questions)
*'''input-error''' (User input error - for if a user has made a mistake with a mandatory question or question with validation)
*'''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 colour for these question types. '''Array1''' is also used for the column headings in these question types)
*'''errormandatory''' (Sets the colour and style of the "This question is mandatory" error message)
*'''warningjs''' (Sets the colour and style of the warning message displayed if the participant's browser has javascript disabled)


There are also some elements that can be accessed using the ID of the element ('''#ID''' in CSS):
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:
*'''surveycontact''' (The contact message shown on the start page)
*'''submit''' (Botones de envío)
*'''tokenmessage''' (used for messages inside the survey, e.g. the session expired error message)
*'''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)


An example of using these classes with style sheets can be found in the "bubblegum" template that comes with the LimeSurvey application.
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ó)


Because you can edit all the HTML aspects, there's no reason to surround your templates with a <div class='new_name'> and then define a css for that new_name class.
Debido a que puedes editar todos los aspectos HTML, no hay razón para rodear tus plantillas con un
<syntaxhighlight lang="php"><div class='new_name'></div></syntaxhighlight>
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 colour 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 colour 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 allow for some special changes.  These very advanced features generally require changes to the underlying code base of LimeSurvey and should be done carefully so as not to introduce security holes.
 
===Basic CMS Integration support===
 
<div class="simplebox">Deprecated: This function is not available anymore in version 2.0 or later</div>
 
To be able to integrate LimeSurvey into another CMS, use the following options in '''config.php''':
 
// Set $embedded to true and specify the header and footer functions if the survey is to be displayed embedded in a CMS
 
<nowiki>
$embedded = false;
$embedded_inc = "";               // path to the header to include if any
$embedded_headerfunc = "";        // e.g. COM_siteHeader for geeklog
$embedded_footerfunc = "";        // e.g. COM_siteFooter for geeklog
</nowiki>
 
Set '''$embedded = true;''' to enable CMS-embedding. By using the '''$embedded_inc''' variable one can include their own '''.php''' files.  By setting '''$embedded_headerfunc''' or '''$embedded_footerfunc''', one can call functions from within included files that output the relevant headers or footers instead of LimeSurveys default ones.


===Support for your own Javascript functions===
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.


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 each.  This way a template author can create their own '''template_onload()''' function in the HEAD that replaces the default one.
====Soporte para sus propias funciones de Javascript====


*Disable XSS filter - in Global settings -> Security, set "Filter HTML for XSS" to No.
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.
*Enter your script in the source of a question or group description.
*There are more details in the [[Workarounds: Manipulating a survey at runtime using Javascript#How to use Script (eg. JavaScript etc.) in LimeSurvey?|workaround section]].


=Videos on Templates=
* 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.


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, customizing survey description page, and completed page.
{{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.}}


[http://youtu.be/Uk3FQyDTIY0 LimeSurvey training video - template customization]
Video not available anymore... Where is it?


=Tips & Tricks=
==Consejos y trucos==


==Some language specific element==
===Elemento específico del idioma===


If you want to have some language specific sentence in a survey, for example a help at end of each page, you can add in a .pstl file a sentence and hidding it for other language. And hidding it in the template.css, we can use the pseudo selector :lang, but for best compatibility, we use some class.
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.


Example for a help sentence at bottom of the page, in french and english, put this on endpage.pstpl:
A continuación, hay dos frases de ayuda, en francés y en español. Ponga esto en endpage.pstpl:


<syntaxhighlight lang="php" enclose="div"><div class="fr" lang="fr">Pour de l'aide en direct appelez le 000000</div>
<syntaxhighlight lang="php"><div class="fr" lang="fr">Para obtener ayuda, llame directamente al 000000</div>
<div class="en" lang="en">For some help, please call 000000</div></syntaxhighlight>
<div class="en" lang="en"> Para obtener ayuda, llame al 000000</div></syntaxhighlight>


and in template.css
y en template.css:


<syntaxhighlight lang="php" enclose="div">.lang-fr .en{display:none}
<syntaxhighlight lang="php">.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===
 
When editing a template this template can be assigned to a single survey while the survey list page, which is shown at www.yourdomain.org/limesurveyinstallfolder, lists all your surveys.
 
To use your current template for this page you have change the according setting at the Global Settings screen; at older versions this change can be done by editing the $defaulttemplate setting at the config file: Copy this setting from config-defaults.php to config.php which overrides config-defaults.php and edit this setting to $defaulttemplate = 'yourtemplatename';
 
==Import/Export of templates: Mac users==
 
Mac users, please note: Mac OSX default archive utility may have problems with zip folders "generated on the fly".
 
a work around is to unix'es unzip from the command line:
 
$ unzip template.zip -d template
 
Archive: template.zip
 
 inflating: template/startpage
 
 inflating: ...


or scripts in their mac-compiled counterparts:
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.


http://homepage.mac.com/roger_jolly/software/
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> .


==Changing your templates traffic light from red to green==
===Importación/Exportación de plantillas: usuarios de Mac===


If you haven't already, set the admin directory to read/write/execute (777). The files within it, however, may be set to read/execute only (chmod 755).
<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".


GO to file directory ie file manager, find templates directory.
Una solución alternativa es descomprimir desde la línea de comandos:


1 change permission on eg"vallendar" (or any template of your choice) directory to read 777
$ unzip plantilla.zip -d plantilla


2 voila! the red traffic light on "vallendar" is now green.
Archivo: plantilla.zip


3 NOTE: to restrict access for safety, when finished editing template files, change all templates files back to what they were eg 644
inflando: plantilla/startpage


==Replacing the help icon==
inflando: ...


When a question help text is shown then an help.gif image is used from the default template folder.
Otra solución es usar scripts en sus homólogos compilados por mac.


You can replace this image by uploading a new help.gif, help.png or help.jpg in your custom template folder. It then will be automatically used instead of the default help icon.
===Utilice la misma plantilla con diferentes logotipos===


==Replacing an existing logo==
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:


'''Note''': In the '''default'''-Template of 2.50 there is no preembedded logo, please go to [[#Adding_your_own_logo | Adding your own logo]]
<syntaxhighlight lang="php"><img src="{TEMPLATEURL}files/logoImage-{SID}.png"></syntaxhighlight>


1. To edit the logo go to the &bdquo;<u>template.css</u>&rdquo; file which you can find it here:
=== Mostrar favicon personalizado ===


[[File:t1.PNG|200px]]
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.


2. Click the search button to find occurrences of logo related styles.
<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>


[[File:2.png|200px]]
=== Apariencia diferente para las páginas de encuestas/preguntas===


3. Search for <u>#logo</u>
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.


[[File:3.PNG|200px]]
Un ejemplo de la plantilla predeterminada de LimeSurvey 1.91+:


4. Edit the main style file
<syntaxhighlight lang="php">
 
.página-tabla impar.grupo-pregunta {
You will see something similar to:
color de fondo: #D2F2D3;
 
[[File:t4.PNG|500px]]
 
 
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 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==
 
1. Find and open the &bdquo;<u>startpage.pstpl</u>&rdquo; template file.
 
[[File:startpage.pstpl.png]]
 
 
2. After the <source lang="html4strict" ><div id="topContainer" class="jumbotron"></source> tag add this line to &bdquo;<u>startpage.pstpl</u>&rdquo;:
<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.
 
[[File:uploadyourlogo.png]]
 
To position your logo please use one of the following css classes:
 
'''If you want the logo to be placed at left side:'''
 
<source>clearfix pull-left</source>
 
 
'''If you want the logo to be placed at right side:'''
 
<source>clearfix pull-right</source>
 
 
'''If you want to center the logo'''
 
<source>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>
 
==Remove the default help to all question (hide_tip)==
 
There are 3 solutions to remove the default help:
# like a [[Advanced question settings#hide_tip|hide_tip attribute]] but for all question and survey.
# you can remove the {QUESTIONHELP} and is container from the file question.pstl, but it can be a bad idea for screenreader.
# for the default template and some other, add this at the end of tempate.css
 
<syntaxhighlight lang="php" enclose="div">span.questionhelp{display:none;}</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.
 
example from default template of LimeSurvey 1.91+
 
<syntaxhighlight lang="php" enclose="div">
.page-odd table.question-group {
 background-color: #D2F2D3;
}</syntaxhighlight>
}</syntaxhighlight>


To '''not''' differentiate even and odd pages at the (default) template 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" and "dual_scale_separator" is used to adress 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==
===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==


If you want to remove the survey contact message from error messages it'll be trickier. You can add the following function call to 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>


and add the following function to your *template.js* file
<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>


<syntaxhighlight lang="php" enclose="div">
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.
function removeContactAdressFromMessage()
{
if ($('#tokenmessage').length > 0)
   {
   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 how to solve this.
*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/


==How to deal with multilingual question attributes (before version 2.0 at which those were added)==
==Insertar archivos CSS o JavaScript personalizados para la plantilla==  


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"
A partir de la versión 2.50, puede utilizar el archivo config.xml para cargar archivos de complemento automáticamente.


<syntaxhighlight lang="php" enclose="div"><span class="en">New label</span><span class="fr">Nouveau label</span></syntaxhighlight>
*¡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>


At the template.css of your template (at /limesurvey/upload/templates/<yourtemplatename>/template.css) add:
  <filename>css/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css</filename>
      <filename>css/flat_and_modern.css</filename>


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


=Custom Question Views (version 2.5)=
  <filename>css/myCustomPlugin.css</filename>
</css>
<js>
  <filename>scripts/template.js</filename>
  <filename>scripts/bootstrap-slider.js</filename>


<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>
  <filename>scripts/myCustomPlugin.js</filename>
</js>
</syntaxhighlight>


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.
==Definiciones de clases (para desarrolladores)==


*In application/config/config.php, find 'config'=>array and add this line to the array : 'allow_templates_to_overwrite_views'=>1
===lista-de-respuestas===
*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/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
|-
|}




=Insert Custom CSS or JavaScript files for plugins (version 2.5)=  
===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
|-
|}
 
===radio-item===
{|class=wikitable
!'''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===
{|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
|-
|}
 
===lista-grupo-horizontal===
{|class=wikitable
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos''' ! N!|-
|síno || Y || ul
|-
|5pointchoice || 5 || ul
|-
|género || GRAMO || ul
|-
|}


As of version 2.5, you can use the config.xml file to automatically load plugin files.
===list-unstyled===
{|class=wikitable
!'''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
|-
|}


*Upload your files to the template /css or /scripts folder
===select-list===
*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>
|-
|clasificación|| R || ul
|-
|ranking_advanced|| R || ul
|-
|}


<filename>css/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css</filename>
===checkbox-item===
<filename>css/flat_and_modern.css</filename>
{|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/template.css</filename>
===checkbox-text-item===
{|class=wikitable
!'''Pregunta'''!!'''Tipo de pregunta'''!!'''elementos''' ! N!|-
|multiplechoice_with_comments|| P || li
|-
|opción múltiple|| M || li
|-
|image_select-multiplechoice|| M || li
|-


<filename>css/myCustomPlugin.css</filename>
|}
</css>
<js>
<filename>scripts/template.js</filename>
<filename>scripts/bootstrap-slider.js</filename>


<filename>scripts/myCustomPlugin.js</filename>
[[Category:Theme]]
</js>
[[Category:Twig]]
</syntaxhighlight>

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