Фильтр по:
  

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: likbezz  
Скрипты и коды для юкоз - Форум аццкого кодера » Вопросы по верстке, дизайну, управлению и настройки модулей СMS от uCoz » Интернет-магазин » Как вывести переменну $BALANCE$ ИМ на любую страницу? (Решение: JavaScript, Get.)
Как вывести переменну $BALANCE$ ИМ на любую страницу?
Дата: Четверг, 17.11.2011, 22:40 |
slasib
Рядовой
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Статус: Offline


вопрос в следующем, возможно ли $BALANCE$ и спользовать не только на странице /shop/user/1 но и других страницах модуля? Хочу чтобы баланс показывался допустим в шапке сайта, также как "Вы вошли как...", так сказать чтобы всегда перед глазами был)
Если это возможно, и это не слишком сложно, то буду благодарен за скрипт smile

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


Сообщение отредактировал slasib - Четверг, 17.11.2011, 22:42
 
Дата: Четверг, 01.12.2011, 01:14 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


slasib,
Quote (slasib)
вопрос в следующем, возможно ли $BALANCE$ и спользовать не только на странице /shop/user/1 но и других страницах модуля? Хочу чтобы баланс показывался допустим в шапке сайта, также как "Вы вошли как...", так сказать чтобы всегда перед глазами был)

Можно, например вытащить get запросом из той страницу где он есть, и вставить куда нужно ... но под рукой нет магазина, так что конкретнее не напишу.
А оператор $BALANCE$ точно не работает в глоб.блоках? ...


 
Дата: Пятница, 06.01.2012, 21:13 |
slasib
Рядовой
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Статус: Offline


Quote (likbezz)
А оператор $BALANCE$ точно не работает в глоб.блоках? ...

точно, только при переходе на страницу баланса.

могу дать пароль от своего smile либо оплатить подключение


 
Дата: Воскресенье, 08.01.2012, 00:50 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


slasib,
Quote (slasib)
точно, только при переходе на страницу баланса.

Буду знать.
Quote (slasib)
могу дать пароль от своего smile либо оплатить подключение

Ссылку на сайт + тестовый логин и пароль (в личку) если у вас не юНет регистрация.
...


 
Дата: Понедельник, 09.01.2012, 03:11 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


slasib,
Quote (slasib)
вопрос в следующем, возможно ли $BALANCE$ и спользовать не только на странице /shop/user/1 но и других страницах модуля? Хочу чтобы баланс показывался допустим в шапке сайта, также как "Вы вошли как...", так сказать чтобы всегда перед глазами был)

В смысле весь баланс, включая элементы управления, типа «Пополнить» и прочее, или только циферку?



В принципе, это не имеет большого, в техническом плане, значения ....

Прикрепления: 9138342.png (2.7 Kb)

 
Дата: Понедельник, 09.01.2012, 03:58 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Типа, вот так:
В нужное место:
Code
<div><b>Ваш баланс составляет:</b><br /><span id="uBalance"></span></div>
<script type="text/javascript" src="http://likbezz.ru/_source/_js/ext/_getBalance.js"></script>
<script type="text/javascript">getBalance('/shop/user/93');</script>

Где:
getBalance('/shop/user/93'); - вызов функции получения суммы баланса.
Передаём адрес страницы баланса, в данном случае, «/shop/user/93» ....
Адрес страницы нужно формировать операторами. Какими именно - не в курсе, но думаю несложно будет вычислить, что выводит цифру «93» для пользователя «Flesh» ...

Весь блок можно/нужно упаковать в условные операторы, типа:
Code
<?if($USER_LOGGED_IN$)?>
<div><b>Ваш баланс составляет:</b><br /><span id="uBalance"></span></div>
<script type="text/javascript" src="http://likbezz.ru/_source/_js/ext/_getBalance.js"></script>
<script type="text/javascript">getBalance('/shop/user/93');</script>
<?endif?>

...
Скрипт выводит лишь суммы, в цифрах.
Вида:
Quote
Ваш баланс составляет:
0.00руб.

Несложно расширить до ... бесконечности )
При ошибке выведет описание ошибки.
Если не указан URL страницы скрипт не сработает, ошибки не будет.
...

Если есть своя собственная библиотека, скрипт лучше скопировать туда.
...

Сам скрипт ...
...


 
Дата: Понедельник, 09.01.2012, 10:50 |
slasib
Рядовой
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Статус: Offline


Спасибо!!! Все работает)
а getBalance('/shop/user/93') нужно просто getBalance('/shop/user/')


 
Дата: Понедельник, 09.01.2012, 10:59 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


slasib,
Quote (slasib)
Спасибо!!! Все работает)

Чёт не вижу, куда впихнул-то )))
....


 
Дата: Суббота, 28.01.2012, 10:51 |
slasib
Рядовой
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Статус: Offline


Quote (likbezz)
Чёт не вижу, куда впихнул-то )))

я еще не впихнул, :-) только проверял..))) скоро впихну

Добавлено (09.01.2012, 21:54)
---------------------------------------------
все установил новую опцию ))

Добавлено (28.01.2012, 10:51)
---------------------------------------------
А можно еще немного по наглеть? smile
надо как-то "запихнуть" сумму баланса, которую мы берем из переменной $BALANCE$ в substr, для составления условия сравнения суммы баланса с сумой заказа?

Code

<?if(substr($ORDER_TOTAL$,31)*1>'вот здесь баланс привед.  к целому числу'?> Значение 1 <?else?> Значение 2  <?endif?>


или так невозможно?

может плохо объяснил что хочу, как смог... smile


 
Дата: Суббота, 28.01.2012, 11:54 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


slasib,
Quote (slasib)
надо как-то "запихнуть" сумму баланса, которую мы берем из переменной $BALANCE$ в substr, для составления условия сравнения суммы баланса с сумой заказа?

Что-то не очень понятно.
Что с чем сравнивать-то?
Что выводят оба оператора? (ну нет магазина под рукой), точне, что выводит $BALANCE$?

Quote (slasib)
или так невозможно?

Если используемые операторы работают на нужной странице, то возможно.
...
Quote (slasib)
<?if(substr($ORDER_TOTAL$,31)*1>'вот здесь баланс привед. к целому числу'?> Значение 1 <?else?> Значение 2 <?endif?>

В принципе, мысля верная...
Как-то так:
Code
<?if((substr($ORDER_TOTAL$,31)*1)>(substr($BALANCE$,31)*1))?>Значение 1 <?else?>Значение 2 <?endif?>

Только вот это выражение не верное:
substr($BALANCE$,31)
- так как не в курсе что именно выводит оператор $BALANCE$....

Можно даже без лишних скобок:
Code
<?if(substr($ORDER_TOTAL$,31)*1>substr($BALANCE$,31)*1)?>Значение 1 <?else?>Значение 2 <?endif?>

Но со скобками понятнее, где кончаются выражения ...
...

Для примера вот:
Code
<?if((substr('<span class="currentPage79">2</span>',28)*1)>(substr('<span class="currentPage79">2</span>',28)*1))?>Значение 1 <?else?>Значение 2 <?endif?>

... Если в первом спане будет «2» - выведет «Значение 2», если больше «2» - выведет «Значение 1» ...


 
Дата: Суббота, 28.01.2012, 12:12 |
slasib
Рядовой
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Статус: Offline


да это все понятно...

конкретно мне нужно чтобы выводилось на "странице служебных форм"

вот дело в том что на той странице $BALANCE$ не работает...поэтому в продолжении выше постов этой темы и написал...так сказать в догонку по укрощению $BALANCE$ на других страницах модуля ИМ.

(substr($BALANCE$,31)*1)) - это работать не будет, т.к. переменной баланса на той странице нет...

как сделать это через ваши скрипты [/code]которые баланс выводят?

Quote (likbezz)
Что-то не очень понятно.
Что с чем сравнивать-то?
Что выводят оба оператора? (ну нет магазина под рукой), точне, что выводит $BALANCE$?


я хочу чтобы у меня было так....
на странице заказа два способа оплаты ("эл. деньгами" и "с баланса")
допустим заказ на 100 руб., на балансе 50 руб., вот мне и нужно сравнение "50" относительно "100", и если меньше сумма на балансе чем стоимость заказа выводить что-то типа "пополните баланс на 50 руб. и сможете оплатить с баланса"

в личку скину сайт и пароль


 
Дата: Суббота, 28.01.2012, 14:22 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


slasib,
Quote (slasib)
это работать не будет, т.к. переменной баланса на той странице нет...

Тогда это гораздо сложнее, и решение будет не на операторах а на JavaScript/
Результат выполнения JavaScript нельзя вставить в условие, так как условие обрабатывается ДО загрузки страницы, на стороне сервера, а JavaScript на стороне клиента.
...

Quote (slasib)
на странице заказа два способа оплаты ("эл. деньгами" и "с баланса")
допустим заказ на 100 руб., на балансе 50 руб., вот мне и нужно сравнение "50" относительно "100", и если меньше сумма на балансе чем стоимость заказа выводить что-то типа "пополните баланс на 50 руб. и сможете оплатить с баланса"

Вот это условие нужно проверять скриптом, и скриптом же выводить/создавать блок с надписью «пополните баланс на 50 руб» или любой другой.
Баланс, как я помню, мы получили, как получить $ORDER_TOTAL$ - вы в курсе.
Остаётся только сравнить первое со вторым и... вывести результат.

Допустим, «Баланс» у нас в спане с ID == uBalance, а $ORDER_TOTAL$ в спане с ID == uOrderTotal ... результат сравнения будем выводить, например в блок с ID == uUpBalance...
Пишем функцию:
Code
function checkUpBalance(id){
var cn=document.getElementById('uUpBalance'),bl=parseInt(document.getElementById(id).innerHTML),or=parseInt(document.getElementById('uOrderTotal  ').innerHTML);
if(bl<or){var up=or-bl;
   cn='Пополните баланс на '+up+' руб';
}}

И запускаем её после того, как баланс будет получен, то бишь из функции получения что писали чуть ранее.
Добавляем выражение вызова в скрипт:
Quote (JavaScript)
....
success:function(d){tmp=$('div.eTitle',d).html();cont.innerHTML=tmp;setTimeout(function(){checkUpBalance(id);},1000);},
....

Запуск проверки через 1 сек.
...

Quote (slasib)
в личку скину сайт и пароль

Думаю сами справитесь )


 
Дата: Суббота, 28.01.2012, 17:36 |
slasib
Рядовой
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Статус: Offline


Quote (likbezz)
Думаю сами справитесь )

а зря...

я так понимаю, что в страницу вставляем что-то типа этого
Code
<div><span id="uUpBalance"></span></div>  
<script type="text/javascript" src="js/_checkUpBalance.js"></script>  


и в скрипте должны быть функции обработки\получения "uBalance" и "uOrderTotal",
допустим "uBalance" я беру из поста выше, а как мне сумму заказа получить, я ведь ее через переменную получил, как в javascript вывести?

В скриптах я к сожалению как в дремучем лесу sad


 
Дата: Суббота, 28.01.2012, 18:12 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


slasib,
Quote (slasib)
я так понимаю, что в страницу вставляем что-то типа этого

Типа,
Добавляем один пустой блок для результата (uUpBalance), второй для вывода показаний $ORDER_TOTAL$, ну а $BALANCE$ у вас уже выводится.
...

Quote (slasib)
я так понимаю, что в страницу вставляем что-то типа этого

Функцию, checkUpBalance() добавляем в скрипт, что выводит баланс, все равно отдельно от него функция работать не будет.
Тем более, что и вызывается из него.
...

Quote (slasib)
и в скрипте должны быть функции обработки\получения "uBalance" и "uOrderTotal",

Зачем?
Баланс есть - выводили в шапку. Про блок с $ORDER_TOTAL$ написал выше.
Надеюсь $ORDER_TOTAL$ работает на данной странице?
...
Quote (slasib)
а как мне сумму заказа получить

Code
<span id="uOrderTotal" style="display:none;"><?(substr($ORDER_TOTAL$,31)*1)?></span>

...
Если не выводится, брать оттуда же, откуда и баланс. Надеюсь там-то она работает ...
...


 
Дата: Суббота, 28.01.2012, 19:22 |
slasib
Рядовой
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Статус: Offline


Quote (likbezz)
Надеюсь $ORDER_TOTAL$ работает на данной странице?

да

вот делаю так,
это на страницу

Code

<?if($USER_LOGGED_IN$)?>     
<div><b><span> У Вас на балансе: </span></b><span id="uBalance"></span></div>
<script type="text/javascript" src="/js/_getBalance.js"></script>     
<script type="text/javascript">getBalance('/shop/user/');</script>     
     <div><span id="uOrderTotal" style="display:none;"><?(substr($ORDER_TOTAL$,31)*1)?></span>
<span id="uUpBalance"></span></div>      
<?endif?>


это скрипт в файле

Code

/*
Copyright: http://likbezz.ru/
By Cody: Likbezz aka Flesh
Updated Date: 09.01.2012
*/
function getBalance(url,id){
if(url){var url=url,id=id||'uBalance',cont=document.getElementById(id),tmp;
$.ajax({type:'GET',url:url,
beforeSend:function(){cont.innerHTML='<img src="http://likbezz.ru/_source/_ico/loader/aj2.gif" alt="" />';},
success:function(d){tmp=$('div.eTitle',d).html();cont.innerHTML=tmp;},
error:function(a,b){if(b=='error'){cont.innerHTML='<b style="color:#F33;">Извините, но произошла ошибка: «'+a.status+'» '+a.statusText+'!</b>';}}
});};};

function checkUpBalance(id){     
var cn=document.getElementById('uUpBalance'),bl=parseInt(document.getElementById(id).innerHTML),or=parseInt(document.getElementById('uOrderTotal      ').innerHTML);     
if(bl<or){var up=or-bl;     
       cn='Пополните баланс на '+up+' руб';     
}}
success:function(d){tmp=$('div.eTitle',d).html();cont.innerHTML=tmp;setTimeout(function(){checkUpBalance(id);},1000);},     


ничего не выводит, а при добавлении в скрипт "Функцию, checkUpBalance()" баланс перестает отображаться...

что не так делаю? про руки кривые можно не писать, smile сам понимаю...

Добавлено (28.01.2012, 19:22)
---------------------------------------------
или в с код страницы так нужно писать?

Code


<?if($USER_LOGGED_IN$)?>  
<div><b><span> У Вас на балансе: </span></b><span id="uBalance"></span></div>
<script type="text/javascript" src="/js/_getBalance.js"></script>  
<script type="text/javascript">getBalance('/shop/user/');</script>  
<?endif?>

<?if($USER_LOGGED_IN$)?>  
<div><span id="uOrderTotal" style="display:none;"><?(substr($ORDER_TOTAL$,31)*1)?></span>  
<span id="uUpBalance"></span></div>  
<script type="text/javascript" src="/js/_getBalance.js"></script>  
<script type="text/javascript">checkUpBalance('/shop/checkout');</script>    
<?endif?>


но все равно, что-то не так делаю с самим скриптом, т.к. после добавления в него кода, перестает работать отображение баланса...


Сообщение отредактировал slasib - Суббота, 28.01.2012, 19:16
 
Скрипты и коды для юкоз - Форум аццкого кодера » Вопросы по верстке, дизайну, управлению и настройки модулей СMS от uCoz » Интернет-магазин » Как вывести переменну $BALANCE$ ИМ на любую страницу? (Решение: JavaScript, Get.)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:


Мобильная версия