13.01.2020, 09:09
|
Профессор
|
|
Регистрация: 18.05.2018
Сообщений: 170
|
|
Сообщение от laimas
|
_marisha, то есть вы вставили на страницу js код (показанный выше), который добавляет кнопку и запрос на добавление товара, а при этом анализа корзины не производится?
|
- код уже есть. Могу приложить файл с 2379 строками
|
|
13.01.2020, 09:15
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Код чего? Если товар добавляется ajax запросом и корзину хранит сервер, то клиент после ответа должен отметить кнопку источник добавления товара "в корзине", а вторую кнопку удалить.
Если сервер отдавая страницу анализирует состояние корзины или клиент ее запрашивает по загрузке страницы, то скрип "интегрированный" не должен добавлять кнопку (дублировать) у тех товаров, которые в корзине.
Разберитесь с тем кто ведает контролем и станет понятно где искать проблему.
|
|
13.01.2020, 11:36
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от _marisha
|
<a href="#"
|
Вам нужно заменить на <button У вас там нет кнопок, но ссылки. Вам нужно исправить, поскольку на самом деле эти ссылки никуда не ведут, не открываются правильно в новой вкладке и они не нужны в закладках!
_marisha, при отрисовке кнопок на странице вам нужно проверить, есть ли товар в корзине, если есть, то писать «В корзине» (и возможно кнопка «убрать из корзины»), если нет, то показывать кнопки «В корзину» и «Покупка в кредит».
Сообщение от laimas
|
почему сервер упорно добавляет добавляет две кнопки?
|
Интересно, почему сервер вообще занимается кнопками?
|
|
14.01.2020, 00:25
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Malleys
|
Интересно, почему сервер вообще занимается кнопками?
|
Я это где-то написал? Ну что ахинею нести, сервер должен заниматься анализом, и да, если он определяет контент, то он и кнопки в том числе будет выводить. Что и как у автора происходит не известно, но уж коли дубликаты, значит кто-то из них двоих, клиент или сервер, просто тупо, без контроля, добавляет кнопки.
|
|
14.01.2020, 03:37
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от laimas
|
Я это где-то написал?
|
Нет, но ваше «почему сервер упорно добавляет две кнопки» подразумевает, что сервер занимается кнопками.
Сообщение от laimas
|
Ну что ахинею нести
|
Давай посмотрим «ахинею» на реальных проектах...
- rAthena. Привожу как пример, поскольку есть исходный код сервера. Заметь, сервер вообще не занимается тем, как должен выглядеть клиент. Сервер занимается состоянием игры, обрабатывает запросы от игроков, присылает клиентам положение игровых персонажей и пр. А клиент (например, на HTML5) основываясь на данных, полученных от сервера, рисует игру и изменяет интерфейс.
- YouTube. Клиентом может быть и веб-страница, и приложение на телефоне и телевизоре, а сервер не занимается рисованием кнопочек и пр. элементов интерфейса, а данными — видео, плейлисты, текст комментариев, каналы и пользователи. (Благодаря этому возможен YouTube API при помощи которого ты можешь сделать свой клиент)
Не «ахинея», а реальная польза и разделение клиент и сервер!
Сообщение от laimas
|
Что и как у автора происходит не известно, но уж коли дубликаты
|
Либо клиент криво рисует кнопки, либо сервер неправильно обрабатывает данные... но увы, там всё намного запутанней запущено (PHP размазан по HTML, который размазан по PHP)
|
|
14.01.2020, 05:31
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Malleys, вы вообще писали полное веб приложение, то есть, включая сторону сервера и клиента? Такое впечатление, что вы занимаетесь чисто теорией, совсем не занимаясь практикой. Какое отношение к конкретной данной теме имеет отношение rAthena, YouTube, если тут речь о магазине и проблеме совсем не касающейся кто и как рисует?
Сообщение от Malleys
|
ваше «почему сервер упорно добавляет две кнопки» подразумевает, что сервер занимается кнопками
|
Мое "упорное" базируется на описании проблемы и запросах клиента. А добавление в корзину производится к серверу. Вопрос - кто контролирует корзину? В описании проблемы сказано, что "после обновления страницы" появляется дубликат кнопки. Вопрос - кто нарисовал первую, если добавлением кнопки занимается клиент (судя по коду представленному и описанию)? Вестимо сервер, вот только он вообще не ведает о кнопках и прочей хрени на клиенте, он отдает ему html-код страницы, что для него просто строки. Но не тупо отдает, а занимаясь анализом - товар в корзине, значит html-строка относящаяся к кнопке (или ее содержание) выводится такой, товара нет в корзине, значит иная строка.
Остается разобраться кто тупит - сервер как партизан не отвечает о состоянии корзины, что не похоже, или клиент тупой, добавляет дубликат кнопки не спрашивая сервер о состоянии корзины, что должно быть, или спрашивает, но для проформы, что на 99% вероятно.
Вот и вся суть, разводить лабуду об играх, в которых может быть то-то и то-то, о ютюбах, к чему. Охота чем-то заняться, а не чем? Есть предложение подумать над идей, а вдруг ...
|
|
14.01.2020, 09:21
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от laimas
|
вы вообще писали полное веб приложение, то есть, включая сторону сервера и клиента? Такое впечатление, что вы занимаетесь чисто теорией, совсем не занимаясь практикой.
|
Сообщение от laimas
|
разводить лабуду об играх, в которых может быть то-то и то-то, о ютюбах, к чему.
|
Конечно же делал, вот именно поэтому и сразу вижу, что человек вообще не знает, что такое RPC и REST. Т. е. вместо того, чтобы отделить проблемы интерфейса клиента от проблем хранения данных на сервере, вы считаете совершенно нормальным «прибить гвоздями» клиент к серверу и тем самым закрыть возможность переносимости интерфейса на несколько платформ и улучшить масштабируемость за счет упрощения серверных компонентов. Даже если вам не важны другие платформы, вы закрываете возможность к разработкам новых версии интерфейса или возможностей на сервере (которое выльется в то, чтобы пошурундовать в копии «файла с 2379 строками» © _marisha, пост №11)
И вообще, шурундовать в «файле с 2379 строками», в котором PHP обмазан вокруг HTML, CSS, JavaScript, в которых могут быть ещё и вкрапления того самого PHP... Сколько вам нужно ещё там покопаться, чтобы понять, что REST — это не просто теория, а самая настоящая практика, которая избавит вас от этого кошмара!
Что меня ещё смутило, так это то, что используется <a href="#", а не что-то типа <a href="/add-to-cart.php?productId=4075" . Разве последнее не лучше подходит под PHP?
Сообщение от laimas
|
Но не тупо отдает, а занимаясь анализом - товар в корзине, значит html-строка относящаяся к кнопке (или ее содержание) выводится такой, товара нет в корзине, значит иная строка.
|
Это как раз таки задача клиента, причём тут сервер? Сервер должен заниматься в данном случае корзиной и товарами, а не кнопками. Вот, почитайте, должно помочь увидеть свет в конце норы — https://nvoulgaris.com/designing-a-r...shopping-cart/
Сообщение от laimas
|
разводить лабуду об играх, в которых может быть то-то и то-то, о ютюбах, к чему.
|
Там нет таких проблем с «намертво гвоздями прибитым» клиентом к серверу!
Последний раз редактировалось Malleys, 14.01.2020 в 09:24.
|
|
14.01.2020, 09:37
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Malleys
|
вы считаете совершенно нормальным «прибить гвоздями» клиент к серверу и тем самым закрыть возможность переносимости интерфейса на несколько платформ...
Это как раз таки задача клиента, причём тут сервер? Сервер должен заниматься в данном случае корзиной и товарами, а не кнопками.
|
Я говорил о том, что не тупо надо добавлять, а контролировать, а то что вы тут написали, так это ради пустой полемики. Несете какую-то хрень. В теме где явно нужно искать проблемы на севере, о чем и было мной сказано, ваша светлость начала мне нести пургу об Андроиде. Улыбнулся я и забыл, а те кто не теоретики растолковали чаду о Джумле (это я потом в теме прочел). И тут очередная пурга о REST и ... К чему, это как-то касается конкретно этой темы? Могу заключить пари, что к сайту из этой темы это отношения не имеет. Хватить мне лапшу на уши вешать о технологиях, платформах и прочем.
|
|
14.01.2020, 09:52
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от laimas
|
Несете какую-то хрень.
|
Какую? Если ты залетел, а потом стыдно признаться, кто виноват?
Сообщение от laimas
|
И тут очередная пурга о REST
|
Тебе пурга, мне радость, а кому-то радость в отхожем месте копаться, и ещё делать вид, что именно так и надо, и других тянуть и лучше ничего нет.
Сообщение от laimas
|
К чему, это как-то касается конкретно этой темы?
|
Люди должны знать о возможностях, а не так, что человек ничего кроме PHP и jQuery yже не видит... 2020 год, сколько уже можно это мусолить, как будто вам 60+ и вы уже ничего нового не способны выучить, мне 20+ и я таким не страдаю, что и вам советую.
|
|
14.01.2020, 10:09
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Malleys
|
Тебе пурга, мне радость
|
Вот то то и оно, лишь бы языком почесать.
Вышел мужик из избы, почесал свое хозяйство, окинул тоскливым взглядом дрова свои, а что делать, в избе холодно, топить надо. Взял свою "двух ручную дружбу" в одни руки и вжик, вжик, вжик ...
- Слушай, Пятрович.
За калиткой сосед.
- Я вот что хочу тебе рассказать. Знаешь, есть такая пила, зверь, маленькая, а пилит ..., нужно только кнопочку нажать и все. А еще есть штука, сама дрова колет, ага, только что складывать их не умеет, а так прямо как по щучьему велению. А еще есть ...
- Идить ты на ..., Миколай.
Пятрович понимает, что реально он имеет двух ручку, и чтобы не замерзнуть он вынужден пользоваться ею, слушать рассказы ему некогда.
Вот зачастую в темах вы напоминаете мне персонажа за калиткой. А вот когда написанное вами в темах к месту, это и читать интересно.
Займитесь наконец практикой, поостынете с теориями, просто некогда будет.
|
|
|
|