Поясню на пальцях для тих хто любить флудити
Звідки взятий код?
Мабуть цей, зі стандартного (наголос "стандартного") коду контролера
$data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
'price' => $price,
'special' => $special,
'tax' => $tax,
'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1,
'rating' => $rating,
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id'])
);
Потім якийсь "програміст" робить для свого "функціоналу" Ctrl->C - Ctrl->V і вставляє вище
Гіпотетично... viewed чи specail чи ще щось
$data['products_viewed'][] = array(
...
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id'])
);
І що.. offset "ваш" працювати не буде.
Таких не працюючих "оффсетів" я багато бачив.
offset - це шлях до потенційного багу