Прикрепить файл к карточке товара в Opencart
Решение найдено на просторах интернета.
Прикрепляем файл (инструкцию) к карточке товара на opencart (тестировалось на openacrt.pro 2.1.0.2.2).
Открываем файл: catalog\controller\product\product.php туда после 279 строки (можно и в другое место) вставляем следующий код:
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_download WHERE product_id = $product_id");
if ($query->rows > 0) {
foreach ($query->rows as $result) {
$download_id = $result["download_id"];
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "download WHERE download_id = $download_id");
foreach ($query->rows as $downaloads) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "download_description WHERE download_id = $download_id");
foreach ($query->rows as $downaload_name) {
$data['file_download'][] = array(
'filename' => $downaloads["filename"],
'mask' => $downaloads["mask"],
'name' => $downaload_name["name"]
);
}
}
}
}
Открываем файл: catalog\view\theme\default\template\product\product.tpl
В нужное место вставляем:
<?php
if (isset($file_download)) {
echo "Документы: ";
foreach ($file_download as $files) {
if($files == end($file_download)) {echo '<a target="_blank" href="download.php?file=' .$files["filename"]. '&name=' .$files["mask"]. '">' .$files["name"]. '</a> ';
} else {
echo '<a target="_blank" href="download.php?file=' .$files["filename"]. '&name=' .$files["mask"]. '">' .$files["name"]. '</a>, ';
}
}
}
?>
В корне создаем файл download.php со следующим содержимым:
<?php
$file = 'system/download/'.$_GET["file"];
$name = $_GET["name"];
header ("Content-Type: application/octet-stream");
header ("Accept-Ranges: bytes");
header ("Content-Length: ".filesize($file));
header ("Content-Disposition: attachment; filename=".$name);
readfile($file);
?>
Суть модификации такова: если магазин не используется для продажи файлов (музыка, софт и прочее) мы используем стандартный функционал "Загрузок": загружаем нужные нам файлы через меню Каталог->Загруки и прикрепляем их к файлам Связи -> Загрузки. Удобно и просто.
Комментарии ()
Вы должны авторизоваться, чтобы оставлять комментарии.