Construimos, explora, una nueva experiencia de soporte está en marcha…
¡Eche un vistazo a nuestra nueva base de conocimientos ahora!
El campo debe estar ya presente en la base de datos y en una anulación de la clase Product_Lang
Queremos exportar un campo añadido a la clase Product_lang de PrestaShop.
Para añadir el campo a la lista de campos disponibles para la exportación de productos, haga clic en el botón desde la interfaz "Añadir campo", e introduzca la siguiente información:
¿Cuál es el ID del campo? mi_campo (debe coincidir exactamente con el nombre del campo en la clase Producto)
SC crea el campo, ahora hay que rellenar la cuadrícula:
ID: mi_campo
Nombre: mi_campo
En el panel de propiedades avanzadas de la derecha :
- seleccione el menú Idoma y rellene:
my_field
- seleccione el menú Proceso de exportación y rellene:
if (in_array($switchObject, array('my_field'))) {
$field = $p->my_field;
}
CASO ESPECIAL
Si el campo está presente en la base de datos pero no se ha realizado la anulación en la clase Product, aún es posible obtener su valor añadiendo código que genere una consulta SQL en lugar de utilizar el objeto Product.
if ($switchObject == 'my_field') {
$field = '';
$sql = "SELECT `".$switchObject."` FROM " . _DB_PREFIX_ . "product_lang
WHERE id_product=" . (int)$id_product."
AND id_lang=".(int)$getIDlangByISO[$f['lang']]."
AND id_shop=".(int) $selected_shops_id;
$field = (string)Db::getInstance()->getValue($sql);
}
Este código debe adaptarse a sus necesidades.
Cierre la ventana de edición de los campos personalizados y utilice el campo en su asignación de exportación.