Замена стандартных надписей в ajax-окнах
|
|
|
2013-04-30Дата: Вторник, 30.04.2013, 20:04 | Сообщение # 1 |
Рядовой
Группа: Проверенные
Статус: Offline
|
Пытаюсь "пристроить" себе на форум скрипт по замене стандартных надписей в Репутации пользователей. Код <a href="javascript://" onclick="rep_open();">История уважения</a> <script type="text/javascript"> function rep_open(){ new _uWnd('Rh','История уважения',400,250,{autosize:1,closeonesc:1,maxh:300,minh:100,oncontent:function(){ _uWnd.setTitle('Rh','История уважения');
$('td:first').html('Уважение '+ $('td:first').html().split(' ')[1] ); if($('div').html().indexOf('пользователя пуста') != -1){ $('.myWinCont').find('div:contains("История репутации для данного пользователя пуста.")').html('<div style="border: 1px solid rgba(0,0,0,0.30); padding: 7px; color: rgba(0,0,0,0.65); background: rgba(255,255,255,0.25); margin: -5px;">История уважения данного человека не найдена.</div>'); } // uSite.su }},{url:'/index/9-$_USER_ID$'});return false; }; </script>
В моем случае репутации была изменена на наличные / бюджет. Скрипт вроде как встает, при наведении мышой на сумму "денег" я вижу, что при клике должен сработать скрипт. Но когда открывается окошко, мне система пишет "Доступ запрещен". Меняла $_USER_ID$ на $UID$. Окно открывается со всеми внесенными изменениями, но информация отображается только от одного пользователя. Не пойму почему. То есть, я изменила репутацию пользователю №1, стала просматривать репутацию у других пользователей, но у них отображается информация о репутации пользователя №1. При смене $_USER_ID$ на $CUR_USER_ID$, окно открывается без проблем, но естественно, информация только по пользователю, зашедшему на сайт. И такие проблемы как в Виде материалов форума, так и на Персональной странице пользователя.
Буду очень признательна, если подскажете, какой момент я упустила =) P.S. Ссыль на пост игрока, которому меняла репутацию. Просмотр доступен и для гостей.
Сообщение отредактировал WolFoX - Вторник, 30.04.2013, 20:05 | | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 03:04 | Сообщение # 2 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
WolFoX, Буду очень признательна, если подскажете, какой момент я упустила =) Тот, что скрипт предназначен для профиля, а не для форума. У вас с каждому пользователю одинаковая функция прописана, а из множества одинаковых функций, выполняется всегда последняя.
Так что делаем вот так: В шаблон вид материалов форума вот это: Код <a href="javascript://" onclick="rep_open('$UID$');return false;">История уважения</a>
А куда нибудь в шаблон форум общий вид, вот это: Код <script type="text/javascript"> function rep_open(id){ if(!id)return; new _uWnd('Rh','История уважения',400,250,{autosize:1,closeonesc:1,maxh:300,minh:100,oncontent:function(){ _uWnd.setTitle('Rh','История уважения'); $('td:first').html('Уважение '+ $('td:first').html().split(' ')[1] ); if($('div').html().indexOf('пользователя пуста') != -1){ $('.myWinCont').find('div:contains("История репутации для данного пользователя пуста.")').html('<div style="border: 1px solid rgba(0,0,0,0.30); padding: 7px; color: rgba(0,0,0,0.65); background: rgba(255,255,255,0.25); margin: -5px;">История уважения данного человека не найдена.</div>'); }}},{url:'/index/9-'+id});return false; }; </script>
| | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 09:48 | Сообщение # 3 |
Рядовой
Группа: Проверенные
Статус: Offline
|
День добрый! При установке вышло то, что и выше - окно не открывается вообще) причем скрипт не работает и в Профиле пользователя, хотя предназначен для него.
| | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 10:05 | Сообщение # 4 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
WolFoX, При установке вышло то, что и выше - окно не открывается вообще) причем скрипт не работает и в Профиле пользователя, хотя предназначен для него. А куда нибудь в шаблон форум общий вид, вот это: Код <script type="text/javascript"> function rep_open(id){ if(!id)return; new _uWnd('Rh','История уважения',400,250,{autosize:1,closeonesc:1,maxh:300,minh:100,oncontent:function(){ _uWnd.setTitle('Rh','История уважения'); $('td:first').html('Уважение '+ $('td:first').html().split(' ')[1] ); if($('div').html().indexOf('пользователя пуста') != -1){ $('.myWinCont').find('div:contains("История репутации для данного пользователя пуста.")').html('<div style="border: 1px solid rgba(0,0,0,0.30); padding: 7px; color: rgba(0,0,0,0.65); background: rgba(255,255,255,0.25); margin: -5px;">История уважения данного человека не найдена.</div>'); }}},{url:'/index/9-'+id});return false; }; </script> У вас этот скрипт вставлен?
а из множества одинаковых функций, выполняется всегда последняя. ..
| | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 10:21 | Сообщение # 5 |
Рядовой
Группа: Проверенные
Статус: Offline
|
likbezz, к тому моменту, как вы написали, я уже там все менять начала =) но я поняла, в чем была ошибка в Виде материалов - у меня через условные операторы был прописан просмотр репутации для админа отдельно, для пользователей отдельно. Эту часть я поставила только для пользователей, поэтому когда просматривала сама, у меня ничего и не открывалось
Код <a href="javascript://" onclick="rep_open('$UID$');return false;">
Ох, и не внимательная я =) благодарю Вас за помощь! А вот почему в профиле стандартный скрипт срабатывать не хочет, мне тоже не ясно =) пойду дальше копаться.
Сообщение отредактировал WolFoX - Среда, 01.05.2013, 10:24 | | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 10:37 | Сообщение # 6 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
WolFoX, А вот почему в профиле стандартный скрипт срабатывать не хочет, мне тоже не ясно =) Потому что там нет оператора $UID$, но есть $_USER_ID$ ..
| | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 11:06 | Сообщение # 7 |
Рядовой
Группа: Проверенные
Статус: Offline
|
likbezz, перекопала скрипт по новой - при установке стандартного, да и при всех манипуляциях по замене условных операторов окно истории просто не открывается. Если ставить стандартную ссылку системы, все открывается, но, соответственно, без замены слова репутация. Как только ставлю скрипт обратно, окошко перестает всплывать 0_0
| | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 11:17 | Сообщение # 8 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
WolFoX, перекопала скрипт по новой - при установке стандартного, да и при всех манипуляциях по замене условных операторов окно истории просто не открывается.
WolFoX, перекопала скрипт по новой А зачем? я вам дал все готовое - ничего копать не надо, просто аккуратно поставить.
да и при всех манипуляциях по замене условных операторов Какие там условия? .. На форуме $uid$ в профиле $_user_ID$ ..
| | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 12:22 | Сообщение # 9 |
Рядовой
Группа: Проверенные
Статус: Offline
|
likbezz, я сейчас веду речь про отображение на странице профиля пользователя) на самом форуме все, благодаря Вам, прекрасно работает. А при открытии Профиля пользователя отдельной страницей скрипт не вызывается.
Сообщение отредактировал WolFoX - Среда, 01.05.2013, 12:23 | | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 12:27 | Сообщение # 10 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
WolFoX, А при открытии Профиля пользователя отдельной страницей скрипт не вызывается. Для профиля тот же скрипт, только вместо: Код <a href="javascript://" onclick="rep_open('$UID$');return false;">История уважения</a> вот это: Код <a href="javascript://" onclick="rep_open('$_USER_ID$');return false;">История уважения</a>
.. И желательно правильно писать.. и закрывать теги.
..
| | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 12:37 | Сообщение # 11 |
Рядовой
Группа: Проверенные
Статус: Offline
|
likbezz, невнимательность благодарю!
| | |
|
|
2013-05-01Дата: Среда, 01.05.2013, 12:39 | Сообщение # 12 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
И уберите вот этот фрагмент из шаблона форума: Код $(function() {prettyPrint();}); - ошибка - нет такой функции у вас.
И вот это: Код <script type="text/javascript" language="javascript"> var colorID = document.addform.fcolor.options.length; var colors = new Array(); colors[0] = new Array("Мысли","#A52A2A","color:#A52A2A"); for(i=0;i<colors.length;i++) { document.addform.fcolor.options[colorID] = new Option(colors[i][0],colors[i][1]); document.addform.fcolor.options[colorID].setAttribute("style",colors[i][2]); colorID++;} </script>
замените на вот это: Код <script type="text/javascript"> if(document.getElementById('fcolor')){ var colorID = document.addform.fcolor.options.length; var colors = new Array(); colors[0] = new Array("Мысли","#A52A2A","color:#A52A2A"); for(i=0;i<colors.length;i++) { document.addform.fcolor.options[colorID] = new Option(colors[i][0],colors[i][1]); document.addform.fcolor.options[colorID].setAttribute("style",colors[i][2]); colorID++;}}; </script>
| | |
|