Бесплатный форум: форум поддержки
Добро пожаловать на форум поддержки сервиса Forum2x2 !

Для полноценной работы с форумом,
пожалуйста, войдите на форум под своим логином (если вы уже зарегистрированы) или же зарегистрируйтесь.


С нашей помощью вы можете создать форум,
похожий на этот!
Мы в социальных сетях

Правила форума

для обязательного прочтения!


Внимание! Важная информация для РЕГИСТРАЦИИ на форуме:

Пожалуйста, не регистрируйтесь на этом форуме с электронными адресами mail.ru, bk.ru, inbox.ru, list.ru - вам может не прийти письмо со ссылкой активации!
Вы можете воспользоваться адресами типа yandex.ru, rambler.ru, gmail.com и т.д.
Интересные решения
Быстрый переход к сервисам: j-p-g.net Видео фоторедактор Транслит

Изменение текста переменных в блоке "Кто сейчас на форуме"

Предыдущая тема Следующая тема Перейти вниз

Изменение текста переменных в блоке "Кто сейчас на форуме"

Сообщение автор Luz в Вт 2 Окт - 18:58

Данный туториал рассказывает, как изменить текст надписей в блоке "Кто сейчас на форуме" - "Наши пользователи оставили сообщений", "Сейчас посетителей на форуме" и т.д.:





1. Где делать изменения?
Откройте ПА >> Оформление >> Шаблоны >> Общие >> шаблон index_body
Все изменения будут производится именно в этом шбалоне.

(Не забудьте: чтобы иметь доступ к шаблонам, нужно войти на форум под логином создателя (главного администратора) )

2. Базовый код
Для изменения каждой фразы блока "Кто сейчас на форуме" мы будем использовать код общего вида, который будет настраиваться для каждого отдельного случая и заменять каждый раз нужную переменную.

Исходный код таков :

Код:
<span id="name">Соответствует той части "Кто сейчас на форуме", которую вы хотите изменить</span>
    <script type="text/javascript">document.getElementById('name').innerHTML=document.getElementById('name').innerHTML.replace(/текст, который вы хотите заменить/,"новый текст, заменяющий старый");</script>

3. Доработка кода
Допустим, вы хотите изменить фразу "Наши пользователи оставили сообщений:" на "Всего постов:" .
Чтобы это сделать, нужно найти в шаблоне переменную, отвечающую за эту фразу (разумеется, мы это сделали за вас wink ) и заменить ее нашим кодом, отредактированным под этот конкретный случай.

За фразу "Наши пользователи оставили сообщений:" отвечает переменная {TOTAL_POSTS}.

Подготовим теперь код, который заменит эту переменную:

<span id="name">Соответствует той части "Кто сейчас на форуме", которую вы хотите изменить</span>
<script type="text/javascript">document.getElementById('name').innerHTML=document.getElementById('name').innerHTML.replace(/текст, который вы хотите заменить/,"новый текст, заменяющий старый");</script>

1) Вместо "Соответствует той части "Кто сейчас на форуме", которую вы хотите изменить" подставим {TOTAL_POSTS} , так как именно эту часть кода мы хотим заменить новым кодом:

<span id="name">{TOTAL_POSTS}</span>
<script type="text/javascript">document.getElementById('name').innerHTML=document.getElementById('name').innerHTML.replace(/текст, который вы хотите заменить/,"новый текст, заменяющий старый");</script>


2) В 3 местах этого кода заменим "name" на любое выбранное вами имя.
В нашем примере это будет "lambda" , но вы можете использовать любое название.

<span id="lambda">{TOTAL_POSTS}</span>
<script type="text/javascript">document.getElementById('lambda').innerHTML=document.getElementById('lambda').innerHTML.replace(/текст, который вы хотите заменить/,"новый текст, заменяющий старый");</script>

3) Теперь подставьте текст, который вы хотите заменить (в нашем примере - Наши пользователи оставили сообщенийsmile, и новый текст, который вы хотите видеть на форуме вместо старого (Всего постовsmile

<span id="lambda">{TOTAL_POSTS}</span>
<script type="text/javascript">document.getElementById('lambda').innerHTML=document.getElementById('lambda').innerHTML.replace(/Наши пользователи оставили сообщений:/,"Всего постов:");</script>

4. Установка кода в шаблон
Остается подставить полученный код в нужное место шаблона.
Найдите в шаблоне index_body переменную {TOTAL_POSTS} :



и замените
Код:
{TOTAL_POSTS}
на созданный код:

Код:
<span id="lambda">{TOTAL_POSTS}</span>
    <script type="text/javascript">document.getElementById('lambda').innerHTML=document.getElementById('lambda').innerHTML.replace(/Наши пользователи оставили сообщений:/,"Всего постов:");</script>

Сохраните шаблон и опубликуйте его plus .

В результате на форуме показывается нужная фраза :



Внимание: Для правильного функционирования скрипта обратите внимание на следущие пункты:

- Заглавные и прописные буквы должны строго соответствовать тексту
- Отсутствие пробела до и после двоеточия
- Для каждой переменной необходимо выбрать и подставить свое название "name", иначе скрипт не будет работать

5. Список переменных блока "Кто сейчас на форуме", которые вы можете изменить таким образом.

Здесь вы можете найти, какие переменные соответствуют каким элементам блока "Кто сейчас на форуме" :

Код:
{L_WHO_IS_ONLINE} : отвечает за название блока "Кто сейчас на форуме"
{TOTAL_POSTS} : соответствует  тексту "Наши пользователи оставили сообщений:"
{TOTAL_USERS} : соответствует тексту "Всего зарегистрированных пользователей:"
{NEWEST_USER} : соответствует тексту "Последний зарегистрированный пользователь:"
{TOTAL_USERS_ONLINE} : соответствует тексту  "Сейчас посетителей на форуме: 1, из них зарегистрированных: 0, скрытых: 1 и гостей: 0"
{LEGEND} : соответствует тексту "Легенда условных обозначений"
{GROUP_LEGEND} : соответствует группам
{RECORD_USERS} : соответствует тексту "Больше всего посетителей (X) здесь было"
{LOGGED_IN_USER_LIST} : соответствует тексту "Зарегистрированные пользователи: "

6. Изменение нескольких частей фразы
Внимание: вы можете изменить одновременно несколько элементов одного текста.
Допустим, что мы хотим в тексте "Сейчас посетителей на форуме: 1, из них зарегистрированных: 0, скрытых: 1 и гостей: 0" заменить "на форуме" на "в клубе" и "скрытых" на "невидимых".
В нашем базовом коде :
Код:
<span id="name">Соответствует той части "Кто сейчас на форуме", которую вы хотите изменить</span>
    <script type="text/javascript">document.getElementById('name').innerHTML=document.getElementById('name').innerHTML.replace(/текст, который вы хотите заменить/,"новый текст, заменяющий старый");</script>
мы дважды повторим строку скрипта:
Код:
<script type="text/javascript">document.getElementById('name').innerHTML=document.getElementById('name').innerHTML.replace(/текст, который вы хотите заменить/,"новый текст, заменяющий старый");</script>
, каждый скрипт будет отвечать за свой элемент текста.
Подставим нужную переменную вместо "Соответствует той части "Кто сейчас на форуме", которую вы хотите изменить" >> {TOTAL_USERS_ONLINE} (см. наш список переменных wink )
Дадим этому коду имя: name >> omega
Заменим в первом скрипте слова "на форуме" и во втором скрипте слово "скрытых"
<span id="omega">{TOTAL_USERS_ONLINE}</span>
<script type="text/javascript">document.getElementById('omega').innerHTML=document.getElementById('omega').innerHTML.replace(/на форуме/,"в клубе");</script>
<script type="text/javascript">document.getElementById('omega').innerHTML=document.getElementById('omega').innerHTML.replace(/скрытых/,"невидимых");</script>

В итоге получаем:







7. Исключение для переменных, отвечающих за показ дней рождений и пользователей, побывавших на форуме за последние X часов

Описанный выше способ работает не для всех частей блока "Кто сейчас на форуме". Речь идет о следующих переменных:

Код:
{L_CONNECTED_MEMBERS} : соответствует тексту "Пользователи, побывавшие на форуме в последние X часа(ов):"
{L_WHOSBIRTHDAY_TODAY} : соответствует тексту "Сегодня дней рождений нет" или "Сегодня свой день рождения празднуют:"
{L_WHOSBIRTHDAY_WEEK} : соответствует тексту "Дней рождений в ближайшие X дней нет" или "Пользователи, отмечающие свой день рождения в ближайшие X дней:"

Для изменения текста, соответствующего этим переменным, нужно воспользоваться другим способом.


Откройте ПА >> Оформление >> Шаблоны >> Общие >> index_body

Найдите код:

Код:
{L_CONNECTED_MEMBERS}

    {L_WHOSBIRTHDAY_TODAY}

    {L_WHOSBIRTHDAY_WEEK}

И замените его следующим кодом, подставив вместо name любое выбранное вами название идентификатора:

Код:
<tr><td>

    <table id="name" width="100%">

    {L_CONNECTED_MEMBERS}

    {L_WHOSBIRTHDAY_TODAY}

    {L_WHOSBIRTHDAY_WEEK}

    </table>

    </td></tr>


Для примера дадим идентификатору имя "BIRTHDAY":

Код:
<tr><td>

    <table id="BIRTHDAY" width="100%">

    {L_CONNECTED_MEMBERS}

    {L_WHOSBIRTHDAY_TODAY}

    {L_WHOSBIRTHDAY_WEEK}

    </table>

    </td></tr>

Сохраните и опубликуйте ( plus ) шаблон.

Откройте ПА >> Разное >> HTML & Javascript >> Управление кодами Javascript
и создайте новый Javascript plus

Название: любое по вашем усмотрению
Расположение: в оглавлении
Код Javascript:

Код:
jQuery(document).ready(function(){

    var el1 = $('#name');

    el1.html(el1.html().replace('Пользователи, побывавшие на форуме', 'новый текст'));

    var el2 = $('#name');

    el2.html(el2.html().replace('Сегодня дней рождения нет', 'новый текст'));
    el2.html(el2.html().replace('Сегодня свой день рождения празднуют:', 'новый текст'));

    var el3 = $('#name');

    el3.html(el3.html().replace('Дней рождений', 'новый текст'));
    el3.html(el3.html().replace('Пользователи, отмечающие свой день рождения', 'новый текст'));

    });

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



В результате получаем:






© Данный туториал разработан на основе туториала, созданного администратором Celina форума поддержки FOROACTIVO.COM. Любая публикация этого материала без разрешения администрации help.forum2x2.ru запрещается.



Где находится CSS?
Па > Оформление > Цвета > Каскадная таблица стилей CSS


Где искать основные шаблоны?
ПА > Оформление > Шаблоны > Общие настройки


Где находится раздел для подключения скриптов
ПА > Модули > Управление кодами Javascript


avatar
Luz
Администратор
Администратор

Женщина

Сообщения : 16479
Возраст : 43
Регистрация : 2005-03-01
Благодарности : 2569

Без предупреждений

http://help.forum2x2.ru

Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения