Jump to content

Problema con metadatos


Recommended Posts

Buenas, he conectado mis productos al catalogo de facebook a partir de los metadatos y tengo un par de problemas:

Primero que en el catalogo de facebook aparecen dos fotos repetidas, una de ellas es la miniatura.

Segundo que no aparecen todas las fotos de todas las combinaciones (por ejemplo, un producto que tiene plata y oro, aparece solo la foto de la combinacion oro)

Todo esto se supone que se puede cambiar en los metadatos, como modifico eso? en que archivo y que cosas tengo que modificar?

Aunque no sepas exactamente cómo, el saber en que archivo se encuentran todos esos metadatos me ayudaria. Muchas gracias de antemano.

Link to comment
Share on other sites

6 hours ago, Rodrigo B Laurindo said:

Hola, Pelleque.

Utilizas un módulo para integración? Si tienes que modificar metadatos de páginas de productos, debes empezar por el archivo "product.tpl".

Buenas, primero que todo muchisimas gracias por responder.

Para la integración del catalogo utilizo el propio modulo del pixel de facebook, pero ahí no hay ninguna configuracion para lo que quiero.

¿Una vez dentro del product.tpl sabrías decirme que puedo cambiar para solucionarlo?

De nuevo, muchas gracias por tu tiempo.

Link to comment
Share on other sites

@Rodrigo B Laurindo si, llevo varias semanas detras de ellos y no obtengo respuesta. Solo necesito las dos cosas que mencioné al principio:

Que no aparezca una foto pequeña duplicada en los metadatos y que aparezcan todas las fotos del producto, es decir, las fotos de todas las combinaciones (en mi caso oro y plata).

Espero que puedas ayudarme

Link to comment
Share on other sites

Lo mas seguro es que si estas usando los metadatos se mas un problema de plantilla que de algun modulo de pixel.

Si estas usando los metadatos es normal que solo aparezca una foto, la portada y que no aparezca las imagenes de las combinaciones, recuerda que solo cambian si las elijes en la combinación y al cambiar de combinación en la pagina del producto.

Me parece que usando los metadatos solo vas a poder mostrar los productos que NO tienen combinaciones.

El tamaño de la imagen, tambien se la esta proporcionando la plantilla, por lo que te aconsejo 

  • Comprobar que hay actualización de plantilla y ver si cambia el tamaño de imagen de metadados de FB.
  • Enviar un ticket a los de la plantilla
  • Comprar un modulo para exporte en CSV,XML y enviarlo al sistema Facebook , de esa manera seguro que enviara las combinaciones con sus respectivos datos e imagenes correctas

 

Link to comment
Share on other sites

2 hours ago, gusman126 said:

Enviar un ticket a los de la plantilla

Es la plantilla que viene por defecto, el tema classic de prestashop. ¿Qué tendría que hacer?

He estado viendo en el "ver codigo fuente de la pagina" que hay meta etiquetas duplicadas, una se corresponde al modulo del pixel de facebook pero las otras no sé con qué se corresponden:

image.thumb.png.70c27d4be5eeba065f28c0420e3f0dd1.png

 

No hay manera de modificar eso para que las imagenes que muestre sean sola las "1-large_default" y añadir las de las combinaciones?

 

Gracias de antemano, espero tu respuesta.

Link to comment
Share on other sites

hace 3 minutos, Pelleque dijo:

Es la plantilla que viene por defecto, el tema classic de prestashop. ¿Qué tendría que hacer?

He estado viendo en el "ver codigo fuente de la pagina" que hay meta etiquetas duplicadas, una se corresponde al modulo del pixel de facebook pero las otras no sé con qué se corresponden:

image.thumb.png.70c27d4be5eeba065f28c0420e3f0dd1.png

 

No hay manera de modificar eso para que las imagenes que muestre sean sola las "1-large_default" y añadir las de las combinaciones?

 

Gracias de antemano, espero tu respuesta.

Modificando codigo y añadiendo, es probable que si que se pudiera. no se seguro si se pudiera hacer, como te digo el codigo que hace que cambie la imagen esta por separado 

normalmente calculo el tiempo que me va ocasionar si es mayor al coste de comprar un modulo, me olvido y lo compro.

Link to comment
Share on other sites

6 minutes ago, gusman126 said:

Modificando codigo y añadiendo, es probable que si que se pudiera. no se seguro si se pudiera hacer, como te digo el codigo que hace que cambie la imagen esta por separado 

normalmente calculo el tiempo que me va ocasionar si es mayor al coste de comprar un modulo, me olvido y lo compro.

Pues voy a ponerme a investigar, todo eso lo encontraré en el Product.tpl?

Link to comment
Share on other sites

he mirado mejor las capturas que envias, 

Me equivoque , parece que el pixel que usas no es el que conozco de pixel de facebook , es el de pixel product export.

Has comprado el modulo? habla con el desarrollador.

Intenta que añada el codigo para mostrar todas las imagenes de las combinaciones y que puedas elegir el tamaño de la imagen.

 

 

Link to comment
Share on other sites

21 minutes ago, gusman126 said:

he mirado mejor las capturas que envias, 

Me equivoque , parece que el pixel que usas no es el que conozco de pixel de facebook , es el de pixel product export.

Has comprado el modulo? habla con el desarrollador.

Intenta que añada el codigo para mostrar todas las imagenes de las combinaciones y que puedas elegir el tamaño de la imagen.

 

 

El modulo es de prestashop, ya les he enviado un mensaje a ver si lo solucionan, en caso de que no, ¿cómo podría hacerlo?

Tengo este codigo en el product.tpl

  <meta property="og:type" content="product">
  <meta property="og:url" content="{$urls.current_url}">
  <meta property="og:title" content="{$page.meta.title}">
  <meta property="og:site_name" content="{$shop.name}">
  <meta property="og:description" content="{$page.meta.description}">
  <meta property="og:image" content="{$product.cover.large.url}">
  <meta property="product:pretax_price:amount" content="{$product.price_tax_exc}">
  <meta property="product:pretax_price:currency" content="{$currency.iso_code}">
  <meta property="product:price:amount" content="{$product.price_amount}">
  <meta property="product:price:currency" content="{$currency.iso_code}">

Como podría añadir mas imagenes y que se correspondan con todas las combinaciones?

 

Link to comment
Share on other sites

3 hours ago, Rodrigo B Laurindo said:

Busca en la documentación de Facebook cuál es la manera correcta de se informar más de una imagen en los metadatos. Con eso en manos podemos buscar un código smarty que lo haga.

Antes he visto que tenia dos imagenes duplicadas, asi que simplemente para añadir una imagen mas y que aparezca sería con un

 <meta property="og:image" content="{$product.cover.large.url}">

Pero en la parte donde pone "$product.cover.large.url" no sé como ponerlo, para que coja la imagen de la otra combinacion. ¿Alguna idea?

Link to comment
Share on other sites

15 minutes ago, Rodrigo B Laurindo said:

I can not test in just now, but try something like this:


{foreach from=$product.images item=image}
<meta property="og:image" content="{$image.bySize.large.url}">
{/foreach}

 

Lo he probado, pero no se como puedo ver exactamente si ha funcionado o no. ¿Esperar a que se actualice el pixel de facebook?

Link to comment
Share on other sites

1 minute ago, Rodrigo B Laurindo said:

Bueno, mira si en el codigo aparecen las imágenes como querias. Si están, y no te funciona em fb, tendrás que mirar la documentación.

 

No entiendo, como puedo mirar en el codigo si aparecen las imagenes como quiero? Puedes explicarmelo?

Link to comment
Share on other sites

1 minute ago, Rodrigo B Laurindo said:

Entra en una página de producto con más de una imagen y mira el código fuente de la página

Entiendo, no, no aparece, aparece así, totalmente vacío, se te ocurre alguna otra forma?

<meta property="og:image" content="">

 

Edited by Pelleque (see edit history)
Link to comment
Share on other sites

Just now, Rodrigo B Laurindo said:

No, debe ser algún error em el sintaxe.

Pero se repite el og:image?

 

Sí, aqui lo tienes:

  <meta property="og:type" content="product">
  <meta property="og:url" content="http://s773038918.mialojamiento.es/pendientes/3-1-aro-estrella-con-circonita.html">
  <meta property="og:title" content="Aro estrella con circonita">
  <meta property="og:site_name" content="Picotta">
  <meta property="og:description" content="Aqui la metadescripcion">
  <meta property="og:image" content="http://s773038918.mialojamiento.es/1-large_default/aro-estrella-con-circonita.jpg">
  <meta property="product:pretax_price:amount" content="20">
  <meta property="product:pretax_price:currency" content="EUR">
  <meta property="product:price:amount" content="20">
  <meta property="product:price:currency" content="EUR">
			<meta property="og:image" content="http://s773038918.mialojamiento.es/1-large_default/aro-estrella-con-circonita.jpg">

 

Link to comment
Share on other sites

5 minutes ago, Rodrigo B Laurindo said:

Esto es en fb? Como salen Los metas en tu página?

Si, la foto que he pasado es como se ve el producto en facebook.

Ha vuelto todo a ponerse en oro, y desde el codigo fuente de la pagina se ve como que la imagen del codigo que he puesto es la misma que la combinacion principal, es decir, es:

... /1-large_default/aro-estrella-con-circonita.jpg

Link to comment
Share on other sites

1 minute ago, Rodrigo B Laurindo said:

Pega aqui todos los metadatos que aparecen en tu página y como quedó el código final en el tpl.

Esto del codigo fuente de la pagina:

  <!-- Facebook Pixel Code -->

    <script>

    !function(f,b,e,v,n,t,s)
    {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};
    if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.agent='plprestashop-download'; // n.agent to keep because of partnership
    n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];
    s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js');
    fbq('init', '2000773766898231');
    fbq('track', 'PageView');

    </script>

<noscript>
<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=2000773766898231&ev=PageView&noscript=1"/>
</noscript>

<!-- End Facebook Pixel Code -->

<!-- DO NOT MODIFY -->
<!-- End Facebook Pixel Code -->

<!-- Set Facebook Pixel Product Export -->
    <meta property="og:title" content="Aro estrella con circonita">
    <meta property="og:description" content="aqui el resumen">
    <meta property="og:url" content="http://s773038918.mialojamiento.es/pendientes/3-aro-estrella-con-circonita.html">
    <meta property="og:image" content="http://s773038918.mialojamiento.es/1-medium_default/aro-estrella-con-circonita.jpg">
    <meta property="product:brand" content="">
    <meta property="product:availability" content="In stock">
    <meta property="product:condition" content="new">
    <meta property="product:price:amount" content="20">
    <meta property="product:price:currency" content="EUR">
    <meta property="product:retailer_item_id" content="3">
<!-- END OF Set Facebook Pixel Product Export -->


<script>
fbq('track', 'ViewContent', {content_name: 'Aro estrella con circonita (ES)', content_ids: ['3'], content_type: 'product_group', value: 20, currency: 'EUR'});
</script>






    
  <meta property="og:type" content="product">
  <meta property="og:url" content="http://s773038918.mialojamiento.es/pendientes/3-1-aro-estrella-con-circonita.html">
  <meta property="og:title" content="Aro estrella con circonita">
  <meta property="og:site_name" content="Picotta">
  <meta property="og:description" content="Aqui la metadescripcion">
  <meta property="og:image" content="http://s773038918.mialojamiento.es/1-large_default/aro-estrella-con-circonita.jpg">
  <meta property="product:pretax_price:amount" content="20">
  <meta property="product:pretax_price:currency" content="EUR">
  <meta property="product:price:amount" content="20">
  <meta property="product:price:currency" content="EUR">
			<meta property="og:image" content="http://s773038918.mialojamiento.es/1-large_default/aro-estrella-con-circonita.jpg">
	  
  </head>

Y esto como quedó el product.tpl:

{block name='head' append}
  <meta property="og:type" content="product">
  <meta property="og:url" content="{$urls.current_url}">
  <meta property="og:title" content="{$page.meta.title}">
  <meta property="og:site_name" content="{$shop.name}">
  <meta property="og:description" content="{$page.meta.description}">
  <meta property="og:image" content="{$product.cover.large.url}">
  <meta property="product:pretax_price:amount" content="{$product.price_tax_exc}">
  <meta property="product:pretax_price:currency" content="{$currency.iso_code}">
  <meta property="product:price:amount" content="{$product.price_amount}">
  <meta property="product:price:currency" content="{$currency.iso_code}">
	{foreach from=$product.images item=image}
		<meta property="og:image" content="{$image.bySize.large_default.url}">
	{/foreach}
  {if isset($product.weight) && ($product.weight != 0)}
  <meta property="product:weight:value" content="{$product.weight}">
  <meta property="product:weight:units" content="{$product.weight_unit}">
  {/if}
{/block}

 

Link to comment
Share on other sites

Se están repitiendo tus metadatos. Debes buscar el código em tu módulo pixel y borrar todo lo que está dentro dela bloque "<!-- Set Facebook Pixel Product Export -->".

En product.tpl debes borrar esto:

<meta property="og:image" content="{$product.cover.large.url}">

Ahora ya no se duplicarán, pero tu problema es otro. Solo tendrás la imagen de la combinación default.

Tu plantilla es la de Prestashop?

 

Link to comment
Share on other sites

Just now, Rodrigo B Laurindo said:

Se están repitiendo tus metadatos. Debes buscar el código em tu módulo pixel y borrar todo lo que está dentro dela bloque "<!-- Set Facebook Pixel Product Export -->".

En product.tpl debes borrar esto:

<meta property="og:image" content="{$product.cover.large.url}"> 

Ahora ya no se duplicarán, pero tu problema es otro. Solo tendrás la imagen de la combinación default.

Tu plantilla es la de Prestashop?

 

Buscaré el codigo del modulo del pixel, aunque ando un poco perdido, encontré la carpeta de modulos y no encontre por ningun lado ese código...

 

Si, mi plantilla es la de prestashop original, "classic theme"

Link to comment
Share on other sites

he probado a añadir lo que dice Rodrigo,  en el header.tpl

{foreach $product.images as $imagen}
	<meta property="og:image" content="{$imagen.bySize.large_default.url}">
	{/foreach}

Muestra correctamente todas las imagenes del producto, esten o no asociadas a las combinaciones

Quitando , hace que se vean sin repetir

<meta property="og:image" content="{$product.images.0.bySize.medium_default.url}">

 

Link to comment
Share on other sites

8 hours ago, gusman126 said:

he probado a añadir lo que dice Rodrigo,  en el header.tpl


{foreach $product.images as $imagen}
	<meta property="og:image" content="{$imagen.bySize.large_default.url}">
	{/foreach}

Muestra correctamente todas las imagenes del producto, esten o no asociadas a las combinaciones

Quitando , hace que se vean sin repetir


<meta property="og:image" content="{$product.images.0.bySize.medium_default.url}">

 

Lo he puesto en el product.tpl y solo me aparece la imagen de oro, es decir, esto:

<meta property="og:image" content="http://s773038918.mialojamiento.es/1-large_default/aro-estrella-con-circonita.jpg">

 

Link to comment
Share on other sites

Mira la pagina que tengo de pruebas

https://xativalowcost.com/mismodulos/es/women/2-9-brown-bear-printed-sweater.html#/1-tamano-s

 

image.thumb.png.c7a87310bcc34990d481a991e382bd75.png

		<meta property="og:image" content="https://xativalowcost.com/mismodulos/21-large_default/brown-bear-printed-sweater.jpg">
		<meta property="og:image" content="https://xativalowcost.com/mismodulos/24-large_default/brown-bear-printed-sweater.jpg">
		<meta property="og:image" content="https://xativalowcost.com/mismodulos/25-large_default/brown-bear-printed-sweater.jpg">
		<meta property="og:image" content="https://xativalowcost.com/mismodulos/26-large_default/brown-bear-printed-sweater.jpg">

 

Ahora bien, SI EL PROBLEMA ES EL SISTEMA DE FACEBOOK, que solo reconoce 1 imagen porque og:image son todos iguales, hay que buscar como poner diferentes imagenes

tipo og:image1,og:image2,og:image3 ...

 

Edited by gusman126 (see edit history)
Link to comment
Share on other sites

11 minutes ago, gusman126 said:

Mira la pagina que tengo de pruebas

https://xativalowcost.com/mismodulos/es/women/2-9-brown-bear-printed-sweater.html#/1-tamano-s

 

image.thumb.png.c7a87310bcc34990d481a991e382bd75.png


		<meta property="og:image" content="https://xativalowcost.com/mismodulos/21-large_default/brown-bear-printed-sweater.jpg">
		<meta property="og:image" content="https://xativalowcost.com/mismodulos/24-large_default/brown-bear-printed-sweater.jpg">
		<meta property="og:image" content="https://xativalowcost.com/mismodulos/25-large_default/brown-bear-printed-sweater.jpg">
		<meta property="og:image" content="https://xativalowcost.com/mismodulos/26-large_default/brown-bear-printed-sweater.jpg">

 

Ahora bien, SI EL PROBLEMA ES EL SISTEMA DE FACEBOOK, que solo reconoce 1 imagen porque og:image son todos iguales, hay que buscar como poner diferentes imagenes

tipo og:image1,og:image2,og:image3 ...

 

Mira, poniendo el codigo que me has dado:

  	{foreach $product.images as $imagen}
		<meta property="og:image" content="{$imagen.bySize.large_default.url}">
	{/foreach}

En la web me sale solo esto:

  <!-- Facebook Pixel Code -->
   			<meta property="og:image" content="http://s773038918.mialojamiento.es/1-large_default/aro-estrella-con-circonita.jpg">

 

Link to comment
Share on other sites

Efectivamente es por eso, si pongo varias fotos en una combinacion me salen todas las fotos de esa combinacion, el problema entonces es que el codigo:

  	{foreach $product.images as $imagen}
		<meta property="og:image" content="{$imagen.bySize.large_default.url}">
	{/foreach}

No recorre todas las combinaciones, solo las imagenes de una misma combinacion.

Link to comment
Share on other sites

Aqui está:

{assign var='productImgs' value=Image::getImages($language.id, $product.id_product)}
{foreach from=$productImgs item=productImg}
  <meta property="og:image" content="{$link->getImageLink($product.link_rewrite, $productImg.id_image, 'small_default')}">
{/foreach}

Ahora si, estoy en mi ordenador y lo he probado.

Edited by Rodrigo B Laurindo (see edit history)
  • Thanks 1
Link to comment
Share on other sites

hace 46 minutos, Pelleque dijo:

Y sabes como sería el código que recorriese las combinaciones tambien?

en pspixel.php

despues de

if ($page === 'product') {
            $type = 'ViewContent';
            $prods = $this->context->controller->getTemplateVarProduct();

            if (count($prods['attributes']) > 0) {
                $content_type = 'product_group';
            }

añades

$id_producto = $prods['id_product'];

			$producto = new Product($prods['id_product']); 

			$combinationimages = $producto->getCombinationImages($this->context->language->id);
			
			foreach($combinationimages as $combinationimage){
			
				$imagenes[]= array(
					'id_image' =>$combinationimage[0]['id_image'],
				);
			}
			
			$this->context->smarty->assign('imagenes',$imagenes);
			

en header.tpl

{foreach $imagenes as $imagen}
	
	<meta property="og:image" content="{$link->getImageLink($product.link_rewrite, $imagen.id_image, 'large_default')}">
	{/foreach}

 

Link to comment
Share on other sites

hace 5 minutos, Rodrigo B Laurindo dijo:

Aqui está:


{assign var='productImgs' value=Image::getImages($language.id, $product.id_product)}
{foreach from=$productImgs item=productImg}
  <meta property="og:image" content="{$link->getImageLink($product.link_rewrite, $productImg.id_image, 'small_default')}">
{/foreach}

Ahora si, estoy en mi ordenador y he testado.

vwo que asi tambien se puede sin tocar php

  • Like 1
Link to comment
Share on other sites

 

12 minutes ago, Rodrigo B Laurindo said:

 


{assign var='productImgs' value=Image::getImages($language.id, $product.id_product)}
{foreach from=$productImgs item=productImg}
  <meta property="og:image" content="{$link->getImageLink($product.link_rewrite, $productImg.id_image, 'small_default')}">
{/foreach}

 

Ah si, pero no olvida cambiar 'small_default' por 'large_default' 

Link to comment
Share on other sites

22 minutes ago, Rodrigo B Laurindo said:

Aqui está:


{assign var='productImgs' value=Image::getImages($language.id, $product.id_product)}
{foreach from=$productImgs item=productImg}
  <meta property="og:image" content="{$link->getImageLink($product.link_rewrite, $productImg.id_image, 'small_default')}">
{/foreach}

Ahora si, estoy en mi ordenador y he testado.

Maravilloso, solucionado del todo! Muchisimas gracias por vuestra ayuda!

Ahora lo que tengo que ver es como quito la barra que he añadido al header.tpl sin querer, no tengo ni idea de lo que he podido tocar

Link to comment
Share on other sites

hace 12 horas, Pelleque dijo:

Maravilloso, solucionado del todo! Muchisimas gracias por vuestra ayuda!

Ahora lo que tengo que ver es como quito la barra que he añadido al header.tpl sin querer, no tengo ni idea de lo que he podido tocar

Recuerda, si se actualiza el modulo o prestashop se perdera esos cambios 

Link to comment
Share on other sites

9 hours ago, gusman126 said:

Recuerda, si se actualiza el modulo o prestashop se perdera esos cambios 

Si, tengo todo bien apuntado, pero no está todo ganado, ahora resulta que los productos en facebook se ven asi:

image.png.919a96a04c9549c81686f2ca3a9a70ba.png

image.png.85bc660298db3157cb7a937b4eb47fa2.png

Las imagenes salen vacías...

Link to comment
Share on other sites

21 hours ago, gusman126 said:

Pues entonces debe ser que no acepta lo de image y que solo acepta una, esto ya deberas preguntar en Facebook o en algunas intrucciones del sistema de Facebook

 

He cambiado el modo de actualizar los productos, ahora es con un feed de datos y me sigue saliendo exactamente igual, como puedo contactar con facebook?

anillo-cristal-azul.jpg&_nc_hash=AQBm5TELo que digo sale en este hilo: https://www.prestashop.com/forums/topic/969921-imagenes-vac%C3%ADas-en-el-cat%C3%A1logo-de-facebook/?tab=comments#comment-3087091

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...