|
|
|
Как лучше реализовать пользовательскую корзину
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, господа! Сейчас нахожусь на дипломировании и защищать диплом мне уже предстоит через 2 дня. Ввиду того, что в качестве среды разработки интернет-каталога мне предложили использовать новый фреймворк CakePHP (2005 года разработки. Информация, которая есть по нему в основном дублируется на других web-сайтах и ее очень мало) и на данный момент я не могу использовать связку сессия - ajax (т.к. по вопросам ajax'а ссылаются на стороннюю библиотеку, ссылка на скачивание расположена в источниках информации. При переходе на этот источник информации ссылка просто не существует). Время очень жмет и разбираться с данным явлением просто уже поздно. Существует ли аналог сессий у javascript? Или хотя бы подтолкните куда копать. Мои мысли: У каждого товара в ячейку "td" (расположена цена товара) вставить идентификатор товара, полученного из базы данных. Далее у каждого товара сделать кнопку и для добавления в корзину пользователя. Сделать проверку на то, был ли добавлен этот товар раньше, если да, тогда количество увеличивается на "1". Все вроде бы ровно, но существует разбивка каталога на страницы и если пользователь прейдет на другую страницу, то данные не сохранятся. Как же продумать это явление уже ума не приложу. Если кто сталкивался с аналогичной проблемой, отпишитесь пожалуйста!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2008, 23:18 |
|
||
|
Как лучше реализовать пользовательскую корзину
|
|||
|---|---|---|---|
|
#18+
Причём здесь какапхп и аякс. Заведи себе на сервере табличку idSession_idTovar_idValue И при любом клике на кнопочку инсерть (апдейти, удаляй) данные. Кстати, ни на какую 1 ничего увеличивать не надо. Надо в конечном итоге группировать по Session_id,Tovar_id. Количество м.б. и в граммах и в литрах, хе-хе. В этом случае пейжинг не помешает. А что бы при клике на кнопку страница не перезагружалась - используй аякс (гугл XmlHttpRequest). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2008, 23:36 |
|
||
|
Как лучше реализовать пользовательскую корзину
|
|||
|---|---|---|---|
|
#18+
trevojnuiСуществует ли аналог сессий у javascript? Сессия - атрибут сервера и управляется сервером приложений (т.е. не веб-сервером, а именно движком, на котором реализован функционал веб-приложения), поэтому никакого отношения к javascript'у иметь не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 02:17 |
|
||
|
Как лучше реализовать пользовательскую корзину
|
|||
|---|---|---|---|
|
#18+
Как уже писал, что ajax'ом не могу воспользоваться. Такой топорный способ вклинивания XmlHttpRequest не проходит. Слишком хитро реализован у данного фреймворка modrewrite. Хотя за идею спасибо... Только додумать ее мне надо, как такие моменты реализовывать... Просто получается, если записи затем не удалять, то скоро такая таблица может разростись до гигантских размеров... А это не есть хорошо.... Может еще идеи есть? Какие нибудь кукисы (не знаю как ими пользоваться)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 08:24 |
|
||
|
Как лучше реализовать пользовательскую корзину
|
|||
|---|---|---|---|
|
#18+
можно и куки - тогда корзина (чего и сколько) хранится целиком на клиенте, а перед заказом Вы достаете оттуда данные и шлете на сервер. JavaScript Cookies P.S. вот это штуковина получится. Трехколесный велосипед с моторчиком. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 08:44 |
|
||
|
Как лучше реализовать пользовательскую корзину
|
|||
|---|---|---|---|
|
#18+
trevojnui...то скоро такая таблица может разростись до гигантских размеров... Гиганская это сколько - миллиарды записей? Вообще-то, могу с уверенностью сказать, что запись без удаления - обычная и правильная практика. Иногда добавляют ещё признак архивности, или, так сказать, "удаляемые" записи инсертят триггером в таблицу архива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 09:33 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=331&tid=1456343]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 297ms |

| 0 / 0 |
