-1
외부 웹 서비스를 통해 얻은 통신 회사를 추가하는 모듈을 만들었습니다. 데이터베이스에 대한 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