Помогите с <!-- IF ... -->...<!-- ENDIF -->

Есть любые вопросы, связанные со стилями/темами для phpBB 3.0.x? Задайте их здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
pal2k
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет

Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение pal2k »

Код: Выделить всё

<!-- 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 -->, может гдето есть мануал на эту тему?
acdcee
phpBB 1.0.0
Сообщения: 2
Стаж: 18 лет 6 месяцев

Сообщение acdcee »

<!-- ELSE IF S_USER_LOGGED_IN --> - у тебя вот в этом блоке проблема
нужно написать вот так - <!-- ELSEIF S_USER_LOGGED_IN -->

есть блок ELSEIF но не ELSE IF
Avanturist
phpBB 1.2.1
Сообщения: 29
Стаж: 18 лет 6 месяцев
Откуда: Уфа

Сообщение Avanturist »

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;
			}
pal2k
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение pal2k »

Появился еще один вопрос.
Пример:
<!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH --> ... <!-- ENDIF --> - форма поиска не отображается на странице поиска а на остальных отображается.

Вопрос:
Как сделать чтобы отображалась только на главной странице (index.php) а на остальных не отображалось.
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение FladeX »

Код: Выделить всё

<!-- IF S_DISPLAY_SEARCH and S_IN_INDEX --> ... <!-- ENDIF -->
попробуйте так
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
pal2k
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение pal2k »

FladeX
Неработает.
Avanturist
phpBB 1.2.1
Сообщения: 29
Стаж: 18 лет 6 месяцев
Откуда: Уфа

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение Avanturist »

pal2k
Советую писать подробнее и без грубых ошибок, что не_работает? (Выводит поиск не только в индексе, не выводит поиск в индексе, не выводит индекс, выводит не поиск) Кэш очистили?
pal2k
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение pal2k »

Avanturist
Неотображается нигде.
ЗЫ: Необязательно форма поиска, к примеру просто текст.
Avanturist
phpBB 1.2.1
Сообщения: 29
Стаж: 18 лет 6 месяцев
Откуда: Уфа

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение Avanturist »

pal2k
Во-первых, если не поиск, то лучше не ставить условием включенный вывод поиска S_DISPLAY_SEARCH, а сделать так

Код: Выделить всё

<!-- IF S_IN_INDEX --> ... <!-- ENDIF -->
Во-вторых, вы могли бы фрагмент кода выложить, и как вы хотите, чтобы он работал.
PS вы специально не грамотно пишите?
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение Izya »

Так ведь такая переменная (S_IN_INDEX) в index.php не определяется... Откуда она всплыла? Её нужно добавить к списку

Код: Выделить всё

$template->assign_vars(array(
	'TOTAL_POSTS'	=> sprintf($user->lang[$l_total_post_s], $total_posts),
и т.д.
в форме

Код: Выделить всё

'S_IN_INDEX'		=>	true,
pal2k
phpBB 1.0.0
Сообщения: 7
Стаж: 19 лет

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение pal2k »

Izya
Все работает. Спасибо!
Skroman
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 8 месяцев

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение Skroman »

Подскажите пожалуйста если кто-знает, какую переменную должна содержать конструкция <!-- IF ... -->...<!-- ENDIF --> для того чтобы выполнялся внутренний блок при заходе в модераторский раздел? (Просто меню модератора вынес в Overal_footer) :?:
Аватара пользователя
Warlock75
Former team member
Сообщения: 1429
Стаж: 18 лет 7 месяцев
Откуда: Москва
Благодарил (а): 50 раз
Поблагодарили: 95 раз

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение Warlock75 »

<!-- IF U_MCP -->...<!-- ENDIF -->
Скопировал бы туда строку и все!

Код: Выделить всё

<!-- IF U_MCP --><p>{CURRENT_TIME} <br />[&nbsp;<a href="{U_MCP}">{L_MCP}</a>&nbsp;]</p><!-- ELSEIF S_USER_LOGGED_IN --><p>{CURRENT_TIME}</p><!-- ENDIF -->
Внимательно изучаем форум и чиаем FAQ. 95% всех ответов на возможные вопросы там уже есть!

Правила
Мини FAQ по phpBB 3.1.x/3.2.x/3.3.x
Как устанавливать расширения
Skroman
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 8 месяцев

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение Skroman »

Так не получается, <!-- IF U_MCP --> выполнение блока в том случае если у юзера есть доступ в MCP. Я его использую для отображения ссылки на вход в модераторский раздел, а мне же нужно поймать вход в этот раздел, чтобы отобразить менюшку. Нужно установить переменную которая "рождается" внутри MCP :|
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 20 лет 8 месяцев
Откуда: Нижний Тагил
Поблагодарили: 11 раз

Re: Помогите с <!-- IF ... -->...<!-- ENDIF -->

Сообщение Oleg NT »

Подсказка: в mcp.php вставить

Код: Выделить всё

$template->assign_vars(array(
	'IN_MCP'			=> true,
));
В шаблонах использовать <!-- IF IN_MCP -->

Вернуться в «Стили для phpBB 3.0.x»