X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Добавить свой текст в шаблон (динамический), phpbb2 форум
Robot-sgibatel
Robot-sgibatel
Topic Starter сообщение 18.3.2009, 21:34; Ответить: Robot-sgibatel
Сообщение #1


Вот эта функция (может это и не функция, я не знаю) проверяет в phpbb2 вошел ли человек, или он гость
<!-- BEGIN switch_user_logged_out -->
<a href="{U_REGISTER}">{L_REGISTER}</a>
<!-- END switch_user_logged_out -->

Если гость, то она выдает переменную {L_REGISTER}, это может быть чот-то типа "Вам нужно зарегистрироваться". А если не гость то она ничего не выдает. Мне нужно както примотать туда, чтобы если он вошел, то выдавало какую-нибудь другую переменную (например "Здравствуйте {Имя юзера} "). Из-языков програмирования я знаком только с паскалем, на нем для этого нужен был бы оператор else, что переводится как Иначе. Думаю уже понятно что я хочу, может быть этот код легко изменить, чтобы было такое "Если гость то ... , иначе ....

Если это не так просто как мне кажется, то направьте меня туда, где это можно почитать. Спасибо
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 19.3.2009, 11:16; Ответить: ZiTosS
Сообщение #2


Это помоему ссылка для выхода с авторизации. Там же всё построено на шаблонах. Добавляешь своё {PARAM}, потом ищешь файл к примеру с языками и добавляешь туда переменную к примеру
$language['PARAM'] = "Мой текст";

Пример не бери за основу, я не знаю какие там массивы в языковом файле, сам посмотри и сделай подобное :unsure:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Robot-sgibatel
Robot-sgibatel
Topic Starter сообщение 19.3.2009, 13:44; Ответить: Robot-sgibatel
Сообщение #3


Не понял, куда нужно добавить {PARAM} ?
Вот у меня в языковом файле есть такое
$lang['Register'] = 'Регистрация';

В файле .tpl который содержит шапку есть такое
<!-- BEGIN switch_user_logged_out -->
<a href="{U_REGISTER}">{L_REGISTER}</a>
<!-- END switch_user_logged_out -->

Это работает так: если ты гость, то тебе ссылку на регистрацию, если ты не гость, то тебе ничего. Мне нужно, чтобы если ты не гость, то тебе выдавало, допустим, "Привет".
Я пропишу в языковой файл
$lang['PARAM'] = 'Привет';

И куда мне нужно вставить {PARAM} ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 19.3.2009, 18:58; Ответить: ZiTosS
Сообщение #4


Хотя нет, так просто не получится

Смотри, в папке includes находятся модули, которые подключаются в зависимости от нужных данных и функций.
Вот строчки кода, которые показывают как идёт связь между {L_GO} и языковой переменной $lang['Go']
    $template->assign_vars(array(
        'L_GO' => $lang['Go'],
        'L_JUMP_TO' => $lang['Jump_to'],
        'L_SELECT_FORUM' => $lang['Select_forum'],

        'S_JUMPBOX_SELECT' => $boxstring,
        'S_JUMPBOX_ACTION' => append_sid($action))
    );

Вам нужно просто найти кусок кода, где обрабатывается ваш файл *.tpl и вставить в формирование параметров свой
'PARAM' => $lang['ваш_ключ_в_языковом_массиве']
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Robot-sgibatel
Robot-sgibatel
Topic Starter сообщение 19.3.2009, 21:07; Ответить: Robot-sgibatel
Сообщение #5


Я так понял, моя нкция должна быть гдето прописана так : switch_user_logged_out ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 19.3.2009, 22:07; Ответить: ZiTosS
Сообщение #6


Ладно так уж и быть.. не буду вас мучить и покажу куда вставить и как :unsure:
1) В файле language/lang_russian/lang_main.php (русский) и language/lang_english/lang_main.php (английский)
Вставить такую строчку
$lang['Hello_user'] = 'Приветствуем вас, <b>%s</b>';


2) Заходим в шаблон в файл templates/ваш_стиль/overall_header.tpl
Находим такой код
<span class="mainmenu"> <a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a>   <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a>   <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" hspace="3" />{L_LOGIN_LOGOUT}</a> </span></td>

Заменяем его на:
<span class="mainmenu"> {L_HELLO_USER} <a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a>   <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a>   <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" hspace="3" />{L_LOGIN_LOGOUT}</a> </span></td>


3) Далее надо будет немного поправить программную часть.
Открываем файл includes/page_header.php
Ищем
if ( $userdata['session_logged_in'] )
{
    $u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
    $l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}

Заменяем на
if ( $userdata['session_logged_in'] )
{
    $u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
    $l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
    $l_hello_user = $userdata['username'];
}


Затем ищем строку
    'L_LOGIN_LOGOUT' => $l_login_logout,

Вставляем сразу после неё на новой строке
    'L_HELLO_USER' => sprintf($lang['Hello_user'], $l_hello_user),



Всё теперь увидим приветствие перед профилем вида:
Приветствуем вас, логин
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Robot-sgibatel
Robot-sgibatel
Topic Starter сообщение 20.3.2009, 17:02; Ответить: Robot-sgibatel
Сообщение #7


Спасибо ZiTosS за помощь, но у меня там уже все очень сильно переделано, видимо по этому не работает, на дефолте это наверное работать будет.

Свою проблему я уже решил, она была проста до смешного. Функция
<!-- BEGIN switch_user_logged_out -->
Привет
<!-- END switch_user_logged_out -->

Выдает "Привет" гостям, а если ее изменить вот так
<!-- BEGIN switch_user_logged_in -->
Привет
<!-- END switch_user_logged_in -->

То она выдает "Привет" только зарегиным. Исходя из этого можно сделать хорошее и информативное приветствие для пользователей, и просьбу зарегиться для гостей, над этим я сейчас и ломаю голову...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 20.3.2009, 17:26; Ответить: ZiTosS
Сообщение #8


Что ломать, я уже показал как...
То что вы написали:
switch_user_logged_in и switch_user_logged_out никакие не функции, попробуйте их найдите. Это просто одна из возможностей шаблонизации. В зависимости от определённых параметров выводить ту или иную часть файла-шаблона.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Можно ли в старый SEO текст вместо старого домена поставить новый?
0 Tutich 543 17.3.2024, 17:17
автор: Tutich
Открытая тема (нет новых ответов) SEO-текст на главной странице сайта и в категориях
4 boltuk 1168 2.3.2024, 13:00
автор: toplinks
Открытая тема (нет новых ответов) Раскройте свой потенциал заработка с помощью 2x2 Media Network — вашего пути к выгодным предложениям CPA!
Присоединяйтесь к 2x2 Media Network, вашему надежному партнеру в мире
8 2x2MediaLimited 2625 22.2.2024, 6:39
автор: 2x2MediaLimited
Открытая тема (нет новых ответов) 1000 игровых автоматов (демо-версии) для встраивания на свой сайт
Слоты для встраивания
3 VulcanBit 1093 6.12.2023, 19:12
автор: Boymaster
Горячая тема (нет новых ответов) Royal Partners - монетизируй свой траф на самых выгодных условиях!
49 RoyalPartners 15464 20.10.2023, 9:48
автор: RoyalPartners


 



RSS Текстовая версия Сейчас: 19.3.2024, 12:12
Дизайн