Подключение файлов css по условию

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

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

Подключение файлов css по условию

Сообщение Woland »

Подскажите, как сделать следующее: пользователь указывает в параметрах bbcode ключевое слово из возможных скажем 10-ти значений, и внутри шаблона (например overall_header.html) происходит подключение нужного файла. Например, пользователь указывает bbcode с параметром:

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

[mybbcode=value1]контекст[mybbcode]
а внутри overall_header.html отрабатывает цепочка условий

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

<!-- IF value1 -->
	<link rel="stylesheet" type="text/css" href="{ROOT_PATH}/myfolder/styles/mycss1.css" />
<!-- ELSEIF value2 -->
	<link rel="stylesheet" type="text/css" href="{ROOT_PATH}/myfolder/styles/mycss2.css" />
<!-- ELSEIF value3 -->
	<link rel="stylesheet" type="text/css" href="{ROOT_PATH}/myfolder/styles/mycss3.css" />
...................
<!-- ELSEIF value10 -->
	<link rel="stylesheet" type="text/css" href="{ROOT_PATH}/myfolder/styles/mycss10.css" />
<!-- ENDIF -->
Как подобным образом сделать, чтобы указание параметра mybbcode=value1 устанавливало значение соответствующей переменной? Ну или устанавливалось значение только одной переменной и она уже анализировалась бы на конкретные значения.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Подключение файлов css по условию

Сообщение Татьяна5 »

Можно сделать без условий

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

[mybbcode={IDENTIFIER}]{TEXT}[/mybbcode]

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

<link rel="stylesheet" type="text/css" href="./myfolder/styles/{IDENTIFIER}.css" /> {TEXT}
Woland
phpBB 1.4.0
Сообщения: 32
Стаж: 13 лет

Re: Подключение файлов css по условию

Сообщение Woland »

Попробовал - не сработал такой способ. Пробовал и {IDENTIFIER} и {IDENTIFIER11} - безрезультатно.
И все-таки, если должно быть условие, то как правильно проверять одну переменную на разные значения в конструкции if ?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Подключение файлов css по условию

Сообщение Татьяна5 »

Woland писал(а):не сработал
{ROOT_PATH} заменить на . (или на путь к форуму, если он расположен не в корне). В коде поправила
Woland писал(а):как правильно проверять одну переменную на разные значения в конструкции if ?

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

<!-- IF x == 1 -->
что-то
<!-- ELSEIF x == 2 -->
еще что-то
<!-- ENDIF -->
Но через ббкод переменную задать невозможно
Woland
phpBB 1.4.0
Сообщения: 32
Стаж: 13 лет

Re: Подключение файлов css по условию

Сообщение Woland »

Татьяна5 писал(а):{ROOT_PATH} заменить на . (или на путь к форуму, если он расположен не в корне). В коде поправила
Так дело в том, что когда указываю конкретное значение:

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

<link rel="stylesheet" type="text/css" href="{ROOT_PATH}/highlight/styles/dark.css" />
то файл подключается. А если

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

[mybbcode=dark]{TEXT}[/mybbcode]
и

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

<link rel="stylesheet" type="text/css" href="{ROOT_PATH}/highlight/styles/{IDENTIFIER}.css" />
, то не работает.
Последний раз редактировалось Woland 26.10.2013 23:35, всего редактировалось 2 раза.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Подключение файлов css по условию

Сообщение Татьяна5 »

Woland писал(а):и

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

<link rel="stylesheet" type="text/css" href="{ROOT_PATH}/highlight/styles/{IDENTIFIER}.css" />
Говорю же, {ROOT_PATH} заменить на .
Переменные из шаблона в ббкодах не обрабатываются

Итоговый код:
BBcode

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

[mybbcode={IDENTIFIER}]{TEXT}[/mybbcode]
Замена HTML

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

<link rel="stylesheet" type="text/css" href="./highlight/styles/{IDENTIFIER}.css" /> {TEXT}
Woland
phpBB 1.4.0
Сообщения: 32
Стаж: 13 лет

Re: Подключение файлов css по условию

Сообщение Woland »

Теперь понял, что Вы html-замену имели ввиду... я просто думал, как мне ветвление if в шаблон вставить, передавая в него переменную для анализа.. но раз переменную нельзя... просто тогда у меня много раз на одной странице будет подключаться один и тот же css-файл (при каждом использовании bbcode с одним и тем же передаваемым параметром).

Вернуться в «Поддержка модов для phpBB 3.0.x»