Tutorial - FLEXIcontent Plantilla - Part4: El contenido de una plantilla
En esta cuarta parte voy a presentar y explicar el propósito FlexicontentViewItems que nos permitirá alcanzar nuestra plantilla para el artículo. Y así voy a detallar todas las variables que pueden ser útiles en la construcción de sus propias plantillas.
También voy a hablar de un montón de funciones que se pueden encontrar con la flexicontent_html clase.
Este tutorial está siendo construido en torno a mi ejemplo, quiero mostrar información acerca de un estadio de fútbol.
Contenido:
- El propósito FlexicontentViewItems
- Mostrar un conjunto de campo de una posición
- Muestra un único campo
- Observaciones de la administración
- Hacer más ...
- artículo
- elemento-> fields o campos
- item-> posiciones
- uso
- params
- menu_params
- La clase flexicontent_html
- Función striptadsandcut
- Función extractimagesrc
- Función printbutton
- Función mailbutton
- Función pdfbutton
El propósito FlexicontentViewItems
Este útil objeto en todas las plantillas de la partida le permitirá abrir toda la información relacionada con el contenido.
Es accesible a través de la variable $ this.
A continuación vuelvo archivo item.php (creado en part1 de este tutorial) y voy a empezar por revisar la cabecera de mi.
A 2 3 4 | / / Se prohíbe el acceso directo al archivo '_JEXEC' ) or die ( 'Restricted access' ) ; defined ('_JEXEC') or die ('Acceso restringido'); / / Ajuste aquí el nombre de la plantilla, en nuestro caso. Items.stade $this -> tmpl ; $ Tmpl = $ this -> tmpl; |
Vamos a iniciar nuestra plantilla y coloque una etiqueta div añadiendo css clase personalizada de acuerdo a la etapa y el tipo de contenido. Para esto yo uso:
$ This-> item-> id = devuelve el identificador del contenido
$ This-> item-> TYPE_ID = devuelve el identificador del tipo de contenido
Da:
16
| $this -> item -> id ; ?> type <?php echo $this -> item -> type_id ; ?> "> <Div id = "stade_contenu" class = "elemento stade_contenu <php echo $ this -> tema -> id;?> <Tipo php echo $ this -> tema -> TYPE_ID ;?>"> |
Mostrar un conjunto de campo de una posición
Como vimos en la parte 1 del tutorial, FLEXIcontent puede manejar diferentes posiciones donde podemos colocar nuestros campos. Esto permite al usuario colocar estos nuevos campos sin modificar el código de la plantilla.
Sólo hay que poner en nuestra plantilla y luego un circuito que pasará por todos los campos contenidos en una posición dada. Aquí está el código que se utiliza para cada una de las posiciones que he creado (encabezado, dirección, contacto, imagen, descripción, información, GMAP, abajo):
17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <- Cabecera BOF -> <div id="stade_entete"> ( isset ( $this -> item -> positions [ 'entete' ] ) ) : ?> <? Php if (isset ($ this -> tema -> posiciones ['encabezado'])):?> ( $this -> item -> positions [ 'entete' ] as $champ ) : ?> <(- Objeto -> posiciones ['encabezado'] as $ campo Php foreach $ this)>:> $champ -> name ; ?> "> ? Clase <div = "Field_A <php echo $ campo -> nombre de ;?>"> ( $champ -> label ) : ?> <? Php if ($ campo -> etiqueta):> $champ -> label ; ?> </div> <div class="etiquette"> - etiqueta <php echo $ campo?>;?> </ div> ; ?> <? Php endif;?> $champ -> display ; ?> </div> <div class="valeur"> - display <php echo $ campo?>;?> </ div> </ Div> ; ?> <? Php endforeach;?> ; ?> <? Php endif;?> </ Div> <- Cabecera EOF -> |
Explicación:
isset ($ this-> item-> posiciones ['encabezado']) / / Indica si los campos se muestran o no en esta posición
php foreach ($ this-> item-> posiciones ['encabezado'] as $ campo): / / buscar en todos los campos de contenido de la posición
$ Campo-> nombre / / devuelve el nombre del campo, lo uso para declarar una única clase CSS que me permita luego a formato de mi campo como quiero
$ Campo-> etiqueta / / devuelve la etiqueta del campo en el que he elegido mi configuración en el campo que elegí para hacer que parezca.
$ Campo-> display / / muestra el valor del campo con formato de acuerdo a los parámetros que establecí (prefijo + sufijo de valor +)
Muestra un único campo
También es posible mostrar un campo directamente, sin la posición. Esto a veces puede ser útil hacer una plantilla sencilla sin ningún tipo de cargos (que son más pesados en términos de código). Voy a utilizar esta parte del código para mostrar mi imagen "image_stade".
62 63 64 65 66 67 68 | <- Soundtrack imagen -> <div id="stade_image"> <div class="champ_image_stade"> $this -> fields [ 'image_stade' ] -> display ; ?> <? Php echo $ this -> fields ['image_stade'] -> pantalla,>? </ Div> </ Div> <-! EOF imagen -> |
Para ir directamente a los valores y los campos de parámetro, utilice la función $ this-> fields ['micampo'].
Observaciones de la administración
Solo me dan el código fuente original de FLEXIcontent para mostrar los comentarios:
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | ( $this -> params -> get ( 'comments' ) ) : ?> <? Php if ($ this -> params -> get ('comentarios')):?> <-! Comentarios BOF -> <div class="comments"> <? Php $this -> params -> get ( 'comments' ) == 1 ) : if ($ this -> params -> get ('comentarios') == 1): file_exists ( JPATH_SITE . DS . 'components' . DS . 'com_jcomments' . DS . 'jcomments.php' ) ) : if (file_exists (JPATH_SITE. DS componentes. 'DS' com_jcomments. 'DS' jcomments.php ')...): JPATH_SITE . DS . 'components' . DS . 'com_jcomments' . DS . 'jcomments.php' ) ; require_once (. JPATH_SITE. DS componentes. 'DS' com_jcomments. 'DS' jcomments.php..); showComments ( $this -> item -> id , 'com_flexicontent' , $this -> escape ( $this -> item -> title ) ) ; JComments eco: showComments ($ this - elemento> -> id, 'com_flexicontent', $ this -> escape ($ this -> punto - title>)); endif; endif; $this -> params -> get ( 'comments' ) == 2 ) : if ($ this -> params -> get ('comentarios') == 2): file_exists ( JPATH_SITE . DS . 'plugins' . DS . 'content' . DS . 'jom_comment_bot.php' ) ) : if (file_exists (JPATH_SITE. DS 'plugins' DS 'contenido' DS 'jom_comment_bot.php').....): JPATH_SITE . DS . 'plugins' . DS . 'content' . DS . 'jom_comment_bot.php' ) ; require_once (JPATH_SITE. DS 'plugins' DS 'contenido' DS 'jom_comment_bot.php.....); $this -> item -> id , 'com_flexicontent' ) ; Echo JomComment ($ this -> tema -> id, 'com_flexicontent'); endif; endif; > </ Div> <-! Comentarios EOF -> ; ?> <? Php endif;?> |
A través de $ this-> params-> get ('comentarios'), que me permite recuperar los parámetros de FLEXIcontent y lo que tengo que mostrar o no commantaires. (0 = no hay comentarios, 1 = 2 = JComments y comentarios Jom)
FLEXIcontent puede integrar la gestión de los comentarios de dos componentes JComments (recomendado) y la Observación Jom.
Por lo tanto los parámetros de los comentarios son de gestión directa a través del componente que se integra.
Hacer más ...
A través de los siguientes capítulos, que le mostró cómo mostrar los campos de lo básico, puede ser que a veces es necesario ir un poco más en su plantilla. He aquí la información más importante que usted puede utilizar en su plantilla.
Artículo
Este objeto contiene toda la información sobre su contenido directamente
Una llamada de esta manera $ this-> item-> "propiedad"
identificación | ID en la base dada |
título | Título |
alias | Alias |
introtext | Texto de introducción (que se corresponde con el campo de descripción se prefiere) |
Texto | Texto completo (que se corresponde con el campo de descripción se prefiere) |
estado | Estado de publicación (1: 0 publicado: inédito -1: archivados, -2: suprimido, -3: en espera de aprobación, -4: Proyecto, -5: en progreso) |
sectionid | Sección |
catid | Categoría principal |
creado | Fecha |
created_by | La identificación del autor |
created_by_alias | Alias del autor |
modificado | Última actualización |
modified_by | Identificación del último autor ha modificado el artículo |
a.publish_up | Fecha de inicio de la publicación |
publish_down | Fecha de finalización de la publicación |
versión | Número de la versión |
ordenar | Número que indica el orden de clasificación |
metakey | Palabras clave de metadatos |
metadesc | Descripción de los metadatos |
metadatos | Los robots y los datos de Autor meta |
acceso | Nivel de acceso (0: el público, 1: Privado 2: Especial) |
accesos | Número de visitas |
idem_id | Identificación del contenido |
TYPE_ID | Identificar el tipo de contenido |
lengua | Idioma (en-US, en-US ...) |
search_index | Todo el texto es indexado para la búsqueda |
cataccess | Acceso a nivel de la categoría (0: público, 1: Privado 2: Especial) |
catpublished | Indica si la categoría se publica o no |
autor | Nombre del autor |
tipo de usuario | Nombre del grupo del usuario |
TypeName | Etiqueta el tipo de contenido |
creatoremail | Correo electrónico del creador de la original |
creador | Nombre del creador |
cambio | Nombre del último autor que haya hecho un cambio |
texto | Texto (descripción del campo) que se mostrará en la plantilla (introducción o texto completo) |
los gatos | Tabla que enumera las categorías de asociados (los gatos [x] -> Identificación, gatos [x] - title> ...) |
campos | Vea los detalles en el capítulo siguiente item-> campos |
readmore_link | Forma de vincular a la lectura "más» |
posiciones | Vea los detalles en el capítulo siguiente item-> posiciones |
FieldValues | Indique el valor de los campos en una tabla (fieldValues [id_du_champs] [x]) |
favs | Número de usuarios que ha agregado el contenido de sus programas favoritos |
fav | Indica si el contenido se puede colocar en favoritos |
voto | Objeto con los siguientes valores: rating_sum (valor medio de los votos), rating_count (votos) lastip (dirección ip última votación). |
elemento-> fields o campos
De esta manera usted puede obtener toda la información sobre los campos en la plantilla, ya sea para los campos básicos (título, texto, pero todos los campos personalizados (por ejemplo, que haya nombrado) que están asociados con el tipo que se muestra.
Una llamada de esta manera $ this-> item-> fields ['nombre del campo'] -> "propiedad" más o menos $ this-> fields ['nombre del campo'] -> "propiedad"
identificación | Identificación del campo |
field_type | Tipo de campo |
nombre | Nombre del campo |
etiqueta | Etiqueta de campo |
descripción | Descripción del campo |
IsFilter | Este campo hay un filtro? |
iScore | |
isearch | El campo está siendo utilizado para la investigación |
isadvsearch | El campo se utiliza para la búsqueda avanzada? |
publicado | Publicadas o no |
acceso | Nivel de acceso (0: el público, 1: Privado 2: Especial) |
ordenar | Número que indica el orden de clasificación |
valor | Tabla de valores de entrada de campo |
mostrar | Viendo el valor con formato del campo. |
Cada campo también tiene parámetros que se pueden recuperar de esta manera (JParameter tema):
$ This-> item-> fields ['nombre del campo'] -> Parámetros-> get ('parámetro')
Estos son los principales parámetros que se pueden encontrar, no todos se utilizan en función del tipo de campo.
display_label | Pantalla del panel de |
remove_space | Quitar los espacios |
Pretexto | Prefijo |
posttext | Sufijo |
default_value | Defecto |
allow_multiple | Permitir varios valores |
MAX_VALUE | El valor máximo |
tamaño | Tamaño del campo |
separatorf | Los valores de separación de la interfaz |
OpenTag | Valor de la variable anterior |
closeTag | Etiqueta de éxito el valor |
date_format | Formato de visualización estándar de la fecha |
custom_date | Formato de presentación personalizado de fecha |
filas | Número de filas en un área de texto |
pasa | Número de columnas en un área de texto |
use_html | El editor de HTML es permitido? |
item-> posiciones
Como se mencionó anteriormente puede navegar a través de todas las posiciones de una plantilla para mostrar los campos. Aquí está la información detallada que puede utilizar.
Una llamada de esta manera $ this-> item-> posiciones ['nombre del puesto] [' nombre del campo '] -> "propiedad"
identificación | Identificación del campo |
nombre | Nombre del campo |
etiqueta | Etiqueta de campo |
mostrar | Valor con formato del campo |
uso
Este juanperez tipo de objeto que da información sobre la sesión iniciada
Una llamada de esta manera $ this-> usuario -> 'propiedad'
identificación | ID del usuario |
nombre | Nombre |
Nombre de usuario | Iniciar sesión de usuario |
Dirección de correo electrónico del usuario | |
tipo de usuario | Tipo de usuario |
registerDate | Fecha de registro |
lastvisitDate | Fecha de la última conexión |
params
Se trata de un JParameter objeto que nos permitirá encontrar los parámetros relacionados con el contenido.
$ This-> params-> get ('parámetro')
flexi_section | Sección asociada con FLEXIcontent |
comentarios | Entrada de habilitación (0 = no hay comentarios, 1 = 2 = JComments y comentarios Jom) |
support_url | Dirección URL de soporte |
flexi_fish | Activar el apoyo Joomfish |
filtercat | Filtrar categorías de puntos de vista |
filtertag | Etiquetas de puntos de vista de filtro |
use_versioning | Habilitar el control de versiones |
nr_versions | Versiones mantienen |
show_title | Título del contenido |
link_title | Como hacer clic |
show_readmore | Enlace Leer más ... |
show_icons | Iconos |
show_pdf_icon | Icono PDF |
show_print_icon | Icono de impresión |
show_email_icon | Icono de correo electrónico |
límite | artículos por página |
catlimit | Las listas de carrera (categorías) |
upload_extensions | Extensiones permitidas (Tipos de archivo) |
upload_maxsize | El tamaño máximo |
FILE_PATH | Camino seguro para el directorio |
media_path | Los medios de comunicación ruta al directorio |
restrict_uploads | Restringir archivos |
check_mime | Compruebe los tipos MIME |
image_extensions | Extensiones de imágenes permitidas (Tipos de archivo) |
ignore_extensions | Extensiones ignoradas |
upload_mime | Los tipos MIME permite |
enable_flash | Enable upload flash |
feed_summary | Para cada feed RSS |
advcache | Caché avanzada |
advcache_time | Duración de la caché |
advcache_guest | Los visitantes sólo |
disablecss | Desactivar CSS |
item_depth | Nivel de objeto |
add_item_pathway | Agregar a la ruta |
show_page_title | Título de la página |
menu_image | Menú de imágenes |
seguro | Activa SSL |
page_title | Muestra el título de la página |
page_description | Meta descripción |
menu_params
Se trata de un JParameter objeto que nos permitirá recuperar los parámetros asociados con el menú de los contenidos que deben ser exhibidos.
$ This-> menu_params-> get ('parámetro')
item_depth | Nivel de objeto |
add_item_pathway | Agregar a la ruta |
page_title | Título de la página |
show_page_title | Muestra el título de la página |
pageclass_sfx | CSS Sufijo de clase |
menu_image | Menú de imágenes |
seguro | Activa SSL |
La clase flexicontent_html
Esta clase de FLEXIcontent ofrece algunas características muy útiles para nuestras plantillas.
Función striptagsandcut
Esta característica nos permite quitar las etiquetas html de un texto y un corte limpio después de un determinado número de caracteres.
/ / Este ejemplo de formato y truncar después de 100 caracteres $ my_text striptagsandcut ( $mon_texte , 100 ) ; echo flexicontent_html: striptagsandcut ($ my_text, 100);
Función extractimagesrc
Esta característica nos permite generar una etiqueta de imagen de un campo de tipo de imagen.
/ / Este ejemplo de formato y truncar después de 100 caracteres $ my_text extractimagesrc ( $this -> fields [ 'mon_champ_image' ] ) ; echo flexicontent_html: extractimagesrc ($ this -> fields ['mon_champ_image']);
Función printbutton
Esta función muestra el botón y el enlace para imprimir el contenido actual
/ / En este ejemplo se mostrará el icono de impresión en nuestro contenido printbutton ( $this -> print_link , $this -> params ) ; echo flexicontent_html: printbutton ($ this -> print_link, $ this -> params);
Función mailbutton
Esta función muestra el botón y el enlace para recomendar el contenido activo en el correo
/ / En este ejemplo se mostrará el icono de Enviar correo electrónico a nuestro contenido mailbutton ( 'items' , $this -> params , null , $this -> item -> slug ) ; echo flexicontent_html: mailbutton ('items', $ this -> params, null, $ this -> punto - babosa>);
Función pdfbutton
Esta función muestra el botón y el enlace para generar el contenido activo en pdf
/ / En este ejemplo se mostrará el icono de nuestro contenido en formato PDF pdfbutton ( $this -> item , $this -> params ) ; echo flexicontent_html: pdfbutton ($ this -> elemento, $ this -> params);
Este es el cuarto juego ha terminado, la próxima vez me referiré a la categoría de plantillas. Una vez más, por favor haga sus comentarios o hacer preguntas si no entiende algo.













El 24/02/2010 a las 09:18, Emmanuel Danan dijo:
Wow, lo que la síntesis
En una palabra: ¡BRAVO!
Gracias a ustedes por esta nueva contribución.
Manu.