Hola a todos, espero que ustedes puedan ayudarme.
Ejemplo de la página :http://www.lacanasteria.com/maletin-iberoamerica.html.
He leído que la forma correcta de indicar a facebook la imagen a mostrar es con los Open Graph Tags: og:image, pero el problema es que todo el contenido se crea de forma dinámica con archivos .tpl
La cabecera es algo asi:
<?php
ob_start('ob_gzhandler');
header('Content-Type: text/html; charset=utf-8');
echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?=$lng->code?>" xmlns:fb="http://ogp.me/ns/fb#">
<head>
<title><? if(isset($web_title)) echo remove_accents($web_title).' | '; echo remove_accents(SITE_TITLE) ?></title>
<base href="<?=SITE_URL?>" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?if(isset($web_robots)){?><meta name="robots" content="<?=$web_robots?>" /><?}?>
<?if(isset($web_description)){?><meta name="description" content="<?=$web_description?>" /><?}?>
<?if(isset($web_keywords)){?><meta name="keywords" content="<?=$web_keywords?>" /><?}?>
<?if(isset($web_googlebot)){?><meta name="googlebot" content="<?=$web_googlebot?>" /><?}?>
<link rel="shortcut icon" href="<?=$SITE_URL?>css/icons/favicon.png" />
<link rel="stylesheet" type="text/css" href="<?=$SITE_URL?>css/_reset.css" media="screen" />
<!-- <link rel="stylesheet" type="text/css" href="<?=$SITE_URL?>css/_print.css" media="print" /> -->
<link rel="stylesheet" type="text/css" href="<?=$SITE_URL?>css/_site.css" media="screen" />
<? if(isset($web_css)){foreach($web_css as $css){?><link rel="<?= isset($css['rel']) ? $css['rel'] : 'stylesheet'?>" type="text/css" href="<?=$SITE_URL.$css['href']?>"<?if(isset($css['title'])){?> title="<?=$css['title']?>"<?}?> media="<?= isset($css['media']) ? $css['media'] : 'screen'?>" /><?}}?>
A continuación un fragmento del código que se usa para los productos:
<div id="descripcion">
<p><?=nl2br($producto->descripcion)?></p>
</div>
<p class="price">
<?if($producto->oferta){?><span class="oldPrice"><?=money($producto->precio)?></span><?}?><br />
<span><?=money($producto->precioFinal)?></span>
</p>
<p class="igv">Inc. IGV</p>
<div id="buttons">
<?if($producto->stock>0){?>
<span id="addCart"><?=_ADD_CART?></span>
<?}else{?>
<span id="noStock"><?=_SIN_STOCK?></span>
<?}?>
</div>
</div>
<?if (count($producto->fotos)>0){?>
<span id="zoom">(+) Zoom</span>
<?}?>
<div id="img">
<?if(count($producto->fotos)>0){?>
<?foreach($producto->fotos AS $foto){?>
<span><img alt="<?=alt($producto->webAlt,$producto->nombre)?>" src="<?=PATH_IMG_PRODUCTOS?><?=$foto->imagen?>" /></span>
<?}?>
<?}else{?>
<span><img alt="<?=alt($producto->webAlt,$producto->nombre)?>" src="<?=PATH_IMG_PRODUCTOS?>none.jpg" /></span>
<?}?>
</div>
</div>
Entonces como verán, necesitaría una solución para que de alguna manera depende el producto que se este mostrando cambie el open Graph Tag y muestre la imagen de ese producto.
Por cierto ya he intentado y agregado el botón indicando que el botón me gusta llame a la página actual: href="<?=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']?>". Y si funciona, pero facebook siempre escoge la imagen del logo por defecto y no del producto.
He buscado por todos lados pero no doy con la solución, he logrado con el código que acabo de mencionar que el botón funcione de forma dinámica según el producto, pero ahora necesito que muestre la imagen correcta.
Gracias a todos por su ayuda de antemano.
Saludos