Есть любые вопросы, связанные со стилями/темами для phpBB 3.0.x? Задайте их здесь!
pal2k
phpBB 1.0.0
Сообщения: 7 Стаж: 19 лет
Сообщение
pal2k » 20.03.2008 7:40
Код: Выделить всё
<!-- IF not S_USER_LOGGED_IN -->[/b]<span><a href="{U_REGISTER}"><strong>{L_REGISTER}</strong></a></span>
<span><a href="{U_LOGIN_LOGOUT}"><strong>{L_LOGIN_LOGOUT}</strong></a></span>
[b]<!-- ELSE IF S_USER_LOGGED_IN -->[/b]<span><a href="{U_LOGIN_LOGOUT}"><strong>{L_LOGIN_LOGOUT}</strong></a></span>[b]<!-- ENDIF -->
Правельно? Пока не вошел отображается Регистрация и Вход, а когда войдет бедет отображатся Выход.
ЗЫ: Я еще не разобрался с <!-- IF ... -->...<!-- ENDIF -->, может гдето есть мануал
на эту тему?
pal2k
acdcee
phpBB 1.0.0
Сообщения: 2 Стаж: 18 лет 6 месяцев
Сообщение
acdcee » 20.03.2008 13:15
<!-- ELSE IF S_USER_LOGGED_IN --> - у тебя вот в этом блоке проблема
нужно на писать вот так - <!-- ELSEIF S_USER_LOGGED_IN -->
есть блок ELSEIF но не ELSE IF
acdcee
Avanturist
phpBB 1.2.1
Сообщения: 29 Стаж: 18 лет 6 месяцев
Откуда: Уфа
Сообщение
Avanturist » 20.03.2008 13:41
pal2k
Данные конструкции заменяются
на стандартные операторы php интерпретатором php при выполнении функции
compile файла
includes/functions_template.php в следующем фрагменте
Код: Выделить всё
switch ($block_val[1])
{
case 'IF':
$compile_blocks[] = '<?php ' . $this->compile_tag_if($block_val[2], false) . ' ?>';
break;
case 'ELSE':
$compile_blocks[] = '<?php } else { ?>';
break;
case 'ELSEIF':
$compile_blocks[] = '<?php ' . $this->compile_tag_if($block_val[2], true) . ' ?>';
break;
default:
$this->compile_var_tags($block_val[0]);
$trim_check = trim($block_val[0]);
$compile_blocks[] = (!$no_echo) ? ((!empty($trim_check)) ? $block_val[0] : '') : ((!empty($trim_check)) ? $block_val[0] : '');
break;
}
Avanturist
pal2k
phpBB 1.0.0
Сообщения: 7 Стаж: 19 лет
Сообщение
pal2k » 23.01.2009 4:43
Появился еще один вопрос.
Пример:
<!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH --> ... <!-- ENDIF --> - форма поиска не отображается на странице поиска а на остальных отображается.
Вопрос:
Как сделать чтобы отображалась только на главной странице (index.php) а на остальных не отображалось.
pal2k
FladeX
Former team member
Сообщения: 1935 Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз
Сообщение
FladeX » 23.01.2009 5:39
Код: Выделить всё
<!-- IF S_DISPLAY_SEARCH and S_IN_INDEX --> ... <!-- ENDIF -->
попробуйте так
FladeX
pal2k
phpBB 1.0.0
Сообщения: 7 Стаж: 19 лет
Сообщение
pal2k » 23.01.2009 6:01
FladeX
Неработает.
pal2k
Avanturist
phpBB 1.2.1
Сообщения: 29 Стаж: 18 лет 6 месяцев
Откуда: Уфа
Сообщение
Avanturist » 23.01.2009 6:13
pal2k
Советую писать подробнее и без грубых ошибок , что не_ работает? (Выводит поиск не только в индексе, не выводит поиск в индексе, не выводит индекс, выводит не поиск) Кэш очистили?
Avanturist
pal2k
phpBB 1.0.0
Сообщения: 7 Стаж: 19 лет
Сообщение
pal2k » 23.01.2009 7:01
Avanturist
Неотображается нигде.
ЗЫ: Необязательно форма поиска, к примеру просто текст.
pal2k
Avanturist
phpBB 1.2.1
Сообщения: 29 Стаж: 18 лет 6 месяцев
Откуда: Уфа
Сообщение
Avanturist » 23.01.2009 7:07
pal2k
Во-первых, если не поиск, то лучше не ставить условием включенный вывод поиска S_DISPLAY_SEARCH, а сделать так
Во-вторых, вы могли бы фрагмент кода выложить, и как вы хотите, чтобы он работал.
PS вы специально не грамотно пишите?
Avanturist
Izya
Former team member
Сообщения: 408 Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз
Сообщение
Izya » 23.01.2009 7:28
Так ведь такая перемен
на я (S_IN_INDEX) в index.php не определяется... Откуда о
на всплыла? Её нужно добавить к списку
Код: Выделить всё
$template->assign_vars(array(
'TOTAL_POSTS' => sprintf($user->lang[$l_total_post_s], $total_posts),
и т.д. в форме
Izya
pal2k
phpBB 1.0.0
Сообщения: 7 Стаж: 19 лет
Сообщение
pal2k » 23.01.2009 8:09
Izya
Все работает. Спасибо!
pal2k
Skroman
phpBB 1.0.0
Сообщения: 3 Стаж: 17 лет 8 месяцев
Сообщение
Skroman » 03.02.2009 9:40
Подскажите пожалуйста если кто-зна ет, какую переменную должна содержать конструкция <!-- IF ... -->...<!-- ENDIF --> для того чтобы выполнялся внутренний блок при заходе в модераторский раздел? (Просто меню модератора вынес в Overal_footer) :?:
Skroman
Warlock75
Former team member
Сообщения: 1429 Стаж: 18 лет 7 месяцев
Откуда: Москва
Благодарил (а): 50 раз
Поблагодарили: 95 раз
Сообщение
Warlock75 » 03.02.2009 9:44
<!-- IF U_MCP -->...<!-- ENDIF -->
Скопировал бы туда строку и все!
Код: Выделить всё
<!-- IF U_MCP --><p>{CURRENT_TIME} <br />[ <a href="{U_MCP}">{L_MCP}</a> ]</p><!-- ELSEIF S_USER_LOGGED_IN --><p>{CURRENT_TIME}</p><!-- ENDIF -->
Warlock75
Skroman
phpBB 1.0.0
Сообщения: 3 Стаж: 17 лет 8 месяцев
Сообщение
Skroman » 03.02.2009 9:52
Так не получается, <!-- IF U_MCP --> выполнение блока в том случае если у юзера есть доступ в MCP. Я его использую для отображения ссылки на вход в модераторский раздел, а мне же нужно поймать вход в этот раздел, чтобы отобразить менюшку. Нужно установить переменную которая "рождается" внутри MCP :|
Skroman
Oleg NT
Former team member
Сообщения: 450 Стаж: 20 лет 8 месяцев
Откуда: Нижний Тагил
Поблагодарили: 11 раз
Сообщение
Oleg NT » 03.02.2009 10:41
Подсказка: в mcp.php вставить
Код: Выделить всё
$template->assign_vars(array(
'IN_MCP' => true,
));
В шабло
на х использовать <!-- IF IN_MCP -->
Oleg NT