Спасибо большое за помощь.
Я тестировал функцию наложения текста на картинку без опенкарта.
Первый файл содержал текст и имя картинки на которую накладывать текст и передавал переменные файлу img.php который накладывал.
<html>
<body>
<?php
$name = 'ТЕСТ ТЕСТ ТЕСТ';
for ($img = 1; $img <= 10; $img++) { ?>
<img src="img.php?name=<?php echo urlencode($name) ?>&img=<?php echo ($img) ?>" alt="" />
<?php } ?>
</body>
</html>
Второй файл с именем img.php
<?php
$text = urldecode($_GET['name']);
$imgs = ImageCreateFromJPEG(urldecode($_GET['img'].".jpg")); //в opencart расширение jpg надо выкинуть т.к. передается полный путь
$color = imagecolorallocate($imgs, 0, 0, 0);
$font = 'HelveticaRegular.ttf';
imagettftext($imgs, 24, 0, 65, 150, $color, $font, $text);
header('Content-type: image/jpeg');
imagejpeg($imgs, NULL, 100);
imagedestroy($imgs); // Clear Memory
?>
Я хотел текст накладывать на фото товара в карточке категории (catalog/view/theme/default/template/product/category.tpl)
В цикле который выводит товары вставлял
<img src="img.php?name=<?php echo urlencode($product['name']) ?>&img=<?php echo $product['thumb']; ?>" alt="" />
Это несработало.
Как с этого собрать функцию в catalog/controller/product/category.php (если вы про этот контроллер говорили) совсем не понимаю.
Попробовал
protected function ImageCreateFromJPEG() {
$text = urldecode($product['name']);
$imgs = ImageCreateFromJPEG(urldecode($product['thumb']);
$color = imagecolorallocate($imgs, 0, 0, 0);
$font = 'HelveticaRegular.ttf';
imagettftext($imgs, 24, 0, 65, 150, $color, $font, $text);
header('Content-type: image/jpeg');
//imagejpeg($imgs, NULL, 100);
return (imagejpeg($imgs, NULL, 100));
imagedestroy($imgs); // Clear Memory
}
И потом в шаблоне вызвать
<div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $this->Imag eCreateFromJPEG(); ?>" class="img-responsive" /></a></div>
Так тоже ничего не получилось.