Post by Burillo » Sun Aug 17, 2014 11:59 pm

Hola a todos, estoy intentando validar mi sitio web https://www.infortienda.com con http://validator.w3.org/ con DocType XHTML 1.1 y todos los errores que me da pertenecen a tres módulos:
El primero es este código que he puesto en el header.tpl para sustituir las imágenes rotas por una por defecto ya que en esta tienda todas las imágenes están alojadas en el servidor de mi mayorista, yo solo utilizo un link para mostrar las imágenes de los artículos me da tres errores de validación (marcados en rojo) el código es este:
<!-- Script para sustituir imagenes rotas -->
<script type='text/javascript'>
function ImagenOk(img) {
if (!img.complete) return false;
if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) return false;
return true;
}
function RevisarImagenesRotas() {
var replacementImg = "./image/data/fotos/sin_imagen.jpg";
for (var i = 0; i < document.images.length; i++) {
if (!ImagenOk(document.images)) {
document.images.src = replacementImg;
}}}
window.onload=RevisarImagenesRotas;
</script>
<!-- End Script para sustituir imagenes rotas -->

El Segundo es el código del widget de twitter que he puesto en el footer.tpl
<a class="twitter-timeline" href="https://twitter.com/infortienda" data-widget-id='480273599*********'>Tweets por InforTienda</a>
<script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

El tercero es el código del widget de facebook que he puesto en el footer.tpl
<fb:like-box profile_id="<?php echo $customfooter[$language_id]['facebook_id']; ?>" width="290" height="<?php if($customfooter[$language_id]['facebook_height'] > 0) { echo $customfooter[$language_id]['facebook_height']; } else { echo '250'; } ?>" <?php if($customfooter[$language_id]['show_faces'] != '1') { ?>data-connections="<?php if($customfooter[$language_id]['facebook_faces'] > 0) { echo $customfooter[$language_id]['facebook_faces']; } else { echo '10'; } ?>"<?php } ?> show_faces="<?php if($customfooter[$language_id]['show_faces'] == '1') { echo 'false'; } else { echo 'true'; } ?>" stream="false" border_color="<?php if($this->config->get('colors_status') == '1' && $this->config->get('footer_backgrounds') != '') { ?>#<?php echo $this->config->get('footer_backgrounds'); ?><?php } else { ?>#f3f3f3<?php } ?>" header="false"></fb:like-box>

Mi pregunta es alguien me puede ayudar a validar estos codigos, bien modificandolos o incluyendolos en algun archivo .js
para poder validar el sitio.
PD. es curioso que sitios como Facebook y Twitter no ofrezcan su código validado.
Gracias de antemano.
Last edited by Burillo on Sun Nov 08, 2015 11:52 pm, edited 1 time in total.

User avatar
New member

Posts

Joined
Wed Sep 15, 2010 12:03 am
Location - Valencia (España)

Post by Burillo » Tue Aug 19, 2014 1:25 am

Hola a todos la primera parte del problema esta solucionada he creado un archivo imagenesrotas.js con el siguiente codigo:
function ImagenOk(img) {
if (!img.complete) return false;
if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) return false;
return true;
}
function RevisarImagenesRotas() {
var replacementImg = "./image/data/fotos/sin_imagen.jpg";
for (var i = 0; i < document.images.length; i++) {
if (!ImagenOk(document.images)) {
document.images.src = replacementImg;
}}}
window.onload=RevisarImagenesRotas;

y lo llamo desde el header con:
<script type="text/javascript" src="/catalog/view/theme/megastore/js/imagenesrotas.js"></script>
y funciona perfectamente.

Pero con los codigos de los widget de twitter y facebook no lo consigo, si los pongo en archivos .js no funcionan
alguien sabe como podia solucionarlo. ???
Saludos.

User avatar
New member

Posts

Joined
Wed Sep 15, 2010 12:03 am
Location - Valencia (España)

Post by Burillo » Tue Aug 19, 2014 2:27 am

Hola, el codigo de twitter esta solucionado, hay que modificar esta linea:
<a class="twitter-timeline" href="https://twitter.com/infortienda" data-widget-id='480273599761113088'>Tweets por InforTienda</a>

por esta:
<a class="twitter-timeline" href="https://twitter.com/infortienda?widgetI ... 88">Tweets por InforTienda</a>

y codigo validado.
Solo me falta el codigo de facebook que me da 9 errores lo pueden probar en https://www.infortienda.com validandola aqui http://validator.w3.org

Espero que esto le sirva a alguien.
Saludos.

User avatar
New member

Posts

Joined
Wed Sep 15, 2010 12:03 am
Location - Valencia (España)
Who is online

Users browsing this forum: No registered users and 16 guests