Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

Прайс с полем заказа
« : 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
Просмотров: 3367
Последний ответ 06.01.2020, 00:17:06
от zweisamkeitihr
Онлайн сервис заказа Отзывов на Картах(яндекс, 2gis), соц сетях

Автор baza-otzyvov

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

Автор k4p10

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

Автор mills

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

Автор DamianTrash

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