Новости Joomla

WT View PDF - контент-плагин просмотра PDF для JoomlaПлагин позволяет отображать pdf файлы на...

WT View PDF - контент-плагин просмотра PDF для JoomlaПлагин позволяет отображать pdf файлы на сайте Joomla в виде HTML5 <object>, а так же с помощью javascript библиотеки PDF.js. В этом случае подключите её самостоятельно или используйте плагин web assets WT PDF.js. Укажите путь к файлу в шорт-коде {PDF}path/to/file.pdf{/PDF}.Вы можете указать параметр tmpl в шорт-коде для отображения PDF с выбранным макетом. Например, {PDF tmpl=html5object}path/to/file.pdf{/PDF} . Если параметр tmpl не указан, то PDF-файл будет отображаться с помощью макета, указанного по умолчанию в настройках плагина.Плагин предоставляет 4 макета:- default - pdf-файл встраивается в страницу целиком с помощью библиотеки PDF.js. Требует установленного плагина веб-ассета WT PDF.js.- bootstrap-modal - просмотр файла во всплывающем окне Bootstrap 5. Отображается кнопка, по нажатию на которую открывается модальное окно. Также внизу окна отображается прогресс просмотра текущего файла. Требует установленного плагина веб-ассета WT PDF.js.- html5object - отображение содержимого файла с помощью HTML5 тега <object>. Этот макет не требует установки никаких дополнительных плагинов и отображает содержимое pdf файла в Joomla с помощью стандартного для браузера окна.- uikit-modal - аналогично макету Bootstrap, но с использованием UIkit.Также вы можете создать собственные макеты вывода в папке plugins/content/wtviewpdf/tmpl плагина Joomla.Минимальная версия Joomla - 5.Страница расширенияGitHub расширения👩‍💻 Спасибо за помощь в работе над плагином участнику нашего сообщества - Виталию Некрасову (@vitalik_a).#joomla #расширения

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 3937 Просмотров

Прайс с полем заказа
« : 14.05.2008, 00:36:52 »
Привет Всем!

Может кто подкинет идею как реализовать подобное http://www.martin-shop.ru/page.php?id=126

Заранее спасибо!
*

morph

  • Давно я тут
  • 924
  • 105 / 0
Re: Прайс с полем заказа
« Ответ #1 : 14.05.2008, 05:52:25 »
хак "заказ товара одной кнопкой" и оформить чтоб в виде таблицы выводился список товаров

Re: Прайс с полем заказа
« Ответ #2 : 14.05.2008, 12:09:27 »
Ради такого списка ставить VM? Неужели более простого решения нет?

Re: Прайс с полем заказа
« Ответ #3 : 14.05.2008, 23:29:00 »
Вот придумал, может кому пригодится, правдо все очень замудрено, изподвыподверта:


Файл прайс-листа должен иметь расширение .php или другое, которое веб-сервер воспринимает как расширение php-файла

Этот скрипт необходимо поместить в самое начало файла:
Код
<?
if (isset($_POST['submit'])) {

  $text = "
ФИО; $_POST[fio];;;;;
Контактный телефон; $_POST[phone];;;;;
Контактный e-mail; $_POST[mail];;;;;
Наименование организации;$_POST[name];;;;;
Юридический адрес; $_POST[uad];;;;;
Фактический адрес; $_POST[fad];;;;;
ИНН/КПП; $_POST[inn]/$_POST[kpp];;;;;
Р/С; $_POST[rs];;;;;
БИК; $_POST[bik];;;;;
;;;;;;
Наименование;Артикул;Производитель;Единица измерения;Цена;Количество;Сумма";
foreach ($_POST['num'] as $i => $n) {
 if ($n != "" AND $n != 0) {
   $nm = $_POST['name'][$i];
   $a = $_POST['art'][$i];
   $m = $_POST['manuf'][$i];
   $e = $_POST['ed'][$i];
   $p = $_POST['pr'][$i];
   $s = (round($n*$p*100))/100;
$text .= "
$nm;$a;$m;$e;$p;$n;$s";
 }
}

  $send = mail("mail@yandex.ru", "Заказ", $text, "From: mail@yandex.ru\n");
}
?>

Следующий фрагмент скрипта печатает текст в случае, если заказ успешно отослан. Его надо разместить
в то место, где нужна эта надпись. Её можно заменить на что-то другое:
<?
if (isset($send)) {if ($send) {
print "Заказ отправлен.";
}}
?>

В <head> документа надо добавить следующий яваскрипт:
<script>
<!--
function calc() {
  var spancorr = 0;
  num = document.getElementsByName('num[]');
  pr = document.getElementsByName('pr[]');
  sum = document.getElementsByTagName('span');
  var summ = 0;
  var nsumm = 0;
  for(var i=0; i<num.length; i++) {
   if (!checking(num[i].value, "0")) {num[i].value = ""; sum[i+spancorr].innerHTML = "";}
   else {
    num[i].value = Math.round(num[i].value);
    sum[i+spancorr].innerHTML = (Math.round(num[i].value*pr[i].value*100))/100;
    summ = summ+(Math.round(num[i].value*pr[i].value*100))/100;
    nsumm = nsumm+Math.round(num[i].value);
   }
   if (num[i].value == 0) {num[i].value = ""; sum[i+spancorr].innerHTML = "";}
  }
  document.getElementById('summ').innerHTML = (Math.round(summ*100))/100;
  document.getElementById('nsumm').innerHTML = nsumm;
}

function checking(input, minus) {
  var ok = true;
  check = new Array(11);
  check[0] = "0"; check[1] = "1"; check[2] = "2"; check[3] = "3"; check[4] = "4"; check[5] = "5"; check[6] = "6"; check[7] = "7"; check[8] = "8"; check[9] = "9"; check[10] = "."; check[11] = minus;
  for (var i = 0; i < input.length; i++) {
    var chr = input.charAt(i);
    var found = false;
    for (var j = 0; j < check.length; j++) {
      if (chr == check[j]) found = true;
    }
    if (!found) ok = false;
  }

  return ok;
}
--></script>

В том случае, если в документе имеются теги <span> до начала таблицы с прайсом, их необходимо посчитать
и написать их количество в переменной "var spancorr = 0;".

Вся таблица с прайсом и форма ввода реквизитов должны находиться в одной форме.
<form method=post action="index.php" name='form'>
метод - post, action - ссылается на самого себя, name - не критично.

В каждой строке скрипта необходимо вставить inputы:
<input type=text onChange="calc();" name="num[]"> - поле "количество".
<input type=hidden name="pr[]" value="12.2"> - цена
<input type=hidden name="name[]" value="1"> - наименование
<input type=hidden name="art[]" value="123"> - артикул
<input type=hidden name="ed[]" value="M1"> - единица измерения
<input type=hidden name="manuf[]" value="47"> - производитель

В них в value надо написать соответствующие этой строке прайса значения параметров. Главное - не менять
name.

И тоже в каждой строке вставить
<span name="sum[]"></span> - для суммы по каждой позиции.
Тоже главное - оставить name. Можно вставить class или style.
Все эти теги (inputs and span), относящиеся к одной строке, должны быть вставлены в то место html-а,
где эта строка печатается. Недопустимо, например все hidden-поля вставлять в конец формы, это вызовет путаницу
и некорректную работу скрипта.

В конце таблицы необходимо прописать spanы для отображения общего количества и суммы:
<span id="nsumm"></span> - общее количество
<span id="summ"></span> - сумма.

После этого добавить блок полей для ввода реквизитов (надо оставить name, в том числе и в кнопке submit,
остальное можно менять):
ФИО: <input type=text name=fio><br/>
телефон: <input type=text name=phone><br/>
имайл: <input type=text name=mail><br/>
название: <input type=text name=name><br/>
юр. адрес: <input type=text name=uad><br/>
факт. адрес: <input type=text name=fad><br/>
инн: <input type=text name=inn><br/>
кпп: <input type=text name=kpp><br/>
рс: <input type=text name=rs><br/>
бик: <input type=text name=bik><br/>
<input type=submit name=submit value="Послать">

В данной версии скрипта все введённые в поле "количество" в таблице значения автоматически округляются до целых.
« Последнее редактирование: 15.05.2008, 00:00:25 от beliyadm »

Re: Прайс с полем заказа
« Ответ #4 : 14.05.2008, 23:53:04 »
Вот еще идея по упрощению загрузки прайс-листа:

1. Заполняем в прикрепленном шаблоне только залитые цветом ячейки (ячейки с кодом можно сделать шириной "1" и шрифт белый и 1px - чтобы операторов не смущать. Также лучше запретить редактирование системных ячеек)
2. После заполнения удаляем шапку - первые две верхние строки
3. Выделяем заполненные строки и копируем содержимое
4. Вставляем в блокнот и убираем Tab'ы через Ctrl+H
5. Далее из блокнота вставляем код в скрипт между:

Код
<?
if (isset($_POST['submit'])) {
  //foreach ($_POST as $n => $v) {print "$n - $v <br/>";}
  $text = "
ФИО;$_POST[fio];;;;;
Контактный телефон;$_POST[phone];;;;;
Контактный e-mail;$_POST[mail];;;;;
Наименование организации;$_POST[name];;;;;
Юридический адрес;$_POST[uad];;;;;
Фактический адрес;$_POST[fad];;;;;
ИНН;$_POST[inn];;;;;;
КПП;$_POST[kpp];;;;;;
Р/С;$_POST[rs];;;;;
БИК;$_POST[bik];;;;;
;;;;;;
Наименование;Артикул;Производитель;Единица измерения;Цена;Количество;Сумма";
foreach ($_POST['num'] as $i => $n) {
 if ($n != "" AND $n != 0) {
   $nm = $_POST['alt'][$i];
   $a = $_POST['art'][$i];
   $m = $_POST['manuf'][$i];
   $e = $_POST['ed'][$i];
   $p = $_POST['pr'][$i];
   $s = (round($n*$p*100))/100;
$text .= "
$nm;$a;$m;$e;$p;$n;$s";
 }
}

  $send = mail("disco07@yandex.ru", "Заказ с сайта Реком Инвест", $text, "From: disco07@yandex.ru\n");
}
?>

<?
if (isset($send)) {if ($send) {
print "Заказ отправлен.";
}}
?>

<html>
<head>
<script>
<!--
function calc() {
  var spancorr = 1;
  num = document.getElementsByName('num[]');
  pr = document.getElementsByName('pr[]');
  sum = document.getElementsByTagName('span');
  var summ = 0;
  var nsumm = 0;
  for(var i=0; i<num.length; i++) {
   if (!checking(num[i].value, "0")) {num[i].value = ""; sum[i+spancorr].innerHTML = "";}
   else {
    num[i].value = Math.round(num[i].value);
    sum[i+spancorr].innerHTML = (Math.round(num[i].value*pr[i].value*100))/100;
    summ = summ+(Math.round(num[i].value*pr[i].value*100))/100;
    nsumm = nsumm+Math.round(num[i].value);
   }
   if (num[i].value == 0) {num[i].value = ""; sum[i+spancorr].innerHTML = "";}
  }
  document.getElementById('summ').innerHTML = (Math.round(summ*100))/100;
  document.getElementById('nsumm').innerHTML = nsumm;
}

function checking(input, minus) {
  var ok = true;
  check = new Array(11);
  check[0] = "0"; check[1] = "1"; check[2] = "2"; check[3] = "3"; check[4] = "4"; check[5] = "5"; check[6] = "6"; check[7] = "7"; check[8] = "8"; check[9] = "9"; check[10] = "."; check[11] = minus;
  for (var i = 0; i < input.length; i++) {
    var chr = input.charAt(i);
    var found = false;
    for (var j = 0; j < check.length; j++) {
      if (chr == check[j]) found = true;
    }
    if (!found) ok = false;
  }

  return ok;
}
--></script>
</head>
<body><span></span>
<form method=post action="1.php" name='form'>

СЮДА ВСТАВЛЯЕМ ИЗ БЛОКНОТА

Код
</table>

<b>Количество:</b> <span id="nsumm"></span><br/>
<b>Сумма: </b> <span id="summ"></span><br/><br/>
&nbsp;<div align="left">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td align="right">ФИО: </td>
<td width="10"> &nbsp;</td>
<td><input type=text name=fio size="40" style='border: 1px solid #CC0000'></td>
</tr>
<tr>
<td align="right">Телефон: </td>
<td width="10"> &nbsp;</td>
<td><input type=text name=phone size="40" style='border: 1px solid #CC0000'></td>
</tr>
<tr>
<td align="right">E-mail: </td>
<td width="10"> &nbsp;</td>
<td> <input type=text name=mail size="40" style='border: 1px solid #CC0000'></td>
</tr>
<tr>
<td align="right">Название организации: </td>
<td width="10"> &nbsp;</td>
<td> <input type=text name=name size="40" style='border: 1px solid #CC0000'></td>
</tr>
<tr>
<td align="right">Юр. адрес: </td>
<td width="10"> &nbsp;</td>
<td> <input type=text name=uad size="40" style='border: 1px solid #CC0000'></td>
</tr>
<tr>
<td align="right">Факт. адрес:</td>
<td width="10"> &nbsp;</td>
<td> <input type=text name=fad size="40" style='border: 1px solid #CC0000'></td>
</tr>
<tr>
<td align="right">ИНН: </td>
<td width="10"> &nbsp;</td>
<td> <input type=text name=inn size="40" style='border: 1px solid #CC0000'></td>
</tr>
<tr>
<td align="right">КПП: </td>
<td width="10"> &nbsp;</td>
<td> <input type=text name=kpp size="40" style='border: 1px solid #CC0000'></td>
</tr>
<tr>
<td align="right">Расчетный счет: </td>
<td width="10"> &nbsp;</td>
<td> <input type=text name=rs size="40" style='border: 1px solid #CC0000'></td>
</tr>
<tr>
<td>
<p align="right">БИК:</td>
<td width="10"> &nbsp;</td>
<td> <input type=text name=bik size="40" style='border: 1px solid #CC0000'></td>
</tr>
</table>
</div><br/>
<input type=submit name=submit value="Отправить заказ">
</p>
</form>

Важно:
1. Имя файла должно быть как в теге <form method=post action="1.php" name='form'>
2. Изменил имя переменной с name на alt иначе не работало.

Я, к счастью, не программист, поэтому лучше придумать не мог. А вообще вещь нужная, если кто сможет более оптимально реализовать - будет молодец


[вложение удалено Администратором]
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

J2Store как убрать обязательные поля в форме заказа?

Автор aniangeless

Ответов: 4
Просмотров: 3270
Последний ответ 06.01.2020, 00:17:06
от zweisamkeitihr
Онлайн сервис заказа Отзывов на Картах(яндекс, 2gis), соц сетях

Автор baza-otzyvov

Ответов: 0
Просмотров: 1379
Последний ответ 10.09.2019, 15:34:59
от baza-otzyvov
ошибка со статусом заказа в vm 2.

Автор k4p10

Ответов: 2
Просмотров: 2783
Последний ответ 03.08.2017, 16:13:00
от draff
Как убрать лишние шаги в оформлении заказа? Магазин eshop 1.3.1?

Автор mills

Ответов: 1
Просмотров: 1506
Последний ответ 20.10.2014, 09:57:06
от mills
Форма для заказа на всех страницах.

Автор DamianTrash

Ответов: 8
Просмотров: 2224
Последний ответ 29.06.2012, 14:09:25
от DamianTrash