VM 2.x Электронные товары (для загрузки)

blackLeon

Писатель
Регистрация
18 Июн 2012
Сообщения
3
Реакции
0
Как реализовать загрузку электронных товаров?
Виртмарт 2.0.8, не могу проверить работу магазина по продаже электронных товаров или может быть не поддерживается она в данной версии.
Буду благодарен за рекомендации.
 
Разработчики убрали поддержку электронных товаров, она идёт отдельным компонентом, вот например здесь есть
Для просмотра ссылки Войди или Зарегистрируйся. Ещё есть плагин, но простите ссылку потерял, вы можете сами поискать уверен найдёте.
 
Разработчики убрали поддержку электронных товаров, она идёт отдельным компонентом, вот например здесь есть
Для просмотра ссылки Войди или Зарегистрируйся. Ещё есть плагин, но простите ссылку потерял, вы можете сами поискать уверен найдёте.
Наверно, ты имел ввиду этот плагин? Для просмотра ссылки Войди или Зарегистрируйся
Может кто видел бесплатные решения?
 
тоже искал бесплатные решения, в итоги пришлось купить, только время потеряете
 
купил модуль за 300 р. Очень простой в использовании и без всяких заморочек. Ни какой лицензии, ставь куда хочешь. Как сказал разработчик в полной версии за 1500 р. только 1 дополнение - ограничение количества скачиваний товара.
 
Небольшие куски работающего у меня кода для знающих. Это не четкие инструкции, а подсказка.
В начале файла шаблона productdetails/default.php после объявления $document следующий код
PHP:
$db = JFactory::getDBO();
$user = JFactory::getUser();
$user_id = $user->get('id');
$q = 'SELECT o.`modified_on`,o.`virtuemart_order_item_id`,u.`email` FROM `#__virtuemart_order_items` as o LEFT JOIN `#__virtuemart_order_userinfos` as u ON u.virtuemart_user_id = o.created_by WHERE o.`virtuemart_product_id` = "'.$this->product->virtuemart_product_id.'" AND o.`created_by` = "'.$user_id.'" AND [COLOR=#ff0000]o.`order_status` = "S"[/COLOR] LIMIT 1';
$db->setQuery($q);
$order = $db->loadAssocList();
[COLOR=#ff0000]$order = $order[0];[/COLOR]
$date = $order['modified_on'];
/* Let's see if we found the product */
if(JRequest::getCmd( 'layout', 'default' ) == 'file'){
    if (count($this->product->images) > 0) {
        foreach ($this->product->images as $k => $image) {
            if($image->virtuemart_media_id == JRequest::getVar('f')){
               
                // if(((time() - strtotime($date))/60/60/24/31) <= 6){ даем скачивать ~полгода
                if(!empty($date)){
                    $filename = $image->file_name.'.'.$image->file_extension;
                    $filebase = JPATH_BASE.'/[COLOR=#ff0000]path2files[/COLOR]/'.$filename;
                    header("Pragma: public");
                    header('Content-Description: File Transfer');
                    header("Cache-Control: no-cache");
                    header("Content-disposition: attachment; filename=\"$filename\"");
                    header('Expires: 0');
                    header("Content-Transfer-Encoding: binary");
                    header("Content-type: application/zip");
                    header('Content-Length: ' . filesize($filebase));
                    readfile($filebase);
                    die();
                }else{
                    $app = JFactory::getApplication();
                    $app->redirect(JRoute::_('index.php?option=com_virtuemart&view=productdetails'));
                }
            }
        }
    }
}

Потом где-нибудь около корзины выводим ссылку на файл:
PHP:
$payed = false;
if (count($this->product->images) > 0) {
foreach ($this->product->images as $k => $image) {
[COLOR=#ff0000]if($image->file_mimetype == 'application/octet-stream'){[/COLOR]
if(!empty($date)){
echo '<a class="readon inputbox" href="'.JRoute::_('index.php?option=com_virtuemart&view=productdetails&tmpl=raw&layout=file&f='.$image->virtuemart_media_id).'" title="'.JText::_('TPL_COM_VIRTUEMART_DOWNLOAD').'">'.JText::_('TPL_COM_VIRTUEMART_DOWNLOAD').'</a>';
$payed = true; // флаг "куплено", можно не показывать кнопку "купить" в будущем
}
}
}
}

Далеко не идеал, но у меня работает почти год. Уже после я начал находить в базе параметры типо "downloadable", но скрипт уже не правил.
 
Ребята, а кто нибудь поделится самим плагином)?
 
Ребята, а кто нибудь поделится самим плагином)?
Тебе жалко 300 р. на столь ценный плагин? Не жмоться, поддержи отечественного производителя.
Кстати, Яндекс ругается на вирусы на моём сайте. Пока, я грешу именно на срипт скачиваемых товаров. Когда точно выясню точные причины, отпишусь.
 
Назад
Сверху