Uno podría imaginar que las entradas son una serie de rectángulos apilados, cada uno de ellos conteniendo datos (fecha, titulo, etc) y eso sería lógico pero, la forma en que Blogger maneja las fechas de las entradas es extraña; por algún motivo, esa fecha está afuera, en un rectángulo separado y accedemos a ella con un dato tan particular que sólo se muestra una vez, es decir, si hay dos entradas en la misma fecha, sólo se muestra una de ellas:
En realidad, no es necesario seguir las reglas de Blogger y es más sencillo eliminar ese dato tal como está ya que de todos modos, la fecha es accesible igual sólo que el dato a leer es otro.
En una plantilla mínima, la fecha se muestra de este modo:
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>
Hay un segundo dato que nos da la fecha y que se encuentra dentro del post en si mismo y es todo lo que que necesitamos. Se llama <data:post.timestamp/>
Por lo general la vemos en el footer de los posts y lo usamos para mostrar la hora de la publicación ya que así está establecido por defecto pero, en la misma Configuración | Formato, podemos seleccionar la forma en que se mostrará. Por ejemplo, la definimos como fecha:
Por defecto, el título de las entradas se encuentra en <b:includable id="post" var="post" > y tiene este código:
<b:if cond='data:post.title'>
<h3 class='post-title entry-title'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link'><data:post.title/></a>
<b:else/>
<b:if cond='data:post.url'>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</b:if>
</h3>
</b:if>
<div class='elEncabezado'>
<span class='lafecha' expr:id='"fecha-" + data:post.id'>
<script type='text/javascript'>calendario('<data:post.timestamp/>');</script>
</span>
<b:if cond='data:post.title'>
<h3 class='post-title' expr:id='"titulo-" + data:post.id'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link'><data:post.title/></a>
<b:else/>
<b:if cond='data:post.url'>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</b:if>
</h3>
</b:if>
<span class='elAutor'>mi_nombre</span>
<span> ... cualquier otra cosa ... </span>
</div>
<script type='text/javascript'>
//<![CDATA[
// LAS FECHAS DE LOS POSTS
var mes=new Array();
mes[1]="ene"; mes[2]="feb"; mes[3]="mar"; mes[4]="abr"; mes[5]="may"; mes[6]="jun";
mes[7]="jul"; mes[8]="ago"; mes[9]="sep"; mes[10]="oct"; mes[11]="nov"; mes[12]="dic";
function calendario(cual) {
var verCero;
var lafecha = cual.split('/');
verCero=lafecha[1].substr(0,1); if (verCero == "0") { lafecha[1]=lafecha[1].substr(1) }
fday = "<span class='lafechaDia'>"+lafecha[1]+"</span>";
fmonth = "<span class='lafechaMes'>"+mes[lafecha[0]]+"</span>";
fyear = "<span class='lafechaAnio'>"+lafecha[2]+"</span>";
document.write(fday+fmonth+fyear);
}
//]]>
</script>
Aquí lo más importante es agregarle la propiedad position:relative al DIV con el encabezado. Esto será la clave para poder ubicar cada parte de su contenido de manera absoluta, sin márgenes extraños, flotaciones que perturben ni propiedades complejas; de tal forma que pueda verse correctamente en cualquier navegador. Agregamos entonces las definiciones entre <b:skin> y </b:skin>.
No hay demasiadas restricciones al respecto y estas son las propiedades del ejemplo online:
/* titulo de los posts */
.post .elEncabezado {
/* lo importante es definir ancho, alto y posición */
background-color: #000;
height: 70px;
margin: 20px 0;
position: relative;
width: 100%;
}
.post h3.post-title {
border-bottom: 1px solid #444;
border-top: 1px solid #444;
font-family: Lucida Grande,sans-serif;
font-size: 28px;
font-weight: normal;
line-height: 1.4em;
margin: 0;
width: 410px;
/* con esta propiedades posicionamos el título */
padding: 10px 0 20px 60px;
position: absolute;
left: 0;
top: 0;
}
.post h3.post-title a, .post h3 a:visited {
/* estas propiedades deben colocarse porque el título es un enlace */
color: skyBlue;
display: block;
font-family: Lucida Grande,sans-serif;
font-size: 28px;
font-weight: normal;
text-decoration: none;
}
/* el autor de los posts */
.post .elAutor {
color: skyBlue;
/* con esta propiedades posicionamos al autor */
position: absolute;
right: 5px;
top: 45px;
}
/* la fecha de los posts */
.lafecha {
display: block;
font-family: Verdana,Arial;
font-weight: normal;
height: auto;
line-height: normal;
text-align: center;
width:40px;
/* con esta propiedades posicionamos la fecha */
position: absolute;
left: 5px;
top: 4px;
}
.lafechaDia {
color: #6495ED;
display: block;
font-family: Georgia;
font-size: 36px;
}
.lafechaMes {
color: #94D5FD;
display: block;
font-size: 14px;
margin-top: -10px;
}
.lafechaAnio {
color: #DDDDEE;
display: block;
font-size: 14px;
margin-top: -6px;
}
0 comentarios:
Publicar un comentario