Новосибирск +7(983)

По всем вопросам :

Телеграм : @radgura

JoomShopping загрузка файла к заказу (чек, реквизиты)

 

Заказать доработку
Joomla 3.x

Стоимость 1800


@radgura.ru
Адриена Лежена
63089
Новосибирск
Адриена Лежена
+7(983)
3067856
Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Статьи

Вы можете Заказать доработку 1800руб. RUB

 

Часто магазину требуется загрузить файлы клиента к заказу, например pdf файл с реквизитами, у joomshopping нет такого функционала, но его можно добавить.

Для загрузки файлов будем использовать aJax библиотеку plupload

1.Размещаем HTML блок для загрузки файлов

<div class="downloaddiv" id="downloaddiv">
<div class="filename filelist" id="filelist"><?php if (!isset($_SESSION['orderfn'])) $_SESSION['orderfn']='';?></div>
<div class="btnfilediv">
<a class="btn filebtns" id="filebtns">Загрузить файл</a>
<small class="filebtns">*Ограничения: не более 5мб; Форматы: zip,rar,pdf,jpg,bmp,png</small>
</div>
<div class="drop-target" id="drop-target" style="display:none">
<input type="hidden" id="siteurl" value="<?php echo JURI::root()?>">
<a id="btnsu" class="btnsu" href="javascript:;"></a>
<a class="uploadfiles" id="uploadfiles" href="javascript:;"></a>
</div>
</div>

 2.Размещаем файлы

  • -для функционала загрузки создаем /js/upfile.js 
  • -размещаем на сайте библиотеку plupload

3.Подключаем файлы в корзине или главной странице, размещать ниже блока из пунтка 1

  • <script src="https://site.ru/plupload/js/plupload.full.min.js"></script>
  • <script src="https://site.ru/js/upfile.js" type="text/javascript"></script>

4.Актуализировать /plupload/../upload.php

  • Подписать актуальные директории
  • Добавить обработку кирилицы в имени файла

5.Добавить колонку fn в таблицу #__jshopping_orders

6.Добавить обработку при сохранении заказа

coponents/com_jshopping/models/checkoutorder.php

функция orderDataSave(&$adv_user, &$post)

if (isset($_SESSION['orderfn']) and strlen($_SESSION['orderfn']))
{
$file=JPATH_ROOT.DS.'tmp'.DS.$_SESSION['orderfn'];
$new_name=JPATH_ROOT.DS.'user_files'.DS.$order->order_id.DS.$_SESSION['orderfn'];
if (!file_exists(JPATH_ROOT.DS.'user_files'.DS.$order->order_id)) {mkdir(JPATH_ROOT.DS.'user_files'.DS.$order->order_id, 0777, true);}
if (rename($file, $new_name))
{
$db->setquery("update #__jshopping_orders set fn='".$order->order_id.DS.$_SESSION['orderfn']."' where order_id='".$order->order_id."' ");$db->execute();
}
}

 7.Сделать вывод ссылок на файл в списке заказов

/admnistrator/com_jshopping/views/order/list.php

echo'<hr style="margin:3px;">Файлы польователя:<br><a href="'.JURI::root().'user_files/'.$row->fn.'" download>'.str_replace($row->order_id.'/','',$row->fn).'</a>';

9.Добавить обработку aJax при добавлении файла

if (isset($_POST['savefiletoorder']))
{
$fn=$_POST['datas'];
$fn=rus2translit_index($fn);
$_SESSION['orderfn']=$fn;
echo 'Файл успешно загружен "'.$fn.'"';
exit();
}

 

Функция обработка в транслит:

Доступ к этому контенту разрешен только участникам проекта.
Вы можете получить доступ,купив эту доработку

Скрипт запуска зарузки upfile.js:

Доступ к этому контенту разрешен только участникам проекта.
Вы можете получить доступ,купив эту доработку

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

Здесь ещё нет оставленных комментариев.

Оставьте свой комментарий

  1. Добавление комментария от гостя.
Вложения (0 / 3)
Share Your Location

Как с нами связаться

По всем вопросам пишите  

Телеграм: @radgura

OnLine заказ

Отправить сообщение

Нажимая на кнопку «Отправить сообщение», я соглашаюсь:
* с условиями публичной оферты
* обработку моих персональных данных


RAD компоненты

Please publish modules in offcanvas position.