Результат работы скрипта в переменную PHP

1 234
R
На сайте с 19.12.2010
Offline
26
#31
Mad_Man:
А в чём проблема инициализировать запуск JS для всех товаров на странице?

Как? Товары выводятся в цикле и нужно чтобы смена валюты повлияла на все товары

Mad_Man
На сайте с 10.11.2008
Offline
162
#32
Romeoyan:
Как? Товары выводятся в цикле и нужно чтобы смена валюты повлияла на все товары

Ноги мне в рот. Давайте ещё разок: вы точно уверены, что понимаете где выполняется JS, а где PHP? Каким образом цикл вывода на пыхе связан с ценой, которую вы меняете на сайте?

Конкретно по шагам алгоритм набросайте, поток сознания просто зашкаливает.

R
На сайте с 19.12.2010
Offline
26
#33
Mad_Man:
Каким образом цикл вывода на пыхе связан с ценой, которую вы меняете на сайте?

Объясняю. При выполнении команды send(), т.е. при выборе валюты в обработчик передаются 2 значения id товара и value валюты. Обработчик возвращает результат и выводит цену первого товара.

При выводе второго товара в обработчик ничего не попадает, т.к. не было новой команды send() и выводится цена первого товара и так далее.

Так вот, как сделать так, чтобы при выводе товара, не зависимо от того была ли команда send() или нет в обработчик отправлялись переменный id и value

---------- Добавлено 14.04.2014 в 14:38 ----------

Надеюсь понятно объяснил

Mad_Man
На сайте с 10.11.2008
Offline
162
#34
Romeoyan:
Объясняю. При выполнении команды send(), т.е. при выборе валюты в обработчик передаются 2 значения id товара и value валюты. Обработчик возвращает результат и выводит цену первого товара.

При выводе второго товара в обработчик ничего не попадает, т.к. не было новой команды send() и выводится цена первого товара и так далее.

Не совсем ясно когда на сцену выход "второй товар", который не получил своего `send()`. И не совсем понятно почему между выводом первого и второго товара каким-то образом затесался JS вызов.

VE
На сайте с 17.08.2006
Offline
76
#35

ТС, как понимаю, загружаем страницу категории с листингом товаров. И, где-то сверху/сбоку есть переключатель отображения цены в зависимости от валюты.

1.

У вас при загрузке такой страницы или в сессии или в куках должен выставляться тип валюты. Для чего? Чуть позднее.

2.

В head должен быть помещен массив или JSON-объект с данными на текущий момент по курсам, которые действуют на сайте.

Для одной валюты что-то типа:

{1:[rate, symbol, 'after|before']}

Также значение на момент загрузки типа валюты - currency_type

3.

В листинге для каждой позиции пишем, что-то типа

<div id="product-price" data-base-price="значение которое базовое для сайта и относительно которого все пересчитывается">значение, которое формирует PHP-скрипт при загрузке страницы</div>

4.

Пишем JavaScript-функцию change_price(currency_type).

5.

Далее рассматриваем два неотделяемых события.

Страница только загрузилась.

на onLoad or $ready вешаем функцию change_price. Скриптик прошелся и в соответствии с дефолтом поменял ценник на страничке.

Тут мы пользуем jQuery - each. Чтобы всех всколыхнуть, а не только первую позицию :)

Чел поменял тип валюты (onChange="schnge_price(this.select);" // могу ошибаться в синтаксисе, меня кто-нить здесь поправит).

Скриптик пробежался, поменял ценник (сформировать строчку, думаю, сможете) и.... ВНИМАНИЕ - всунул в куки или сессию новый тип валюты, который установлен для данного посетителя.

Ну, это простенькая ajax-функция.

Таким образом при переходе по сайту у чела будет валюта, им выбранная. Пока он не поменяет ее.

ЗЫЖ Хотя если все-равно пишем через ajax выбранный тип валюты, то можно в head массив-объект и не писать, а получить [rate, symbol, after|before] из базы, пройтись по всем, поменяв цену, писАнуть в сессию/куки выбранный тип.

Где-то так. Удачи.

R
На сайте с 19.12.2010
Offline
26
#36

Всем спасибо за ответы, view'er попробую реализовать

1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий