-1
我創建了一個模塊,添加通過外部Web服務獲得的運營商。數據庫的addiction正確完成,並在phpmyadmin載體創建。 然而,屏幕的載體中未示出安裝在載體和打印出以下行錯誤:顯示我的運營商錯誤
Warning: strip_tags() expects parameter 1 to be string, array given in C:\xampp\htdocs\prestashop\classes\db\Db.php on line 815
完整方法的代碼是:
public function installCarriers()
{
$id_lang_default = Language::getIsoById(Configuration::get('PS_LANG_DEFAULT'));
$envios = Configuration::get('ENVIOS');
foreach ($envios as $env)
{
$carrier = new Carrier();
$carrier->name = $env->nombreModo;
$carrier->id_tax_rules_group = 0;
$carrier->active = TRUE;
$carrier->deleted = 0;
foreach (Language::getLanguages(true) as $language)
$carrier->delay[(int)$language['id_lang']] = $env->periodo_dia;
$carrier->shipping_handling = false;
$carrier->range_behavior = 0;
$carrier->is_module = true;
$carrier->is_free = false;
$carrier->shipping_external = false;
$carrier->external_module_name = (string)$this->name;
$carrier->need_range = true;
if ($carrier->add())
{
// Associate carrier to all groups
$groups = Group::getGroups(true);
foreach ($groups as $group)
Db::getInstance()->insert('carrier_group', array('id_carrier' => (int)$carrier->id, 'id_group' => (int)$group['id_group']));
// Create price range
$aux1 = intval($env->precioBase);
$aux2 = $aux1+1;
$rangePrice = new RangePrice();
$rangePrice->id_carrier = $carrier->id;
$rangePrice->delimiter1 = $aux1;
$rangePrice->delimiter2 = $aux2;
$rangePrice->add();
// Crear el rango de pesos para el carrier
$rangeWeight = new RangeWeight();
$rangeWeight->id_carrier = $carrier->id;
$rangeWeight->delimiter1 = '0';
$rangeWeight->delimiter2 = '10000';
$rangeWeight->add();
//Calculo del precio incluyendo el IVA (21%)
$priceIVA = str_replace(',', '.', $env->precioBase);
$priceIVA = (float)$priceIVA + (float)$priceIVA*(float)0.21;
// Asociar el carrier a la zona 1 = Europa
$zone = Zone::getIdByName('Europe');
Db::getInstance()->insert('carrier_zone', array('id_carrier' => (int)$carrier->id, 'id_zone' => (int)$zone));
Db::getInstance()->insert('delivery', array('id_carrier' => (int)$carrier->id, 'id_range_price' => (int)$rangePrice->id, 'id_range_weight' => (int)$rangeWeight->id, 'id_zone' => (int)$zone, 'price' => $priceIVA));
// Copy the carrier logo
copy(dirname(__FILE__).'/views/img/'.$env->urlEmpresa, _PS_SHIP_IMG_DIR_.'/'.(int)$carrier->id.'.jpg');
}
}
}
看來你正在爲一個數組設置一個「字符串」變量。在調用add()函數之前檢查所有變量。 – joseantgv