Модератор форума: likbezz  
Скрипты и коды для юкоз - Форум аццкого кодера » Вопросы по верстке, дизайну, управлению и настройки модулей СMS от uCoz » Как сделать... Тема только по сайтам в системе uCoz » Как сделать.... Не сортированные вопросы/ответы на тему ... (Прочее по теме ...)
Как сделать.... Не сортированные вопросы/ответы на тему ...
Дата: Среда, 27.07.2011, 06:27 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Komoff,
Quote (Komoff)
likbezz, а возможно сделать выделение текста в Quote и Code по клику onclick?

Можно.
Точно так же, как и «Как сделать выделение текста в Code по клику?», только добавить ещё и блок цитат (Quote) ...
...


 
Дата: Среда, 27.07.2011, 16:27 |
Diana
Генерал-лейтенант
Группа: Помощники
Сообщений: 606
Награды: 0
Репутация: 20
Статус: Offline


Можно ли как то запретить пользователям ставить ссылки в подписи?
Если убрать подпись из поля "регистрация" то она вообще у всех исчезает.А в панели можно запретить простым пользователям BB коды но ссылки они спокойно лепят.Хотелось бы ограничить только группу пользователи.Некоторые регистрируются и пишут пару сообщений - только из за того что ссылка в подписи на их сайт - это конечно удаляется но хотелось бы чтоб это и не появлялось вовсе.


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


Как реализовать в скрипте "модераторский комментарий" на Форуме подпись модератора? Идея такая:
Code
<?if($PAGE_ID$='threadpage')?>
<script type="text/javascript">
$('td.posttdMessage').each(function(){
$(this).html($(this).html().split('[moder]').join('<fieldset class="moderComment">').split('[/moder]').join('</fieldset>'));
});
</script>
<?endif?>
Этот скрипт при помощи кнопки bb-кода выводит следующую табличку:


Так вот, в табличке хотелось бы вывести подпись модератора, по типу:
Code
<legend style="color:#000000;font-size:7pt;" align="left">Модерация: $_USERNAME$</legend>
, но ни один из условных операторов не подходит, т.к. или выводит имя пользователя, просматривающего страницу, или вообще ничего не выводит surprised

Прикрепления: 5039404.jpg (37.7 Kb)

Сообщение отредактировал Nemuro_J - Пятница, 05.08.2011, 10:35
 
Дата: Пятница, 05.08.2011, 16:36 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Nemuro_J, Руками написать.
Или BB-коды переделать под вот такие:
Code
[moder=Likbezz]текст[/moder]

...


 
Дата: Среда, 10.08.2011, 22:39 |
Elones
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline


Имеется поле со списком за счет поля AOL и форме редактирования персональной информации:
Code
<?if($AOL_FL$)?>
<tr id="siM15"><td class="manTd1" id="siM16">$AOL_SIGN$</td>
<td class="manTd2" id="siM17">
<select id="side" class="manFlaSide" name="aol" size="1"  onChange="side(this.value);">
<option value="1">Светлая</option>
<option value="2">Темная</option>
</select>
</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" />
</td></tr>
<?endif?>

Проблема в том, что опция не запоминается после выбора и сохранения. Например, я выбрал опцию "Светлая", сохранился, решаю снова поменять поле и вижу, что в фокусе по умолчанию осталась 1я опция, а не та, которую я выбирал прежде. К примеру стандартное поле выбора пола запоминается, но через исходный код я не понял чем это объясняется.
Мб есть идеи по этому поводу?


Сообщение отредактировал Elones - Среда, 10.08.2011, 22:41
 
Дата: Среда, 10.08.2011, 22:51 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Elones,
Quote (Elones)
Проблема в том, что опция не запоминается после выбора и сохранения.

А где у вас прописано изменение поля?
У вас его нет.
Поле для AOL имеет вот такой код:
Code
<input type="text" maxlength="30" value="123456789" style="width: 100%;" size="20" name="aol" class="manFlaAOL" id="siF3">

и при изменении значения, изменять нужно параметр «value» ...
Типа так:
Code
<select id="side" class="manFlaSide" name="aol" size="1" onChange="document.getElementById('siF3').value=(this.value);">
<option value="1">Светлая</option>
<option value="2">Темная</option>
</select>

А сам инпут скрыть ....
Типа так:
Code
<script type="text/javascript">document.getElementById('siF3').type='hidden';</script>


Всё вместе, как-то так:

...
Quote (Elones)
Мб есть идеи по этому поводу?

-? ... В смысле?
...

Инфо по теме:
Атрибуты и свойства: реализация, методы и отличия в Internet Explorer
...


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


Quote (likbezz)
А где у вас прописано изменение поля?

Не было. Но и с value я тоже пробовал (убрал наверное из-за безграмотности).

Собственно предложенный вами код выше так же не исправил ситуацию. После очередного захода на страницу редактирования, в фокусе 1я опция, хоть и в данных сохранена 2я.

Вся проблема в том, что данные(значения) то в профиле меняются, но если я, допустим, решу сменить только аватар и при этом не буду повторно выбирать опцию "Темная" (а не "Светлая"), то т.к. "Светлая" по умолчанию весит первая, она и сохранится вместе с аватаром.
И так каждый раз, что либо меня в профиле, приходится вспоминать про это поле, но ведь мы же не переустанавливаем каждый раз дату рождения или пол, меняя другие данные...

Quote (likbezz)
В смысле?

В смысле как исправить ситуацию, как сделать, что бы в поле оставалась заданная опция при очередном редактировании профиля =)

з.ы. на что в принципе влияют id типа "siF3", "siM15" и т.п.? Или это просто то, что остается от стандартного шаблона...


Сообщение отредактировал Elones - Среда, 10.08.2011, 23:39
 
Дата: Среда, 10.08.2011, 23:52 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Elones,
Quote (Elones)
В смысле как исправить ситуацию, как сделать, что бы в поле оставалась заданная опция при очередном редактировании профиля =)

Это уже более конкретный вопрос ... )
- Пропишите условие ... типа:
Code
<?if($AOL_SIGN$='1')?> selected="selected"<?endif?>

... Вообще проблемы не вижу ...

Quote (Elones)
на что в принципе влияют id типа "siF3", "siM15" и т.п.? Или это просто то, что остается от стандартного шаблона...

- «siF3» - это ID инпута, вставляемого системой автоматически, то бишь не редактируемое значение (только скриптом)...
- «siM15» - ID строки в шаблоне, ни на что не влияет.
...


 
Дата: Четверг, 11.08.2011, 00:11 |
Elones
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline


Code
<?if($AOL_SIGN$='1')?> select....

Но ведь переменная "$AOL_SIGN$" отвечает только за слово? То есть не понятно как она будет равна "1"....

Добавлено (11.08.2011, 00:11)
---------------------------------------------
Если я правильно понял:
Code
<script type="text/javascript">document.getElementById('siF3').type='hidden';</script>
<select id="side" class="manFlaSide" name="aol" size="1" onChange="document.getElementById('siF3').value=(this.value);">
   <?if($AOL_SIGN$='1')?>
<option selected="selected" value="1">Светлая</option>
<option value="2">Темная</option>
   <?else?>
<option value="1">Светлая</option>
<option selected="selected" value="2">Темная</option>
   <?endif?>
</select>

Не работает =( Тупо теперь во всех случаях 2я опция остается


Сообщение отредактировал Elones - Четверг, 11.08.2011, 00:12
 
Дата: Четверг, 11.08.2011, 00:35 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Elones,
Quote (Elones)
Но ведь переменная "$AOL_SIGN$" отвечает только за слово?

Точно - не посмотрел ... ))
Quote (Elones)
Если я правильно понял

Не совсем, я не это имел в виду, но и по другому работать не будет - $AOL_SIGN$ - выводит слово, а $AOL_FL$ - целиком инпут, так что вариант только скриптом - проверять значение скрытого инпута и выбирать селект с этим значением.
... И, кстати, я имел имел в виду что родной инпут остаётся, а не заменяется кодом.
Типа:
Code
<td class="manTd2" id="siM11">$AOL_FL$
<script type="text/javascript">document.getElementById('siF3').type='hidden';</script>
<select id="side" class="manFlaSide" size="1" onChange="document.getElementById('siF3').value=(this.value);">
<option value="">-Выбрать-</option>
<option value="1">Светлая</option>
<option value="2">Темная</option>
<option value="3">Другая</option>
</select>
</td>

- Почему? - потому что мы имеем установленное ранее значение, и не изменяем его до тех пор пока не произошло событие onChange - пока не выбрали другое.
... Но в этом случае, всегда будет по умолчанию значение селекта «-Выбрать-», и, если выбор не совершён, ранее выбранное значение остаётся без изменений.
... Скриптом же можно взять значение из скрытого инпута siF3 и выставить селект в это значение - чисто визуально.
...


 
Дата: Четверг, 11.08.2011, 00:59 |
Elones
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline


Да, так работает
Quote (likbezz)
Скриптом же можно взять значение из скрытого инпута siF3 и выставить селект в это значение - чисто визуально.

Хмм.. А если по подробнее?)) Просто не совсем представляю как вытащить скриптом значение...
Просто у меня есть идея типа:
Code
<?if(2)?>Темная<?else?><?if(1)?>Светлая<?endif?><?endif?>


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


Elones,
Quote (Elones)
Хмм.. А если по подробнее?)

Ну, что-то типа вот этого:
Code
<?if($AOL_FL$)?>
<tr id="siM9"><td class="manTd1" id="siM10">$AOL_SIGN$</td>
<td class="manTd2" id="siM11">$AOL_FL$
<select id="aolSel" class="manFlaSide" size="1" onChange="document.getElementById('siF3').value=(this.value);">
<option value="1">Светлая</option>
<option value="2">Темная</option>
<option value="3">Другая</option>
</select>
<script type="text/javascript">
var obj=document.getElementById('siF3'),opt=document.getElementById('aolSel').options,ind=obj.value;
obj.type='hidden';opt[ind-1].setAttribute('selected','selected');
</script>
</td>
</tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

Где:
obj,opt,ind - назначаем переменные:
  • obj - скрытому инпуту;
  • opt - элементам списка (массив элементов);
  • ind - установленное ранее значение скрытого инпута;

obj.type='hidden'; - скрывает системный инпут.

opt[ind-1].setAttribute('selected','selected'); - устанавливаем пункту списка с индексом == ранее установленному значению минус 1 (отсчёт идёт с нуля) атрибут selected в значение «selected» - то бишь выбранному по умолчанию.
... Установленное ранее значение не меняется, пока не совершим новый выбор.
...

Quote (Elones)
Просто у меня есть идея типа:
Code
<?if(2)?>Темная<?else?><?if(1)?>Светлая<?endif?><?endif?>

- Нет, такое работать не будет ...
...


 
Дата: Четверг, 11.08.2011, 02:11 |
Elones
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline


likbezz, замечательно! Работает как так оно и надо biggrin
Quote (likbezz)
Нет, такое работать не будет

Жаль.. но это я навскидку))
з.ы. Если что, то "темная" и "светлая" в моем случае стороны мира Star Wars biggrin


Добавлено (11.08.2011, 02:11)
---------------------------------------------
Скрипт видимо Opera(11.50) не понимает, сказывается тем, что положение не запоминается визуально(-), однако если опцию не трогать, то она и не изменится (+), так же, не сразу срабатывает смена опций (приходится перебирать).
Но во всех остальных браузерах(фф6, хром, ие9; сафари не проверял, но по сути должен как хром) работает исправно.


Сообщение отредактировал Elones - Четверг, 11.08.2011, 02:19
 
Дата: Четверг, 11.08.2011, 06:08 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Elones,
Quote (Elones)
Скрипт видимо Opera(11.50) не понимает, сказывается тем, что положение не запоминается визуально(-), однако если опцию не трогать, то она и не изменится (+), так же, не сразу срабатывает смена опций (приходится перебирать).

Code
<?if($AOL_FL$)?>
<tr id="siM9"><td class="manTd1" id="siM10">$AOL_SIGN$</td>
<td class="manTd2" id="siM11">$AOL_FL$
<select id="aolSel" class="manFlaSide" size="1" onChange="document.getElementById('siF3').value=(this.value);">
<option value="1">Светлая</option>
<option value="2">Темная</option>
<option value="3">Другая</option>
</select>
<script type="text/javascript">
var obj=document.getElementById('siF3'), opt=document.getElementById('aolSel').getElementsByTagName('option'), ind=obj.getAttribute('value');
obj.type='hidden';opt[ind-1].selected='selected';
</script>
</td>
</tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>


- рабочий вариант. Проверено в: IE v7,8; Opera v10, Safari, Chrome ... Firefox ... ヅ ...


...

Прикрепления: aolSel2.txt (0.7 Kb)

 
Дата: Четверг, 11.08.2011, 16:10 |
Elones
Сержант
Группа: Пользователи
Сообщений: 27
Награды: 0
Репутация: 0
Статус: Offline


likbezz, отлично, спасибо! smile

 
Скрипты и коды для юкоз - Форум аццкого кодера » Вопросы по верстке, дизайну, управлению и настройки модулей СMS от uCoz » Как сделать... Тема только по сайтам в системе uCoz » Как сделать.... Не сортированные вопросы/ответы на тему ... (Прочее по теме ...)
Поиск:


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