Pereiti prie turinio

[opencart] rodo klaidą Division by zero in


Rekomenduojami pranešimai

Sveiki, turiu problemą, kad vis atsiranda klaida.

 

Warning: Division by zero in public_html/vqmod/vqcache/vq2-catalog_controller_extension_module_codezeeltabs.php on line 168

 

Atsidarau failą ir randu ten tokį kodą nurodytoje eilutėje:

$data['latestproducts'][] = array(
				'product_id'  => $result['product_id'],
				'thumb'       => $image,
				'thumb_swap'  => $this->model_tool_image->resize($images , $setting['width'], $setting['height']),
				'name'        => $result['name'],
				'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
				'price'       => $price,
				'special'     => $special,
				'percentsaving' 	 => round((($result['price'] - $result['special'])/$result['price'])*100, 0),
				'tax'         => $tax,
				'rating'      => $rating,
				'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id']),
				'quick'        => $this->url->link('product/quick_view','&product_id=' . $result['product_id'])
			);

 

Gal žinote kur gali būti problema? Klaida pasirodo ne visada.

Redagavo drag84
Nuoroda į pranešimą
Dalintis kituose puslapiuose
if (0 === $result['price']) {
$percentSaving = 0;
} else {	
$percentSaving = round((($result['price'] - $result['special'])/$result['price'])*100, 0);
}

$data['specialproducts'][] = array(

                               'product_id'  => $result['product_id'],

                                       'thumb'   	=> $image,

                                       'thumb_swap'  => $this->model_tool_image->resize($images , $setting['width'], $setting['height']),

                                       'name'        => $result['name'],

                                       'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',

                                       'price'   	=> $price,

                                       'special' 	=> $special,

                                       'percentsaving'          => $percentSaving,

                                       'tax' 		=> $tax,

                                       'rating'      => $rating,

                                       'quick'        => $this->url->link('product/quick_view','&product_id=' . $result['product_id']),

                                       'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'])

                               );

Redagavo NamelessSpy
Nuoroda į pranešimą
Dalintis kituose puslapiuose

if (0 === $result['price']) {
$percentSaving = 0;
} else {	
$percentSaving = round((($result['price'] - $result['special'])/$result['price'])*100, 0);
}

$data['specialproducts'][] = array(

                               'product_id'  => $result['product_id'],

                                       'thumb'   	=> $image,

                                       'thumb_swap'  => $this->model_tool_image->resize($images , $setting['width'], $setting['height']),

                                       'name'        => $result['name'],

                                       'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',

                                       'price'   	=> $price,

                                       'special' 	=> $special,

                                       'percentsaving'          => $percentSaving,

                                       'tax' 		=> $tax,

                                       'rating'      => $rating,

                                       'quick'        => $this->url->link('product/quick_view','&product_id=' . $result['product_id']),

                                       'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'])

                               );

 

Pakeitus kodą kaip tu nurodei, puslapis iš viso neatsidaro.

 

Tai pat kai ši klaida atsiranda, išsitampo nuotraukos straipsnių skiltyje.

Capture.png

Redagavo drag84
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai kokią klaidą rodo, kai neatsidaro puslapis? Jei nerodo puslapy, tai loguose turi rašyt.

Loguose ta pati rasys kad negalima dalyba is nulio ir nurodys line numeri.

 

Pirmiausia isjunk, kad erroru nerodytu ant top of the page, nes nesaugiai darai :D

O siaip extension blogai parasytas, siulyciau is vis kita naudot. Plius parasyk kuri tiksliai yra eilute 168.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Loguose ta pati rasys kad negalima dalyba is nulio ir nurodys line numeri.

 

Pirmiausia isjunk, kad erroru nerodytu ant top of the page, nes nesaugiai darai :D

O siaip extension blogai parasytas, siulyciau is vis kita naudot. Plius parasyk kuri tiksliai yra eilute 168.

 

Tai man įdomu ne prieš, o po to, kai aš daviau kodą :D Nes jei išvis nekrauna puslapio, tai įdomu kame bėda. Nes aš tiesiog pridėjau tikrinimą, ar kaina nėra lygi nuliui, kas turėtų apsaugot nuo division by zero.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Loguose ta pati rasys kad negalima dalyba is nulio ir nurodys line numeri.

 

Pirmiausia isjunk, kad erroru nerodytu ant top of the page, nes nesaugiai darai :D

O siaip extension blogai parasytas, siulyciau is vis kita naudot. Plius parasyk kuri tiksliai yra eilute 168.

 

Tiksli eilutė yra šita:

 'percentsaving' 	 => round((($result['price'] - $result['special'])/$result['price'])*100, 0),

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tiksli eilutė yra šita:

 'percentsaving' 	 => round((($result['price'] - $result['special'])/$result['price'])*100, 0),

 

Matosi modulis/vqmod/ocmod ar dar koks script'as sunkiai gaudosi kode, siūlau keisti:

 

'percentsaving'          => round((($price - $special) / $price) * 100, 0),

 

Jei nepadės, cache išsivalyk pilnai

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...