Tabla de contenidos con smarty

  • Sep
  • 04

escribe tu comentario! 187 palabras - 1 hits

Un sencillo script que nos permite paginar las entradas y genera la tabla de contenidos.

Modificando un poco el script que Brad Choate publico hace algun tiempo, he construido un nuevo modificador para usar con Movable Type en modo dinamico.

La idea es conseguir un metodo automático que permita mantener las entradas demasiado extenses divididas por páginas.

Para conseguir esto, el script lee el contenido que se le pasa, buscando todos los elementos <h2> y si encuentra mas de dos coincidencias, comienza el páginado, creando un menu de navegación y una tabla de contenidos.

Para utilizar el script solo tendremos que copiarlo dentro del directorio /php/plugins/, y añadir el modificador paginate="1" a la etiqueta <MTEntryMore>.

Ademas de esto, hay que tener en cuenta que el cuerpo de la entrada solo se debe mostrar en la primera pagina, con lo que es recomendable añadir una condicion para que no se muestre en el resto, os pongo un ejemplo de como se puede hacer

  1.  
  2.         {{if !$smarty.request.page || $smarty.request.page == 1 || $smarty.request.page == all}}
  3.          <$MTEntryBody$>
  4.         {{/if}}
  5.  

Si quereis un ejemplo del script en funcionamiento, lo podeis ver aquí .

ningún comentario por el momento

Escribe tu comentario

Puedes utilizar este formulario para escribir tu opinion sobre esta entrada, no existe ningun tipo de limitacion a la hora de enviar opiniones, tan solo sigue unas reglas basicas de cortesia y todos estaremos mas contentos.

Puedes identificarte utilizando OpenID, solo tienes que introducir tu URL OpenID en el siguiente campo y pulsar el boton de validar.





Instrucciones para los comentarios

El simbolo * indica que se trata de un campo obligatorio.

Este sitio usa Markdown junto con Smartypants para educar los textos, tambien esta disponible para los comentarios.

A continuación os muestro algunas de las equivalencias:

  • [enlace de ejemplo](http://example.com/) resulta enlace de ejemplo.
  • **Texto en Negrita**
  • _Italica_
  • > blockquote
  • > > nested blockquote
  • * Esto es un elemento de una lista desordenada (ul)
  • 1. Esto es un elemento de una lista ordenada (ol)

MC Puedes seguir las respuestas a tus comentarios con MyComments.