Прикрепить файл к карточке товара в 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); 
?>


Суть модификации такова: если магазин не используется для продажи файлов (музыка, софт и прочее) мы используем стандартный функционал "Загрузок": загружаем нужные нам файлы через меню Каталог->Загруки и прикрепляем их к файлам Связи -> Загрузки. Удобно и просто.


Найдено 5 похожих страниц:

Авторизация через сервис Loginza: Yandex Google Вконтакте Mail.ru Twitter Loginza MyOpenID OpenID WebMoney

Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.

    Оформить заявку
    X

    Привет дорогой друг

    У тебя установлено расширение AdBlock или подобное.
    Добавь мой сайт в белый список, и тем самым внесешь свой вклад в его развитие. Инструкция как отключить AdBlock