Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Надоело хочу JavaScript корзину
 
 автор: tetris-x   (22.06.2005 в 16:52)   письмо автору
 
 

Не подскажите, где можно содрать корзину на JavaScript , чтоб сумму считала и мегабайты (при достижении 800мегабайт показывало "1 диск". при 1600 два диска ну и так далее. исли 900мегабайт 1диск и 100мегабайт). Сумму считало так 1диск 50рублей (60,,,,,,,). Может есть готовый магазин на JavaScript.
JavaScript я выбрал за то что при добавлении товара в корзину не перерисовывается вся страница, что очень удобно.

   
 
 автор: $OMEGA   (22.06.2005 в 17:01)   письмо автору
 
   для: tetris-x   (22.06.2005 в 16:52)
 

Вот туда родимый и отправляйся: http://www.softtime.ru/forum/index.php?id_forum=4, а если считаешь, что сможешь магазин на JS написать, то мне тебя искренне жаль!!!
PS если грубовато, извиняюсь, я только что с форума на phpclub - там за подобные темы ...

   
 
 автор: tetris-x   (22.06.2005 в 17:48)   письмо автору
 
   для: $OMEGA   (22.06.2005 в 17:01)
 

PS если грубовато, извиняюсь, я только что с форума на phpclub - там за подобные темы ...

Да не стоит извиняться. я сам так общаюсь.(с сарказмом)

[i]магазин на JS написать, то мне тебя искренне жаль!!!

А в чем подвох вроде удобно все на "статичной странице". без лишних перезагрузок?
[/i]

   
 
 автор: Евгений Петров   (22.06.2005 в 17:55)   письмо автору
 
   для: tetris-x   (22.06.2005 в 17:48)
 

Я постараюсь ответить.
В магазине все не должно быть на одной странице, т.е. должны быть "отделы" как в обычном магазине. Все отделы на одну страницу пихать глупо, а если их делать на разных страницах, то какой тут может быть JavScript. Это только один минус...

   
 
 автор: tetris-x   (22.06.2005 в 18:19)   письмо автору
5.3 Кб
 
   для: Евгений Петров   (22.06.2005 в 17:55)
 

А что за технология используется в
http://www.ozon.ru/context/dvd_catalog_list/catalog/1072014/
Там на против каждого товара есть интересная корзина, как она реализована.

Вот посмотри файл. 5килобайт

   
 
 автор: XPraptor   (22.06.2005 в 18:28)   письмо автору
 
   для: tetris-x   (22.06.2005 в 18:19)
 

А при чем их корзина к JavaScript?
Ты скрипт можешь и в php файлах использовать, и там именно так и сделано.
При нажатии на кнопку "в корзину" новое окно php файла в котором при загрузке скриптом подстраивается внешний вид, а код php обрабатывает заказ. У тебя ведь после заказа нигде не появляется кол-во заказанных товаров кроме самого этого окна, значит они в базу добавляются и при открытии этого окна считываются, а это брат PHP + MySQL.

   
 
 автор: Евгений Петров   (22.06.2005 в 18:35)   письмо автору
 
   для: tetris-x   (22.06.2005 в 18:19)
 

Ну и? Нажимаешь на корзину и перезагружается страница.

   
 
 автор: $OMEGA   (22.06.2005 в 18:43)   письмо автору
 
   для: tetris-x   (22.06.2005 в 17:48)
 

Ладно категоии - весь товар можно на одной длиннЮЮЮЮЮЮщей странице выложить! Но с помощью JS - не устся сохранить заказ, разве, что на машине клиента! Не нравится перезагрузка - используй модалки или фреймы.

   
 
 автор: tetris-x   (22.06.2005 в 19:32)   письмо автору
 
   для: $OMEGA   (22.06.2005 в 18:43)
 

Я пытался спросить как сделать в коде усовершенствование при нажатии на сылку чтобы открывалось окошко, (там непосредственно форма заказа, цены) а там табличка ,но никто видно не знает. Ну вот спрашиваюк как сделать так чтобы при нажатии на это

<input name="cart_{$product_info.productID}" type="image" src="images/cart_small.gif" alt="{$smarty.const.ADD_TO_CART_STRING}">
Происходит передача данных, пользователь оповещается об этом и при этом страничка не перерисовывается.
Есть хоть какие нибуть идеи? Видимо нет у меня тоже.



<td width="100" align=center valign=middle bgcolor="#F2F2F2">{* arr 
            to cart *} 
            <form action="index.php?categoryID={$product_info.categoryID}&prdID={$product_info.productID}" method=post
                        name="HiddenFieldsForm_{$product_info.productID}" >
              <div align="center">{if ( $smarty.const.CONF_SHOW_ADD2CART eq 1 
                ) && ( $smarty.const.CONF_CHECKSTOCK==0 || $product_info.in_stock 
                > 0 ) } 
                <input name="cart_{$product_info.productID}" type="image" src="images/cart_small.gif" alt="{$smarty.const.ADD_TO_CART_STRING}">
                {else} &nbsp; {/if} {counter name='select_counter_hidden' start=0 
                skip=1 print=false} {section name=i loop=$product_info.product_extra} 
                {if $product_info.product_extra[i].option_type eq 1} {section 
                name=s loop=$product_info.product_extra[i].option_show_times} 
                <input type=hidden 
                                    name='option_select_hidden_{counter name=select_counter_hidden}_{$product_info.productID}' 
                                    value='1'>
                {/section} {/if} {/section} </div>
            </form>

            </td>

   
 
 автор: Евгений Петров   (22.06.2005 в 20:07)   письмо автору
 
   для: tetris-x   (22.06.2005 в 19:32)
 

Зачем жать на ссылку? Можно сделать CheckBox'ы ими отмечать выбранные товары, а потом по нажатии на кнопку всеэто заносить в корзину.

   
 
 автор: tetris-x   (22.06.2005 в 20:24)   письмо автору
 
   для: Евгений Петров   (22.06.2005 в 20:07)
 

Можно по подробней как сотворить чудо, с CheckBox'сами

   
 
 автор: Евгений Петров   (22.06.2005 в 20:33)   письмо автору
 
   для: tetris-x   (22.06.2005 в 20:24)
 

Ну делаем форму вместо кнопок с надписью "корзина" ставим чекбоксы (один чекбокс один товар)

<form action="page.php" method=post>
<input type="checkbox" name="tovar1">Товар №1<br>
<input type="checkbox" name="tovar2">Товар №2<br>
<input type="checkbox" name="tovar3">Товар №3<br>
<input type=submit value="Добавить выбранное">
</form>

А в сценарии page.php обрабатываем выбранные товары и добавляем их в корзину.

   
 
 автор: Евгений Петров   (22.06.2005 в 20:38)   письмо автору
 
   для: tetris-x   (22.06.2005 в 20:24)
 

Зайди сюда http://www.mp3search.ru/album.html?id=3009 там что то подобное тому что я описал. Напротив каждой песни чекбокс и внизу кнопка "Заказать все выбранные"

   
 
 автор: tetris-x   (22.06.2005 в 21:17)   письмо автору
 
   для: Евгений Петров   (22.06.2005 в 20:38)
 

Именно то что я хотел, теперь буду думать как все это воплотить в жизнь, спасибо за идею Евгений.

   
 
 автор: Евгений Петров   (22.06.2005 в 21:27)   письмо автору
 
   для: tetris-x   (22.06.2005 в 21:17)
 

Я могу прислать пример магазина, точнее как его сделать, но архив весит около 800 kb и сюда я его выложить не могу. Если надо отправлю на мыло.

   
 
 автор: tetris-x   (22.06.2005 в 21:41)   письмо автору
 
   для: Евгений Петров   (22.06.2005 в 21:27)
 

Да очень хотелось бы, я в долгу не останусь.

tetris-x@rambler.ru

   
 
 автор: Евгений Петров   (23.06.2005 в 01:09)   письмо автору
 
   для: tetris-x   (22.06.2005 в 21:41)
 

Отправляю...

   
 
 автор: Евгений Петров   (23.06.2005 в 01:10)   письмо автору
 
   для: tetris-x   (22.06.2005 в 21:41)
 

Кажись отправил :)

   
 
 автор: tetris-x   (23.06.2005 в 05:54)   письмо автору
 
   для: Евгений Петров   (23.06.2005 в 01:10)
 

Прямо щас почту проверяю, чувствую оно самое ко мне ползет.

Да свалится на тебя благодать в огромном количестве чтоб на тысячу жизней хватило.

   
 
 автор: glsv (Дизайнер)   (23.06.2005 в 04:51)   письмо автору
 
   для: tetris-x   (22.06.2005 в 19:32)
 

Для того, чтобы при нажатии на это открывалось новое окно

<input name="cart_{$product_info.productID}" type="image" src="images/cart_small.gif" alt="{$smarty.const.ADD_TO_CART_STRING}">

нужно вставить инструкции JavaScript по открытию этого окна.

<input name="cart_{$product_info.productID}" type="image" src="images/cart_small.gif" alt="{$smarty.const.ADD_TO_CART_STRING}" onclick="opennewwin({$product_info.productID}); return false">

Здесь по событию нажатия на кнопке (onclick) вызывается функция JavaScript с именем opennewwin(). Предварительно, нужно эту функцию написать.

<script language="JavaScript">
  function opennewwin(param)
  {
    window.open("page.php?productID="+param,"", "top=100,left=100,width=500");
  }
</script>

Здесь вы открываете новое окна браузера со страницей page.php и передаете ей в качестве параметра идентификатор выбранного товара (productID).
> чтобы открывалось окошко, (там непосредственно форма заказа, цены)
И вот на странице page.php уже и должны находиться форма заказа и цены.

   
 
 автор: tetris-x   (23.06.2005 в 09:33)   письмо автору
 
   для: glsv (Дизайнер)   (23.06.2005 в 04:51)
 

В коде есть одна строчка за которую можно зацепиться:

<form action="index.php?categoryID={$product_info.categoryID}&prdID={$product_info.productID}" method=post
name="HiddenFieldsForm_{$product_info.productID}" target="_blank" >

Вот она: target="_blank" ,можноли как нибуть поменять это значение на всплывающее окошко, предыдущий способ не сработал.
То что идет за тегом action и есть так называемая корзину с кучей хлама, которую я конечно разгребу.
[поправлено модератором]

   
 
 автор: glsv (Дизайнер)   (24.06.2005 в 05:53)   письмо автору
 
   для: tetris-x   (23.06.2005 в 09:33)
 

>То что идет за тегом action и есть так называемая корзину…
> можноли как нибуть поменять это значение на всплывающее окошко
target="_blank"
Но у вас ведь корзина и так открывается в новом окне. Зачем вам менять одно окно на другое?
Или же нужно именно всплывающее окошко, открываемое методами JavaScript. Нет, здесь поменять нельзя. Нужно работать с кодом, который я прикладывал выше.

>предыдущий способ не сработал.
Ошибки какие-нибудь показывает?

   
 
 автор: tetris-x   (24.06.2005 в 13:17)   письмо автору
 
   для: glsv (Дизайнер)   (24.06.2005 в 05:53)
 

Вот по вашему совету вот что получилось:
как открывал зараза так и открывает по старому, а нужно сплывающее окошко, На новом окошке не подходит ввиду неудобности.
--------------------------------------------------------------->

<td width="50" align=right valign=top> {* arr to cart *}
<form action="index.php?categoryID={$product_info.categoryID}&prdID={$product_info.productID}" method=post
name="HiddenFieldsForm_{$product_info.productID}" >
{if ( $smarty.const.CONF_SHOW_ADD2CART eq 1 ) && ( $smarty.const.CONF_CHECKSTOCK==0
|| $product_info.in_stock > 0 ) }
<input name="cart_{$product_info.productID}" type="image" src="images/cart_small.gif" alt="{$smarty.const.ADD_TO_CART_STRING}" onclick="opennewwin({$product_info.productID}); return false">
{literal}<script language="JavaScript">
function opennewwin(param)
{
window.open(index.php?categoryID={$product_info.categoryID}&prdID={$product_info.productID}, "top=100,left=100,width=500");
}
</script>{/literal}{else} &nbsp; {/if} {counter name='select_counter_hidden' start=0
skip=1 print=false} {section name=i loop=$product_info.product_extra}
{if $product_info.product_extra[i].option_type eq 1} {section name=s
loop=$product_info.product_extra[i].option_show_times}
<input type=hidden
name='option_select_hidden_{counter name=select_counter_hidden}_{$product_info.productID}'
value='1'>
{/section} {/if} {/section} </form></td>

   
 
 автор: glsv (Дизайнер)   (25.06.2005 в 06:25)   письмо автору
 
   для: tetris-x   (24.06.2005 в 13:17)
 

Вы неверно переписали JavaScript
Должно быть написано так:

<script language="JavaScript"> 
function opennewwin(param) 
{
window.open("index.php?categoryID="+{$product_info.categoryID}
+"&prdID="+{$product_info.productID},"","top=100,left=100,width=500");
</script>

Обратите внимание на запятые и кавычки.

   
 
 автор: tetris-x   (25.06.2005 в 06:49)   письмо автору
 
   для: glsv (Дизайнер)   (25.06.2005 в 06:25)
 

Тот-же самый результат:
может там чего лишнего написано ?


<td width="50" align=right valign=top> {* arr to cart *} 
            <form action="index.php?categoryID={$product_info.categoryID}&prdID={$product_info.productID}" method=post
                        name="HiddenFieldsForm_{$product_info.productID}" >
              {if ( $smarty.const.CONF_SHOW_ADD2CART eq 1 ) && ( $smarty.const.CONF_CHECKSTOCK==0 
              || $product_info.in_stock > 0 ) } 
              <input name="cart_{$product_info.productID}" type="image" src="images/cart_small.gif" alt="{$smarty.const.ADD_TO_CART_STRING}" onclick="opennewwin({$product_info.productID}); return false">
              {literal}<script language="JavaScript"> 
  function opennewwin(param) 
  { 
    window.open("index.php?categoryID="+{$product_info.categoryID} 
+"&prdID="+{$product_info.productID},"","top=100,left=100,width=500"); 
</script>{/literal}{else} &nbsp; {/if} {counter name='select_counter_hidden' start=0 
              skip=1 print=false} {section name=i loop=$product_info.product_extra} 
              {if $product_info.product_extra[i].option_type eq 1} {section name=s 
              loop=$product_info.product_extra[i].option_show_times} 
              <input type=hidden 
                                    name='option_select_hidden_{counter name=select_counter_hidden}_{$product_info.productID}' 
                                    value='1'>
              {/section} {/if} {/section} </form></td>

   
 
 автор: glsv (Дизайнер)   (25.06.2005 в 07:15)   письмо автору
 
   для: tetris-x   (25.06.2005 в 06:49)
 

А ошибки какие-нибудь выдает?
Дело в том, что я не могу протестировать ваш код с шаблонами...

В качестве проверки, перепишите вот так.

function opennewwin(param) 
{
  alert("JavaScript работает");
}

Тогда будет видно - вызывается ли вообще эта функция.

   
 
 автор: tetris-x   (25.06.2005 в 07:59)   письмо автору
 
   для: glsv (Дизайнер)   (25.06.2005 в 07:15)
 

Да функция вызывается.

Скажи а нет ли подробного учебника написания магазина, пока разбираю один второй не помещает, с наваротами и всякими прибамбасами (магазин).

   
 
 автор: новичек   (25.06.2005 в 08:28)
 
   для: tetris-x   (25.06.2005 в 07:59)
 

а вот если использовать такой вариант с чекбоксами когда несколько страниц и пользователь идет по ним и отмечает что ему надо, а потом нажимает кнопку формы, как сделать чтобы запомнилось что он отметил на предыдущих страницах ?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования