1 заметка с тегом

user

Пользовательские настройки стиля

Когда-то смотрел стили у XenFocus, и очень понравилась идея с возможностью пользователю самому менять какие-то части стиля. Тот же фон, например. Администратор заливает какие-то картинки на сервер, указывает их в свойствах стиля, а они становятся доступны для выбора пользователем. Или переключатели, позволяющие, к примеру, поменять сторону у сайдбара. Вот был он слева, а стал справа.

Я солидарен с XenFocus, и считаю, что такие вещи не должны выноситься в свойства стиля, которые доступны только администратору, и которые распространяются на всех сразу. Они должны выноситься именно в пользовательские настройки, а пользователь уже сам решает, что ему нужно, а что — нет.

Не забудьте нажать «Demo»!

XenFocus сделал это через JS и хранение в локал сторейдже. Простая, но в то же время неплохая задумка толком не реализована никак отдельно от его стилей. Before this day.
Какое-то время я потратил на реализацию дополнения, реализующего этот же механизм. Но без необходимости конечным администратором писать JS-код. Он пишет только LESS, который и активируется на странице. А дополнение само всё делает :)

Админка
Пользовательская часть

Пока что,

  1. Мы умеем выводить только обычные галочки. При активации которых после сохранения, активируется нужный LESS-код. Именно LESS, не CSS. Но заранее откомпилированный на сервере, и имеющий доступ ко всем свойствам стиля XenForo, если очень нужно.
  2. Админка совсем сырая :(
  3. Кешей нет почти. Каждый запрос к каждой странице провоцирует один дополнительный запрос за включенными настройками. Зато LESS компилируется единожды через стандартный механизм движка.

Из приятного, если сравнивать с реализацией Фокуса: настройки сохраняются на сервере, тут же «бродкастятся» (передаются) в рамках браузера на соседние вкладки с этим же сайтом. На остальных устройствах потребуется или обновить страницу, или спровоцировать любой поход на сервер по AJAX. Как настроили ресурс — так его и видите везде. Ну, почти. Помним про адаптивность, и размеры экранов.

После первоначального релиза, который состоится явно не раньше, чем два последних пункта из списка выше будут поправлены, хотелось бы сделать ещё:

  1. Хранение разных значений настройки для разных стилей.
  2. Возможность делать те или иные настройки — недоступными для некоторых стилей.

Ах да, цена. Я не знаю пока ещё сам, как дополнение будет распространяться. С одной стороны, я выпустил уже много дополнений бесплатно на всеобщее пользование, и некоторые из них реально используются много где (тот же вход через Телегу), с другой — кошелёк мой пустеет с каждым днём, донаты прибывают раз в столетие, а люди порой не понимают, что на дополнение я потратил время, и что было бы неплохо закинуть немного на кофе/пропитание, чтобы хоть как-то восполнить то время, что я потратил фактически на них, а мог пойти запилить что-то кому-то в приват или вообще на работу уйти...
Так что этот вопрос я пока оставлю без ответа.

Если кого-то заинтересовало — ждите релиз на оф. форуме в ближайшее время (неделя-две). А прямо сейчас дополнение можно уже пощупать на HLmod, но потребуется зарегистрироваться (платно, 150р; ценник выставляю вовсе не я).