本文整理汇总了PHP中Gateway::getConfig方法的典型用法代码示例。如果您正苦于以下问题:PHP Gateway::getConfig方法的具体用法?PHP Gateway::getConfig怎么用?PHP Gateway::getConfig使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gateway
的用法示例。
在下文中一共展示了Gateway::getConfig方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPropertiesForNetEven
/**
* Formatage des informations produit pour NetEven.
* @param $t_product
* @param bool $display
* @return array
*/
private function getPropertiesForNetEven($products, $display = false)
{
if (!sizeof($products)) {
return false;
}
global $cookie, $link;
if (!$link) {
$link = new Link();
}
$products_temp = array();
$compteur_product_no_ean13 = 0;
$compteur_product_no_ref = 0;
foreach ($products as $product) {
$product_reference = 'P' . $product['id_product'];
if (!empty($product['id_product_attribute'])) {
$product_reference = 'D' . $product['id_product_attribute'];
}
if (self::$type_sku == 'reference') {
$product_reference = $product['product_reference'];
if (!empty($product['id_product_attribute'])) {
$product_reference = $product['product_attribute_reference'];
}
}
$ean_ps = !empty($product['ean13_declinaison']) ? $product['ean13_declinaison'] : $product['ean13'];
$codeEan = "";
if (!empty($ean_ps)) {
$codeEan = sprintf('%013s', $ean_ps);
}
$id_product_attribute = NULL;
if (!empty($product['id_product_attribute'])) {
$id_product_attribute = (int) $product['id_product_attribute'];
}
$product_price = Product::getPriceStatic((int) $product['id_product'], true, (int) $id_product_attribute, 2, NULL, false, true);
$product_price_without_reduction = Product::getPriceStatic((int) $product['id_product'], true, (int) $id_product_attribute, 2, NULL, false, false);
$categories = $this->getProductCategories($product);
$categories = array_reverse($categories);
$classification = str_replace('//', '', implode('/', $categories));
$quantity = Product::getQuantity((int) $product['id_product'], !empty($product['id_product_attribute']) ? (int) $product['id_product_attribute'] : NULL);
$indice = count($products_temp);
$weight = $product['weight'];
if (!empty($id_product_attribute)) {
$weight += $product['weight_product_attribute'];
}
$products_temp[$indice] = array('Title' => $product['name'], 'SKU' => $product_reference, 'Description' => strip_tags($product['description']), 'EAN' => $codeEan, 'Quantity' => $quantity, 'PriceFixed' => $product_price_without_reduction, 'PriceRetail' => $product_price, 'Etat' => 11, 'SKUFamily' => self::$type_sku == 'reference' ? $product['declinaison_default_ref'] : $product['declinaison_default'], 'Classification' => str_replace('Accueil/', '', $classification), 'shipping_delay' => $this->getValue('shipping_delay'), 'Comment' => $this->getValue('comment'), 'Height' => $product['height'], 'Width' => $product['width'], 'Depth' => $product['depth'], 'Weight' => $weight, 'Brand' => !empty($product['name_manufacturer']) ? $product['name_manufacturer'] : $this->getValue('default_brand'));
$id_lang = isset($cookie->id_lang) ? (int) $cookie->id_lang : (int) Configuration::get('PS_LANG_DEFAULT');
$sql = 'SELECT t.name
FROM
' . _DB_PREFIX_ . 'product_tag pt
INNER JOIN ' . _DB_PREFIX_ . 'tag t ON (pt.id_tag = t.id_tag AND t.id_lang = ' . intval($id_lang) . ')
WHERE pt.id_product = ' . intval($product['id_product']);
$t_tags_bdd = Db::getInstance()->ExecuteS($sql);
if ($t_tags_bdd && count($t_tags_bdd) > 0) {
$t_tags_final = array();
foreach ($t_tags_bdd as $t_tag_bdd) {
$t_tags_final[] = $t_tag_bdd['name'];
}
$products_temp[$indice]["Keywords"] = implode(',', $t_tags_final);
}
//shipping part
$shipping_price_local = $this->getValue('shipping_price_local');
if (self::$shipping_by_product && !empty(self::$shipping_by_product_fieldname)) {
$shipping_price_local = $product[self::$shipping_by_product_fieldname];
}
$carrier_france = $this->getConfig('SHIPPING_CARRIER_FRANCE');
$carrier_zone_france = $this->getConfig('SHIPPING_ZONE_FRANCE');
if (!empty($carrier_france) && !empty($carrier_zone_france)) {
$products_temp[$indice]['PriceShippingLocal1'] = $this->getShippingPrice($product['id_product'], $id_product_attribute, $carrier_france, $carrier_zone_france);
} elseif (!empty($shipping_price_local)) {
$products_temp[$indice]['PriceShippingLocal1'] = $shipping_price_local;
}
$shipping_price_inter = $this->getValue('shipping_price_international');
$carrier_inter = $this->getConfig('SHIPPING_CARRIER_INTERNATIONAL');
$carrier_zone_inter = $this->getConfig('SHIPPING_ZONE_INTERNATIONAL');
if (!empty($carrier_france) && !empty($carrier_zone_france)) {
$products_temp[$indice]['PriceShippingInt1'] = $this->getShippingPrice($product['id_product'], $id_product_attribute, $carrier_inter, $carrier_zone_inter);
} elseif (!empty($shipping_price_inter)) {
$products_temp[$indice]['PriceShippingInt1'] = $shipping_price_inter;
}
if (!empty($carrier_france) && !empty($carrier_zone_france)) {
$products_temp[$indice]['PriceShippingInt1'] = $this->getShippingPrice($product['id_product'], $id_product_attribute, $carrier_inter, $carrier_zone_inter);
}
$images = $this->getProductImages($product);
foreach ($images as $key => $image) {
if (is_object($link)) {
$img_url = $link->getImageLink($product['link_rewrite'], (int) $product['id_product'] . '-' . (int) $image['id_image'], Gateway::getConfig('IMAGE_TYPE_NAME'));
$products_temp[$indice]['Image' . ($key + 1)] = 'http://' . str_replace('http://', '', $img_url);
}
}
// Attributes and fetures of product
$category_default = new Category((int) $product['id_category_default'], (int) $cookie->id_lang);
$products_temp[$indice]['ArrayOfSpecificFields'] = array();
$products_temp[$indice]['ArrayOfSpecificFields'][] = array('Name' => 'categorie', 'Value' => $category_default->name);
$sql = '
SELECT GROUP_CONCAT(DISTINCT CONCAT(fl.`name`," {##} ",fvl.`value`) SEPARATOR "' . pSQL($this->getValue('separator')) . ' ") as feature_name
//.........这里部分代码省略.........
示例2: displayForm
public function displayForm($order_states, $features, $attribute_groups, $neteven_feature_categories)
{
$customizable_fields = array();
if (Gateway::getConfig('CUSTOMIZABLE_FIELDS')) {
foreach (explode('¤', Gateway::getConfig('CUSTOMIZABLE_FIELDS')) as $customizable_field) {
$customizable_fields[] = explode('|', $customizable_field);
}
}
$carriers = Carrier::getCarriers((int) $this->context->cookie->id_lang);
$this->context->smarty->assign(array('SHIPPING_CARRIER_FRANCE' => Tools::safeOutput(Tools::getValue('SHIPPING_CARRIER_FRANCE', Gateway::getConfig('SHIPPING_CARRIER_FRANCE'))), 'SHIPPING_ZONE_FRANCE' => Tools::safeOutput(Tools::getValue('SHIPPING_ZONE_FRANCE', Gateway::getConfig('SHIPPING_ZONE_FRANCE'))), 'SHIPPING_CARRIER_INTERNATIONAL' => Tools::safeOutput(Tools::getValue('SHIPPING_CARRIER_INTERNATIONAL', Gateway::getConfig('SHIPPING_CARRIER_INTERNATIONAL'))), 'SHIPPING_ZONE_INTERNATIONAL' => Tools::safeOutput(Tools::getValue('SHIPPING_ZONE_INTERNATIONAL', Gateway::getConfig('SHIPPING_ZONE_INTERNATIONAL'))), 'carriers' => $carriers, 'order_states' => $order_states, 'features' => $features, 'module_path' => $this->_path, 'module_display_name' => $this->displayName, 'attribute_groups' => $attribute_groups, 'neteven_feature_categories' => $neteven_feature_categories, 'default_currency' => new Currency((int) Configuration::get('PS_CURRENCY_DEFAULT')), 'format_images' => ImageType::getImagesTypes('products'), 'cron_feature_url' => Tools::getProtocol(Tools::usingSecureMode()) . $_SERVER['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/' . $this->name . $this->feature_url, 'cron_order_url' => Tools::getProtocol(Tools::usingSecureMode()) . $_SERVER['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/' . $this->name . $this->order_url, 'cron_product_url' => Tools::getProtocol(Tools::usingSecureMode()) . $_SERVER['HTTP_HOST'] . __PS_BASE_URI__ . 'modules/' . $this->name . $this->product_url, 'customizable_fields' => $customizable_fields, 'neteven_token' => Tools::encrypt(Configuration::get('PS_SHOP_NAME')), 'NETEVEN_LOGIN' => Tools::safeOutput(Tools::getValue('NETEVEN_LOGIN', Gateway::getConfig('NETEVEN_LOGIN'))), 'NETEVEN_PASSWORD' => Tools::safeOutput(Tools::getValue('NETEVEN_PASSWORD', Gateway::getConfig('NETEVEN_PASSWORD'))), 'SYNCHRONISATION_ORDER' => (int) Gateway::getConfig('SYNCHRONISATION_ORDER'), 'SYNCHRONISATION_PRODUCT' => (int) Gateway::getConfig('SYNCHRONISATION_PRODUCT'), 'DEFAULT_BRAND' => Tools::safeOutput(Tools::getValue('DEFAULT_BRAND', Gateway::getConfig('DEFAULT_BRAND'))), 'SHIPPING_DELAY' => Tools::safeOutput(Tools::getValue('SHIPPING_DELAY', Gateway::getConfig('SHIPPING_DELAY'))), 'IMAGE_TYPE_NAME' => Gateway::getConfig('IMAGE_TYPE_NAME'), 'COMMENT' => Tools::safeOutput(Tools::getValue('COMMENT', Gateway::getConfig('COMMENT'))), 'SHIPPING_PRICE_LOCAL' => Tools::safeOutput(Tools::getValue('SHIPPING_PRICE_LOCAL', Gateway::getConfig('SHIPPING_PRICE_LOCAL'))), 'SHIPPING_PRICE_INTERNATIONAL' => Tools::safeOutput(Tools::getValue('SHIPPING_PRICE_INTERNATIONAL', Gateway::getConfig('SHIPPING_PRICE_INTERNATIONAL'))), 'SHIPPING_BY_PRODUCT' => (int) Gateway::getConfig('SHIPPING_BY_PRODUCT'), 'SHIPPING_BY_PRODUCT_FIELDNAME' => Tools::safeOutput(Tools::getValue('SHIPPING_BY_PRODUCT_FIELDNAME', Gateway::getConfig('SHIPPING_BY_PRODUCT_FIELDNAME'))), 'ID_ORDER_STATE_NETEVEN' => (int) Gateway::getConfig('ID_ORDER_STATE_NETEVEN'), 'NETEVEN_URL' => Tools::safeOutput(Tools::getValue('NETEVEN_URL', Gateway::getConfig('NETEVEN_URL'))), 'NETEVEN_NS' => Tools::safeOutput(Tools::getValue('NETEVEN_NS', Gateway::getConfig('NETEVEN_NS'))), 'MAIL_LIST_ALERT' => Tools::safeOutput(Tools::getValue('MAIL_LIST_ALERT', Gateway::getConfig('MAIL_LIST_ALERT'))), 'DEBUG' => (int) Gateway::getConfig('DEBUG'), 'SEND_REQUEST_BY_EMAIL' => (int) Gateway::getConfig('SEND_REQUEST_BY_EMAIL'), 'TYPE_SKU' => (int) (Gateway::getConfig('TYPE_SKU') !== false) ? Gateway::getConfig('TYPE_SKU') : 'reference'));
return $this->display(__FILE__, 'views/templates/admin/nqgatewayneteven.tpl');
}
示例3: dirname
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
include dirname(__FILE__) . '/../../../config/config.inc.php';
include dirname(__FILE__) . '/../../../init.php';
include dirname(__FILE__) . '/../classes/Gateway.php';
if (Tools::getValue('token') != Tools::encrypt(Configuration::get('PS_SHOP_NAME'))) {
die(Tools::displayError());
}
$action = Tools::getValue('action');
$field = Tools::getValue('field');
$id = Tools::getValue('id');
$order_states = explode(':', Gateway::getConfig($field));
if (empty($order_states[0])) {
$order_states = array();
}
if ($action != 'display') {
$position = 0;
if ($action == 'add') {
array_push($order_states, $id);
} elseif ($action == 'up') {
foreach ($order_states as $key => $id_order_state) {
if ($id_order_state == $id) {
$position = (int) $key;
break;
}
}
if ($position != 0) {
示例4: createOrder
/**
* Creating of the PrestaShop order
* @param $neteven_order
* @param $neteven_orders
* @return int
*/
private function createOrder($neteven_order, $neteven_orders)
{
if (constant('_PS_VERSION_') >= 1.5) {
include_once dirname(__FILE__) . '/OrderInvoiceOverride.php';
}
/* Treatment of customer */
$id_customer = $this->addCustomerInBDD($neteven_order);
if ($this->time_analyse) {
$this->current_time_2 = time();
Toolbox::displayDebugMessage(self::getL('Customer') . ' : ' . ((int) $this->current_time_2 - (int) $this->current_time_0) . 's');
}
/* Treatment of addresses of the customer */
$id_address_billing = $this->addAddresseInBDD($neteven_order->OrderID, $neteven_order->BillingAddress, 'facturation', $id_customer);
$id_address_shipping = $this->addAddresseInBDD($neteven_order->OrderID, $neteven_order->ShippingAddress, 'livraison', $id_customer);
if ($this->time_analyse) {
$this->current_time_0 = time();
Toolbox::displayDebugMessage(self::getL('Address') . ' : ' . ((int) $this->current_time_0 - (int) $this->current_time_2) . 's');
}
/* Get secure key of customer */
$secure_key_default = md5(uniqid(rand(), true));
if ($secure_key = Db::getInstance()->getValue('SELECT `secure_key` FROM `' . _DB_PREFIX_ . 'customer` WHERE `id_customer` = ' . (int) $id_customer)) {
$secure_key_default = $secure_key;
} else {
Toolbox::addLogLine(self::getL('Problem with a secure key recovery for the customer / NetEven Order Id') . ' ' . $neteven_order->OrderID);
}
/* Treatment of order informations */
$total_wt = 0;
$total_product = 0;
$total_product_wt = 0;
$total_taxe = 0;
foreach ($neteven_orders as $neteven_order_temp) {
if ($neteven_order_temp->OrderID == $neteven_order->OrderID) {
if (in_array($neteven_order_temp->Status, $this->getValue('t_list_order_status'))) {
continue;
}
$total_product += (double) $neteven_order_temp->Price->_ - (double) $neteven_order_temp->VAT->_;
$total_product_wt += (double) $neteven_order_temp->Price->_;
$total_taxe += $neteven_order_temp->VAT->_;
}
}
$total_wt = $total_product_wt + $neteven_order->OrderShippingCost->_;
$date_now = date('Y-m-d H:i:s');
if ($this->time_analyse) {
$this->current_time_2 = time();
Toolbox::displayDebugMessage(self::getL('Order total') . ' : ' . ((int) $this->current_time_2 - (int) $this->current_time_0) . 's');
}
/* Creating and add order in PrestaShop */
if (!($res = Db::getInstance()->getRow('SELECT * FROM `' . _DB_PREFIX_ . 'orders_gateway` WHERE `id_order_neteven` = ' . (int) $neteven_order->OrderID . ' AND `id_order_detail_neteven` = 0'))) {
/* Creating cart */
$cart = new Cart();
$cart->id_address_delivery = (int) $id_address_shipping;
$cart->id_address_invoice = (int) $id_address_billing;
$cart->id_currency = (int) Configuration::get('PS_CURRENCY_DEFAULT');
$cart->id_customer = (int) $id_customer;
$cart->id_lang = (int) Configuration::get('PS_LANG_DEFAULT');
$cart->id_carrier = Gateway::getConfig('CARRIER_NETEVEN');
$cart->recyclable = 1;
$cart->gift = 0;
$cart->gift_message = '';
$cart->date_add = $date_now;
$cart->secure_key = $secure_key_default;
$cart->date_upd = $date_now;
if (!$cart->add()) {
Toolbox::addLogLine(self::getL('Failed for cart creation / NetEven Order Id') . ' ' . (int) $neteven_order->OrderID);
}
if ($this->time_analyse) {
$this->current_time_0 = time();
Toolbox::displayDebugMessage(self::getL('Cart') . ' : ' . ((int) $this->current_time_0 - (int) $this->current_time_2) . 's');
}
/* Creating order */
$id_order_temp = 0;
$order = new Order();
$order->id_carrier = Gateway::getConfig('CARRIER_NETEVEN');
$order->id_lang = Configuration::get('PS_LANG_DEFAULT');
$order->id_customer = $id_customer;
$order->id_cart = $cart->id;
$order->id_currency = Configuration::get('PS_CURRENCY_DEFAULT');
$order->id_address_delivery = $id_address_shipping;
$order->id_address_invoice = $id_address_billing;
$order->secure_key = $secure_key_default;
$order->payment = $neteven_order->PaymentMethod;
$order->conversion_rate = 1;
$order->module = 'nqgatewayneteven';
$order->recyclable = 0;
$order->gift = 0;
$order->gift_message = ' ';
$order->shipping_number = '';
/* generate reference order */
$nbr_order_neteven = Configuration::get('NUMBER_ORDER_NETEVEN');
if (false === $nbr_order_neteven) {
$nbr_order_neteven = 1;
} else {
$nbr_order_neteven = (int) str_replace('N', '', $nbr_order_neteven);
$nbr_order_neteven++;
//.........这里部分代码省略.........
示例5: affectProperties
public function affectProperties()
{
global $cookie;
// Get the configuration
$this->shipping_delay = Gateway::getConfig('SHIPPING_DELAY');
$this->comment = Gateway::getConfig('COMMENT');
$this->default_brand = Gateway::getConfig('DEFAULT_BRAND');
$this->id_country_default = Configuration::get('PS_COUNTRY_DEFAULT');
$this->default_passwd = Gateway::getConfig('PASSWORD_DEFAULT');
$this->id_employee_neteven = (int) Gateway::getConfig('ID_EMPLOYEE_NETEVEN');
$this->id_customer_neteven = (int) Gateway::getConfig('ID_CUSTOMER_NETEVEN');
$this->id_order_state_neteven = (int) Gateway::getConfig('ID_ORDER_STATE_NETEVEN');
$this->shipping_price_local = Gateway::getConfig('SHIPPING_PRICE_LOCAL');
$this->shipping_price_international = Gateway::getConfig('SHIPPING_PRICE_INTERNATIONAL');
$this->id_lang = (int) Configuration::get('PS_LANG_DEFAULT');
// Get feature links NetEven/PrestaShop
$feature_links = Db::getInstance()->ExecuteS('
SELECT ogfl.*, agl.`name` as attribute_name, fl.`name` as feature_name, ogf.`value`
FROM `' . _DB_PREFIX_ . 'orders_gateway_feature_link` ogfl
LEFT JOIN `' . _DB_PREFIX_ . 'attribute_group_lang` agl ON (agl.`id_attribute_group` = ogfl.`id_attribute_group` AND agl.`id_lang` = ' . (int) $cookie->id_lang . ')
LEFT JOIN `' . _DB_PREFIX_ . 'feature_lang` fl ON (fl.`id_feature` = ogfl.`id_feature` AND fl.`id_lang` = ' . (int) $cookie->id_lang . ')
LEFT JOIN `' . _DB_PREFIX_ . 'orders_gateway_feature` ogf ON (ogf.`id_order_gateway_feature` = ogfl.`id_order_gateway_feature`)
');
$temp = array();
foreach ($feature_links as $feature_link) {
if (!empty($feature_link['id_attribute_group'])) {
$temp[$feature_link['attribute_name']] = $feature_link['value'];
} else {
$temp[$feature_link['feature_name']] = $feature_link['value'];
}
}
$this->feature_links = $temp;
// Get order states
if (Gateway::getConfig('ORDER_STATE_BEFORE')) {
$this->order_state_before = explode(':', Gateway::getConfig('ORDER_STATE_BEFORE'));
}
if (Gateway::getConfig('ORDER_STATE_AFTER')) {
$this->order_state_after = explode(':', Gateway::getConfig('ORDER_STATE_AFTER'));
}
$this->mail_list_alert = explode(':', Gateway::getConfig('MAIL_LIST_ALERT'));
$this->debug = Gateway::getConfig('DEBUG') == 1 ? true : false;
$this->send_request_to_mail = Gateway::getConfig('SEND_REQUEST_BY_EMAIL') == 1 ? true : false;
$this->mail_active = Gateway::getConfig('MAIL_ACTIVE') == 1 ? true : false;
if ($this->debug == true) {
ini_set('display_errors', 1);
error_reporting(E_ALL);
}
}
示例6: getPropertiesForNetEven
/**
* Formatage des informations produit pour NetEven.
* @param $t_product
* @param bool $display
* @return array
*/
private function getPropertiesForNetEven($products, $display = false)
{
if (!sizeof($products)) {
return false;
}
global $cookie, $link;
if (!$link) {
$link = new Link();
}
$products_temp = array();
$compteur_product_no_ean13 = 0;
$compteur_product_no_ref = 0;
foreach ($products as $product) {
$product_reference = 'P' . $product['id_product'];
if (!empty($product['id_product_attribute'])) {
$product_reference = 'D' . $product['id_product_attribute'];
}
if (self::$type_sku == 'reference') {
$product_reference = $product['product_reference'];
if (!empty($product['id_product_attribute'])) {
$product_reference = $product['product_attribute_reference'];
}
}
$codeEan = sprintf('%013s', !empty($product['ean13_declinaison']) ? $product['ean13_declinaison'] : $product['ean13']);
$id_product_attribute = NULL;
if (!empty($product['id_product_attribute'])) {
$id_product_attribute = (int) $product['id_product_attribute'];
}
$product_price = Product::getPriceStatic((int) $product['id_product'], true, (int) $id_product_attribute, 2, NULL, false, true);
$product_price_without_reduction = Product::getPriceStatic((int) $product['id_product'], true, (int) $id_product_attribute, 2, NULL, false, false);
$categories = $this->getProductCategories($product);
$classification = str_replace('//', '', implode('/', $categories));
$quantity = Product::getQuantity((int) $product['id_product'], !empty($product['id_product_attribute']) ? (int) $product['id_product_attribute'] : NULL);
$indice = count($products_temp);
$shipping_price_local = $this->getValue('shipping_price_local');
if (self::$shipping_by_product && !empty(self::$shipping_by_product_fieldname)) {
$shipping_price_local = $product[self::$shipping_by_product_fieldname];
}
$products_temp[$indice] = array('Title' => $product['name'], 'SKU' => $product_reference, 'Description' => strip_tags($product['description']), 'EAN' => $codeEan, 'Quantity' => $quantity, 'PriceFixed' => $product_price_without_reduction, 'PriceRetail' => $product_price, 'Etat' => 11, 'SKUFamily' => self::$type_sku == 'reference' ? $product['declinaison_default_ref'] : $product['declinaison_default'], 'Classification' => str_replace('Accueil/', '', $classification), 'shipping_delay' => $this->getValue('shipping_delay'), 'Comment' => $this->getValue('comment'), 'Brand' => !empty($product['name_manufacturer']) ? $product['name_manufacturer'] : $this->getValue('default_brand'));
if ($shipping_price_local == '-') {
unset($products_temp[$indice]['shipping_price_local']);
}
if (empty($products_temp[$indice]['shipping_price_international'])) {
unset($products_temp[$indice]['shipping_price_international']);
}
$images = $this->getProductImages($product);
foreach ($images as $key => $image) {
if (is_object($link)) {
$img_url = $link->getImageLink($product['link_rewrite'], (int) $product['id_product'] . '-' . (int) $image['id_image'], Gateway::getConfig('IMAGE_TYPE_NAME'));
$products_temp[$indice]['Image' . ($key + 1)] = 'http://' . str_replace('http://', '', $img_url);
}
}
// Attributes and fetures of product
$products_temp[$indice]['ArrayOfSpecificFields'] = array();
$products_temp[$indice]['ArrayOfSpecificFields'][] = array('Name' => 'categorie', 'Value' => $category_default->name);
$sql = '
SELECT GROUP_CONCAT(DISTINCT CONCAT(fl.`name`," {##} ",fvl.`value`) SEPARATOR "' . pSQL($this->getValue('separator')) . ' ") as feature_name
FROM `' . _DB_PREFIX_ . 'feature_product` fp
LEFT JOIN `' . _DB_PREFIX_ . 'feature_value_lang` fvl ON (fp.`id_feature_value` = fvl.`id_feature_value` AND fvl.id_lang=' . (int) $cookie->id_lang . ')
LEFT JOIN `' . _DB_PREFIX_ . 'feature_value` fv ON (fv.`id_feature_value` = fvl.`id_feature_value`)
LEFT JOIN `' . _DB_PREFIX_ . 'feature_lang` fl ON (fl.`id_feature` = fv.`id_feature` AND fl.`id_lang`=' . (int) $cookie->id_lang . ')
WHERE fp.`id_product` = ' . (int) $product['id_product'] . '
';
$product['feature_name'] = Db::getInstance()->getValue($sql);
if (empty($product['attribute_name']) && empty($product['feature_name'])) {
continue;
}
$features_attributes = array();
if (!empty($product['attribute_name'])) {
$features_attributes = explode($this->getValue('separator'), $product['attribute_name']);
}
if (!empty($product['feature_name'])) {
$features_attributes = array_merge($t_carac_attr, explode($this->getValue('separator'), $product['feature_name']));
}
$feature_links = $this->getValue('feature_links');
foreach ($features_attributes as $value) {
$infos = explode(' {##} ', $value);
if (count($infos) == 2 && !empty($infos[0]) && !empty($infos[1]) && !empty($feature_links[trim($infos[0])])) {
$specific_name = $feature_links[trim($infos[0])];
$products_temp[$indice]['ArrayOfSpecificFields'][] = array('Name' => $specific_name, 'Value' => $infos[1]);
}
}
if (count(self::$customizable_field) > 0) {
foreach (self::$customizable_field as $key => $value) {
$products_temp[$indice]['ArrayOfSpecificFields'][] = array('Name' => $key, 'Value' => $value);
}
}
}
return $products_temp;
}