Forums / National / Russian / Скины и дизайн / Переключение стилей и шаблонов

Ratibor
#1 2009-03-14 16:31
Столкнулся с такой проблеммой, как переключение стилей в Cotonti.

В папке скина создал три разных css: style1.css, style2.css, style3.css

в my_skin.php вписал:

$skin_themes = array(
	'style1' => 'Blue',
	'style2' => 'Green',
	'style3' => 'Gray'
);

В header.tpl за это отвечает строка:
<link href="skins/{PHP.skin}/{PHP.theme}.css" rel="stylesheet" type="text/css" />

По идее все должно работать, но есть нюансы...

Если в config.php вписан дефолтный скин,
то если в профиле пользователя переключиться на my_skin,
то вместо переключения стилей(схемы) получаем фигвам.

А если в config.php вписать:
$cfg['defaultskin'] = 'my_skin';
$cfg['defaulttheme'] = 'style1';

То после этого стили в профиле пользователя переключаются нормально.

Недоработка однако.

Как сие поправить ?

Ну и второе, попрежнему не поправлено дерганье шаблонов из дефолтного скина.

К примеру если в дефолтный скин поместить page.news.tpl,
а в остальных скинах этого файла нет, то он все равно подключится в остальных скинах.
Фигня это.
Не задавай глупых вопросов, не услышишь вранья.
Trustmaster
#2 2009-03-15 12:39
Фигвам заключается вот в чём: после того, как пользователь выбрал другой скин в выпадающем списке, надо подгрузить список доступных для него тем (аяксом либо перезагрузить страницу), иначе список тем остается от старого скина, и новый будет доступен только после перезагрузки.

Подгрузку шаблонов из дефолтного скина надо сделать опциональной, добавив опцию в админке/скинах, которая отключена по умолчанию.
May the Source be with you!
Ratibor
#3 2009-03-15 14:44
# Trustmaster : Фигвам заключается вот в чём: после того, как пользователь выбрал другой скин в выпадающем списке, надо подгрузить список доступных для него тем (аяксом либо перезагрузить страницу), иначе список тем остается от старого скина, и новый будет доступен только после перезагрузки.
Не совсем так.
Ставим чистый сайт на денвер с дефолтным скином, регистрируемся, заходим.
Потом ставим новый скин с тремя стилями.
Выбираем новый скин, жмем Ок.
Скин перегружается, но в выпадающем списке выбора схемы видим только Light.
Хоть тресни, но там только один Light.
Далее прописываем новый скин и первую схему дефолтными.
Обновляем страничку и о чудо, все три схемы доступны для выбора, но сама схема не подгружается,
надо еще раз в профиле нажать Ок.
Теперь после всех этих действий, всегда при смене скина будет уже нормально подгружаться схемы,
даже если назад по дефолту поставить sed-light.
Не задавай глупых вопросов, не услышишь вранья.
esclkm
#4 2009-03-15 15:45
РЕбят подгрузка из дефолтового скина, которую мы сейчас имеем это редкий маразм. Значительно правильнее делать при каждом модуле набор дефолтовых темплейтов. так куда правильнее и логичнее.
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты