$this->data['images'] = array();
$this->data['имя_переменной'] = ...; Таким образом в контроллере инициализируются переменные, которые можно будет использовать во view, что позволит вызывать в шаблоне $имя_переменной
$results = $this->model_catalog_record->getRecordImages($this->request->get['record_id']);
Стрелочки из ооп. В данном случае код означает, что будет выполнена функция getRecordImages из файла /model/catalog/record.php Кстати, откуда у вас такой файл?
foreach ($results as $result) {
Здесь обычная обработка элементов массива. С такими вопросами вам нужно читать маны по php по функции foreach. К опенкарту это отношения не имеет
$this->data['images'][] = array( 'popup' => $http_image . $result['image'], 'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height')));
А здесь, как я говорил в начале, мы создаём переменную, которую сможем вызывать во view. В данном случае получится переменная $images, которая будет являться массивом.
Ключи массива получат имена popup и thumb, первому присваивается адрес папки с картинками+имя картинки, а второму присваивается результат работы функции resize из файла model/tool/image.php
Массив будет двумерный. Что это значит я объяснять не собираюсь, причина ниже
---
P.S.
Вы не туда пришли постигать азы php. Здесь форум разработчиков опенкарта.
Идите на php.su или php.net, или на phpclub.ru