Instrucciones para incluir Widgets directamente en las platillas de WS.WebTV, utilizando código XML.
soporte, ws.webtv, personalización, avanzada, widgets, xml, código, plantillas
Widgets son "mini programas" de la WebTV que están diseñados para mostrar listas de contenido (Clips, Canales, Categorías, Tags, Noticias, Eventos, Galerías...). A estas alturas, debe estar familiarizado con los Widgets gestionados que son creados/administrados desde la interfaz de administración de contenidos (Configuración > Widgets); bien, los Widgets Incrustados realizan las mismas funciones (y tienen las mismas opciones) pero se definen/administran directamente en las plantillas del Front-End, usando código XML.
Los Widgets Incrustados son geniales si desea incluir una lista de contenido en cualquier parte de una plantilla. Un ejemplo de posible uso para ellos sería para la creatción de páginas tipo portal donde desea incluir varios listados de contenidos, de varias categorías (similar a un sitio de noticias online).
Vale la pena mencionar que este tipo de Widgets siempre se genera, con independencia del ajuste "enable_widgets" (en el archivo _theme.ini) correspondiente a la plantilla donde está incrustando el Widget.
Como se explica al comienzo, los Widgets Incrustados son definidos directamente en la plantilla deseada del Front-End; sin embargo, en la mayoría de los casos hay dos opciones para suministrar el código HTML utilizado para generar cada Widget (listado de contnido).
Opción 1: Referenciando un archivo de plantilla (.tpl) para el Widget. En este caso, el archivo .tpl contendrá el código HTML usado patra generar el Widget y debe ubicarse en la misma carpeta del resto de plantillas del Front-End; por ejemplo: public/common/default
<kwidget>
<widget_name>nombre_del_widget</widget_name>
... opciones del windget ...
<widget_template>archivo_de_plantilla_para_el_widget.tpl</widget_template>
</kwidget>
Opción 2: Suministrando directamente el código HTML utilizado para generar el Widget.
<kwidget>
<widget_name>nombre_del_widget</widget_name>
... opciones del windget ...
<widget_template>
<![CDATA[
... código HTML aquí (dentro de un bloque CDATA) ...
]]>
</kwidget>
A continuación encontrará ejemplos para todos los Widgets que puede utilizar.
Incluyendo un listado de Clips....
Ejemplo 1 - suministrando la referencia de un archivo de plantilla
En este ejemplo estamos referenciando el mismo archivo de plantilla utilizado para los widgets gestionados. Puede utilizar ese archivo como una referencia para el código HTML y/o crear uno suyo a partir de él.
<kwidget> <widget_name>clip_list</widget_name> <widget_num_clips>5</widget_num_clips> <!-- número máximo de ítems para la lista --> <widget_clip_type>any</widget_clip_type> <!-- posibles valores: any, 0 (standard), 1 (streamClip VOD), 2 (StreamClip Live), 3 (EmbedClip) --> <widget_clip_category>any</widget_clip_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_clip_search></widget_clip_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_sort_by>date</widget_sort_by> <!-- posibles valores: date, date2, title, duration, views, random, rating --> <widget_status>any</widget_status> <!-- posibles valores: featured, onsale, upcoming, any (any = todos los Clips que estén activos y aprobados, no "upcoming") --> <widget_template>widget_clip_list.tpl</widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> </kwidget>
Ejemplo 2 - suministrando el código HTML directamente.
En este ejemplo, hemos utilizado un código HTML genérico, con clases CSS genéricas. Puede cambiar el código HTML como desea siempre y cuando mantenga las etiquetas del CMS intactas.
<kwidget> <widget_name>clip_list</widget_name> <widget_num_clips>5</widget_num_clips> <!-- número máximo de ítems para la lista --> <widget_clip_type>any</widget_clip_type> <!-- posibles valores: any, 0 (standard), 1 (streamClip VOD), 2 (StreamClip Live), 3 (EmbedClip) --> <widget_clip_category>any</widget_clip_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_clip_search></widget_clip_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_sort_by>date</widget_sort_by> <!-- posibles valores: date, date2, title, duration, views, random, rating --> <widget_status>any</widget_status> <!-- posibles valores: featured, onsale, upcoming, any (any = todos los Clips que estén activos y aprobados, no "upcoming") --> <widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> <![CDATA[ <ul> <!-- ******************************************* Lo siguiente es el bloque de bucle/listado de datos Código HTML: Puede modificar el código HTML como desee, pero debe mantener intactas las etiquetas <kloop:widget_...> y </kloop:widget_...> Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <kloop:widget_clip_list_{widget_id}> <li> <div class="stickers"> <img class="stickerPremium" style="{k.loop.value.clip_sticker_premium_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_premium}" alt="" > <img class="stickerFavorited" style="{k.loop.value.clip_sticker_favorited_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_favorited}" alt="" > <img class="stickerFeatured" style="{k.loop.value.clip_sticker_featured_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_featured}" alt="" > <img class="stickerRestricted" style="{k.loop.value.clip_sticker_restricted_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_restricted}" alt="" > </div> <div class="image"><a href="{k.loop.value.clip_url}"><img src="{k.loop.value.clip_img_url}" alt="" ></a></div> <div class="title"><a href="{k.loop.value.clip_url}">{k.loop.value.clip_title}</a></div> <div class="description">{k.loop.value.clip_description}</div> <div class="user">{k.lang.fe.published_by_short}: <a href="{k.loop.value.clip_user_url}">{k.loop.value.clip_user_alias}</a></div> <div class="date">{k.lang.fe.date}: {k.loop.value.clip_date}</div> <div class="views">{k.lang.fe.views}: {k.loop.value.clip_views}</div> <div class="description">{k.loop.value.clip_description}</div> </li> </kloop:widget_clip_list_{widget_id}> <!-- *** end of the data list/loop block *** --> </ul> <!-- ******************************************* Lo siguiente es el botón de "más resultados" Código HTML: Puede modificart el código HTML como desee Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <a href="{k.html.widget_more_results_link}" style="{k.html.widget_more_results_style}">{k.lang.fe.more_videos} ></a> ]]> </widget_template> </kwidget>
Incluyendo un listado de Canales de Vídeo o Páginas....
Ejemplo 1 - suministrando la referencia de un archivo de plantilla
En este ejemplo estamos referenciando el mismo archivo de plantilla utilizado para los widgets gestionados. Puede utilizar ese archivo como una referencia para el código HTML y/o crear uno suyo a partir de él.
<kwidget> <widget_name>channel_list</widget_name> <widget_num_channels>5</widget_num_channels> <!-- número máximo de ítems para la lista --> <widget_channel_type>0</widget_channel_type> <!-- posibles valores: any, 0 (canal de vídeo), 1 (página) --> <widget_channel_category>any</widget_channel_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_channel_search></widget_channel_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_sort_by>date</widget_sort_by> <!-- posibles valores: date, date2, title, random --> <widget_status>any</widget_status> <!-- posibles valores: featured, onsale, upcoming, any (any = todos los Canales/Páginas que estén activos y aprobados, no "upcoming") --> <widget_template>widget_channel_list.tpl</widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> </kwidget>
Ejemplo 2 - suministrando el código HTML directamente.
En este ejemplo, hemos utilizado un código HTML genérico, con clases CSS genéricas. Puede cambiar el código HTML como desea siempre y cuando mantenga las etiquetas del CMS intactas.
<kwidget> <widget_name>channel_list</widget_name> <widget_num_channels>5</widget_num_channels> <!-- número máximo de ítems para la lista --> <widget_channel_type>0</widget_channel_type> <!-- posibles valores: any, 0 (canal de vídeo), 1 (página) --> <widget_channel_category>any</widget_channel_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_channel_search></widget_channel_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_sort_by>date</widget_sort_by> <!-- posibles valores: date, date2, title, random --> <widget_status>any</widget_status> <!-- posibles valores: featured, onsale, upcoming, any (any = todos los Canales/Páginas que estén activos y aprobados, no "upcoming") --> <widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> <![CDATA[ <ul> <!-- ******************************************* Lo siguiente es el bloque de bucle/listado de datos Código HTML: Puede modificar el código HTML como desee, pero debe mantener intactas las etiquetas <kloop:widget_...> y </kloop:widget_...> Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <kloop:widget_channel_list_{widget_id}> <li> <div class="stickers"> <img class="stickerPremium" style="{k.loop.value.channel_sticker_premium_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_premium}" alt="" > <img class="stickerFavorited" style="{k.loop.value.channel_sticker_favorited_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_favorited}" alt="" > <img class="stickerFeatured" style="{k.loop.value.channel_sticker_featured_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_featured}" alt="" > <img class="stickerRestricted" style="{k.loop.value.channel_sticker_restricted_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_restricted}" alt="" > </div> <div class="image" style="{k.loop.value.channel_txt_img_style}"><a href="{k.loop.value.channel_url}"><img src="{k.loop.value.channel_img_url}" alt="" ></a></div> <div class="title"><a href="{k.loop.value.channel_url}">{k.loop.value.channel_title}</a></div> <div class="description">{k.loop.value.channel_description}</div> <div class="user">{k.lang.fe.published_by_short}: <a href="{k.loop.value.channel_user_url}">{k.loop.value.channel_user_alias}</a></div> <div class="date">{k.lang.fe.date}: {k.loop.value.channel_date}</div> <div class="description">{k.loop.value.channel_description}</div> </li> </kloop:widget_channel_list_{widget_id}> <!-- *** end of the data list/loop block *** --> </ul> <!-- ******************************************* Lo siguiente es el botón de "más resultados" Código HTML: Puede modificart el código HTML como desee Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <a href="{k.html.widget_more_results_link}" style="{k.html.widget_more_results_style}">{k.lang.fe.more_channels} ></a> ]]> </widget_template> </kwidget>
Incluyendo un listado de noticias....
Ejemplo 1 - suministrando la referencia de un archivo de plantilla
En este ejemplo estamos referenciando el mismo archivo de plantilla utilizado para los widgets gestionados. Puede utilizar ese archivo como una referencia para el código HTML y/o crear uno suyo a partir de él.
<kwidget> <widget_name>news_list</widget_name> <widget_num_news>5</widget_num_news> <!-- número máximo de ítems para la lista --> <widget_news_type>0</widget_news_type> <!-- posibles valores: 0 (solamente "últimas noticias") --> <widget_news_category>any</widget_news_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_news_search></widget_news_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_status>any</widget_status> <!-- posibles valores: featured, any (any = todas las Noticias que estén activas y aprobadas) --> <widget_template>widget_news_list.tpl</widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> </kwidget>
Ejemplo 2 - suministrando el código HTML directamente.
En este ejemplo, hemos utilizado un código HTML genérico, con clases CSS genéricas. Puede cambiar el código HTML como desea siempre y cuando mantenga las etiquetas del CMS intactas.
<kwidget> <widget_name>news_list</widget_name> <widget_num_news>5</widget_num_news> <!-- número máximo de ítems para la lista --> <widget_news_type>0</widget_news_type> <!-- posibles valores: 0 (solamente "últimas noticias") --> <widget_news_category>any</widget_news_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_news_search></widget_news_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_status>any</widget_status> <!-- posibles valores: featured, any (any = todas las Noticias que estén activas y aprobadas) --> <widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> <![CDATA[ <ul> <!-- ******************************************* Lo siguiente es el bloque de bucle/listado de datos Código HTML: Puede modificar el código HTML como desee, pero debe mantener intactas las etiquetas <kloop:widget_...> y </kloop:widget_...> Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <kloop:widget_news_list_{widget_id}> <li> <div class="image"><a href="{k.loop.value.news_url}"><img src="{k.loop.value.news_img_url}" alt="" ></a></div> <div class="title"><a href="{k.loop.value.news_url}">{k.loop.value.news_title}</a></div> <div class="user">{k.lang.fe.published_by_short}: <a href="{k.loop.value.news_user_url}">{k.loop.value.news_user_alias}</a></div> <div class="date">{k.loop.value.news_date}</div> <div class="description">{k.loop.value.news_description}</div> </li> </kloop:widget_news_list_{widget_id}> </ul> <!-- ******************************************* Lo siguiente es el botón de "más resultados" Código HTML: Puede modificart el código HTML como desee Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <a href="{k.html.widget_more_results_link}" style="{k.html.widget_more_results_style}">{k.lang.fe.more_news} ></a> ]]> </widget_template> </kwidget>
Incluyendo un listado de Eventos....
Ejemplo 1 - suministrando la referencia de un archivo de plantilla
En este ejemplo estamos referenciando el mismo archivo de plantilla utilizado para los widgets gestionados. Puede utilizar ese archivo como una referencia para el código HTML y/o crear uno suyo a partir de él.
<kwidget> <widget_name>news_list</widget_name> <widget_num_news>5</widget_num_news> <!-- número máximo de ítems para la lista --> <widget_news_type>1</widget_news_type> <!-- posibles valores: 1 (últimos eventos), 2 (próximos eventos: eventos cuya fecha es >=7 días respecto a la fecha actual) --> <widget_news_category>any</widget_news_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_news_search></widget_news_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_status>any</widget_status> <!-- posibles valores: featured, any (any = todos los Eventos que estén activos y aprobados) --> <widget_template>widget_event_list.tpl</widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> </kwidget>
Ejemplo 2 - suministrando el código HTML directamente.
En este ejemplo, hemos utilizado un código HTML genérico, con clases CSS genéricas. Puede cambiar el código HTML como desea siempre y cuando mantenga las etiquetas del CMS intactas.
<kwidget> <widget_name>news_list</widget_name> <widget_num_news>5</widget_num_news> <!-- número máximo de ítems para la lista --> <widget_news_type>1</widget_news_type> <!-- posibles valores: 1 (últimos eventos), 2 (próximos eventos: eventos cuya fecha es >=7 días respecto a la fecha actual) --> <widget_news_category>any</widget_news_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_news_search></widget_news_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_status>any</widget_status> <!-- posibles valores: featured, any (any = todos los Eventos que estén activos y aprobados) --> <widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> <![CDATA[ <ul> <!-- ******************************************* Lo siguiente es el bloque de bucle/listado de datos Código HTML: Puede modificar el código HTML como desee, pero debe mantener intactas las etiquetas <kloop:widget_...> y </kloop:widget_...> Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <kloop:widget_news_list_{widget_id}> <li> <div class="eventCalendarIcon"> <div class="calendarMonth">{k.loop.value.news_date_month}</div> <div class="calendarDay">{k.loop.value.news_date_day}</div> </div> <div class="image"><a href="{k.loop.value.news_url}"><img src="{k.loop.value.news_img_url}" alt="" ></a></div> <div class="title"><a href="{k.loop.value.news_url}">{k.loop.value.news_title}</a></div> <div class="user">{k.lang.fe.published_by_short}: <a href="{k.loop.value.news_user_url}">{k.loop.value.news_user_alias}</a></div> <div class="date">{k.loop.value.news_date} <span class="{k.loop.value.news_date_status_class}">{k.loop.value.news_date_status} </span></div> <div class="description">{k.loop.value.news_description}</div> </li> </kloop:widget_news_list_{widget_id}> </ul> <!-- ******************************************* Lo siguiente es el botón de "más resultados" Código HTML: Puede modificart el código HTML como desee Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <a href="{k.html.widget_more_results_link}" style="{k.html.widget_more_results_style}">{k.lang.fe.more_events} ></a> ]]> </widget_template> </kwidget>
Incluyendo un listado de Galerías...
Ejemplo 1 - suministrando la referencia de un archivo de plantilla
En este ejemplo estamos referenciando el mismo archivo de plantilla utilizado para los widgets gestionados. Puede utilizar ese archivo como una referencia para el código HTML y/o crear uno suyo a partir de él.
<kwidget> <widget_name>gallery_list</widget_name> <widget_num_galleries>5</widget_num_galleries> <!-- número máximo de ítems para la lista --> <widget_sort_by>date</widget_sort_by> <!-- posibles valores: date, title, views, random --> <widget_gallery_category>any</widget_gallery_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_gallery_search></widget_gallery_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_status>any</widget_status> <!-- posibles valores: featured, any (any = todas las Galerías que estén activas y aprobadas) --> <widget_template>widget_gallery_list.tpl</widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> </kwidget>
Ejemplo 2 - suministrando el código HTML directamente.
En este ejemplo, hemos utilizado un código HTML genérico, con clases CSS genéricas. Puede cambiar el código HTML como desea siempre y cuando mantenga las etiquetas del CMS intactas.
<kwidget> <widget_name>gallery_list</widget_name> <widget_num_galleries>5</widget_num_galleries> <!-- número máximo de ítems para la lista --> <widget_sort_by>date</widget_sort_by> <!-- posibles valores: date, title, views, random --> <widget_gallery_category>any</widget_gallery_category> <!-- posibles valores: any, from_content (desde v57), ID de la categoría --> <widget_gallery_search></widget_gallery_search> <!-- (desde v57pf1) posibles valores: nada/vacío = sin filtro, introducir texto para búsqueda normal, (tag)+palabra clave para búsqueda por tag [Ejemplo: (tag)accion ] --> <widget_status>any</widget_status> <!-- posibles valores: featured, any (any = todas las Galerías que estén activas y aprobadas) --> <widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> <![CDATA[ <ul> <!-- ******************************************* Lo siguiente es el bloque de bucle/listado de datos Código HTML: Puede modificar el código HTML como desee, pero debe mantener intactas las etiquetas <kloop:widget_...> y </kloop:widget_...> Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <kloop:widget_gallery_list_{widget_id}> <li> <div class="stickers"> <img class="stickerPremium" style="{k.loop.value.gallery_sticker_premium_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_premium}" alt="" > <img class="stickerFavorited" style="{k.loop.value.gallery_sticker_favorited_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_favorited}" alt="" > <img class="stickerFeatured" style="{k.loop.value.gallery_sticker_featured_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_featured}" alt="" > <img class="stickerRestricted" style="{k.loop.value.gallery_sticker_restricted_style}" src="{k.dir_public_frontend}/{k.theme}/images/spc.gif" title="{k.lang.fe.sticker_restricted}" alt="" > </div> <div class="image"><a href="{k.loop.value.gallery_url}"><img src="{k.loop.value.gallery_img_url}" alt="" ></a></div> <div class="title"><a href="{k.loop.value.gallery_url}">{k.loop.value.gallery_title}</a></div> <div class="user">{k.lang.fe.published_by_short}: <a href="{k.loop.value.gallery_user_url}">{k.loop.value.gallery_user_alias}</a></div> <div class="date">{k.lang.fe.date}: {k.loop.value.gallery_date}</div> <div class="description">{k.loop.value.gallery_description}</div> </li> </kloop:widget_gallery_list_{widget_id}> </ul> <!-- ******************************************* Lo siguiente es el botón de "más resultados" Código HTML: Puede modificart el código HTML como desee Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <a href="{k.html.widget_more_results_link}" style="{k.html.widget_more_results_style}">{k.lang.fe.more_galleries} ></a> ]]> </widget_template> </kwidget>
Incluyendo un listado de Categorías...
Ejemplo 1 - Sin plantilla: Hasta WS.WebTV v56pf3, este Widget no permitía suministrar una plantilla porque la lista era generada, internamente, como una estructura HTML anidada ul > li.
<kwidget> <widget_name>category_list</widget_name> <widget_depth>1</widget_depth> <!-- posibles valores: 1, 2, 3, 4. Máxima "profundidad" de anidamiento (1-4); por ejemplo 1 = lista las categorías principales sin subcategorías --> <widget_template></widget_template> <!-- no hay que especificar plantilla: La lista se generará con una estructura anidaded ul > li --> </kwidget>
Ejemplo 2 - suministrando la referencia de un archivo de plantilla (desde WS.WebTV v56pf4).
En este ejemplo estamos referenciando el mismo archivo de plantilla "Default" que puede seleccionar para los widgets gestionados. Puede utilizar ese archivo como una referencia para el código HTML y/o crear uno suyo a partir de él.
<kwidget> <widget_name>category_list</widget_name> <widget_depth>1</widget_depth> <!-- posibles valores: 1, 2, 3, 4. Máxima "profundidad" de anidamiento (1-4); por ejemplo 1 = lista las categorías principales sin subcategorías --> <widget_template>widget_category_list.tpl</widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> </kwidget>
Ejemplo 3 - suministrando el código HTML directamente (desde WS.WebTV v56pf4).
En este ejemplo, hemos utilizado un código HTML genérico, con clases CSS genéricas. Puede cambiar el código HTML como desea siempre y cuando mantenga las etiquetas del CMS intactas.
<kwidget> <widget_name>category_list</widget_name> <widget_depth>1</widget_depth> <!-- posibles valores: 1, 2, 3, 4. Máxima "profundidad" de anidamiento (1-4); por ejemplo 1 = lista las categorías principales sin subcategorías --> <widget_template> <!-- .tpl file name or HTML code inside CDATA --> <![CDATA[ <div class="itemListWrapper categoryList"> <ul class="itemList"> <!-- ******************************************* Lo siguiente es el bloque de bucle/listado de datos Código HTML: Puede modificar el código HTML como desee, pero debe mantener intactas las etiquetas <kloop:widget_...> y </kloop:widget_...> Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <kloop:widget_category_list_{widget_id}> <li class="item category level{k.loop.value.category_level}" data-id="category_{k.loop.value.category_id}"> <div class="image"> <a href="{k.loop.value.category_url}"><img src="{k.loop.value.category_img_social_url}"></a> </div> <div class="text"> <h4 class="title"><a href="{k.loop.value.category_url}">{k.loop.value.category_title}</a></h4> <!--<div class="description">{k.loop.value.category_description}</div>--> </div> </li> </kloop:widget_category_list_{widget_id}> </ul> </div> ]]> </widget_template> </kwidget>
Incliyendo una nube de Tags...
Sin plantilla: Este Widget no requiere que se suministre una plantilla porque se genera como una estructura HTML ul > li.
Ejemplo.
<kwidget> <widget_name>tags</widget_name> <widget_num_tags>10</widget_num_tags> <!-- número máximo de ítems para la lista --> <widget_tag_cloud_type>global</widget_tag_cloud_type> <!-- posibles valores: global (tags obtenidos de todo el contenido), clips (tags obtenidos de los clips) --> <widget_template></widget_template> <!-- no hay que especificar plantilla: La lista se generará con una estructura ul > li --> --> </kwidget>
Incluyendo el listado de productos predefinidos de la extensión Tienda....
Ejemplo 1 - suministrando la referencia de un archivo de plantilla
En este ejemplo estamos referenciando el mismo archivo de plantilla utilizado para los widgets gestionados. Puede utilizar ese archivo como una referencia para el código HTML y/o crear uno suyo a partir de él.
<kwidget> <widget_name>store_built_in_product_list</widget_name> <widget_item_list_include_built_in>1</widget_item_list_include_built_in> <!-- posibles valores 0 (no), 1 (sí)- si se desea incluir productos "globales" --> <widget_item_list_include_memberships>0</widget_item_list_include_memberships> <!-- posibles valores 0 (no), 1 (sí)- si se desea incluir productos tipo "membresía" --> <widget_item_list_include_services>0</widget_item_list_include_services> <!-- posibles valores 0 (no), 1 (sí)- si se desea incluir productos tipo "servicio" --> <widget_item_list_include_donations>0</widget_item_list_include_donations> <!-- posibles valores 0 (no), 1 (sí)- si se desea incluir productos tipo "donación" --> <widget_template>widget_store_product_list.tpl</widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> </kwidget>
Ejemplo 2 - suministrando el código HTML directamente.
En este ejemplo, hemos utilizado un código HTML genérico, con clases CSS genéricas. Puede cambiar el código HTML como desea siempre y cuando mantenga las etiquetas del CMS intactas.
<kwidget> <widget_name>store_built_in_product_list</widget_name> <widget_item_list_include_built_in>1</widget_item_list_include_built_in> <!-- posibles valores 0 (no), 1 (sí)- si se desea incluir productos "globales" --> <widget_item_list_include_memberships>0</widget_item_list_include_memberships> <!-- posibles valores 0 (no), 1 (sí)- si se desea incluir productos tipo "membresía" --> <widget_item_list_include_services>0</widget_item_list_include_services> <!-- posibles valores 0 (no), 1 (sí)- si se desea incluir productos tipo "servicio" --> <widget_item_list_include_donations>0</widget_item_list_include_donations> <!-- posibles valores 0 (no), 1 (sí)- si se desea incluir productos tipo "donación" --> <widget_template> <!-- nombre del archivo .tpl o código HTML dentro de CDATA --> <![CDATA[ <ul> <!-- ******************************************* Lo siguiente es el bloque de bucle/listado de datos Código HTML: Puede modificar el código HTML como desee, pero debe mantener intactas las etiquetas <kloop:widget_...> y </kloop:widget_...> Etiquetas del CMS: Puede eliminar las etiquetas del CMS que no necesite, pero no puede modificar las que mantenga ******************************************* --> <kloop:widget_store_product_list_{widget_id}> <li> <div class="image"><a href="{k.loop.value.product_url}"><img src="{k.loop.value.product_img_url}" alt="" ></a></div> <div class="title"><a href="{k.loop.value.product_url}">{k.loop.value.product_title}</a></div> <div class="description">{k.loop.value.product_description}</div> </li> </kloop:widget_store_product_list_{widget_id}> </ul> ]]> </widget_template> </kwidget>