Динамическое оформление пользовательского интерфейса / тематика - PullRequest
0 голосов
/ 04 апреля 2009

Я занимаюсь веб-сайтом типа электронной коммерции, и у него есть CMS, в которой пользователь-администратор может создавать темы и менять дизайн текущей темы. Я использую JQuery. свойства стиля / темы хранятся в базе данных и извлекаются в XML.

и я использую jquery для манипулирования свойствами CSS страницы, используя свойства xml ..

это практический способ создания динамических тем / стилей? спасибо.

Ответы [ 5 ]

3 голосов
/ 04 апреля 2009

ИМХО, нет.

Если вы хотите, чтобы пользователи могли полностью контролировать CSS на вашем сайте, я бы, вероятно, разрешил им загружать свои собственные файлы CSS и просто перечислял их в БД. Выберите соответствующий файл на стороне сервера и загрузите его. Никакой грязной «вспышки нестандартного содержимого» или зависимостей JS.

Если вы хотите разрешить пользователям редактировать только несколько конкретных элементов, то возможно вы можете сохранить эти конкретные элементы в БД, но вам все равно следует динамически генерировать файл CSS (через PHP или что-то еще). вы) и отправьте это клиенту.

О, а почему вы вообще используете XML? Насколько я могу судить, вы просто добавляете дополнительный уровень сложности безо всяких на то оснований.

1 голос
/ 04 апреля 2009

На сайте, над которым я работал, я начал создавать стили нечетных / четных строк таблицы с помощью jQuery, потому что синтаксис тривиален, как и некоторые другие стили таблиц. Но затем для больших таблиц я начал тестирование производительности и на Firefox 3 (что является приемлемой производительностью для современных браузеров) я тратил целых 200-500 мс (согласно YSlow) на рендеринг страницы, что недопустимо высоко.

Вы хотите сделать как можно больше на сервере - в основном все, что вы можете сделать на сервере во время рендеринга страницы. Так будет намного быстрее.

Сохраните jQuery для вещей, которые вы не можете сделать на сервере.

0 голосов
/ 04 апреля 2009

Как уже прокомментировали другие, если вы хотите, чтобы администратор имел полный контроль над стилем сайта (как предоставляют большинство популярных CMS), вам нужно разрешить администратору загружать свои собственные таблицы стилей или даже шаблоны HTML. Вы также можете включить несколько готовых таблиц стилей и шаблонов для пользователей, которые не могут или не хотят создавать свои собственные.

Я знаю, что некоторые веб-сервисы, такие как LiveJournal и Xanga, имеют ограничительные системы тем, которые позволяют пользователям изменять только цвета и стили шрифта своих личных страниц. Но ИМХО этот тип тематической системы не подходит для бизнес-сайтов. Это дает администратору сайта слишком мало контроля над внешним видом / макетом их сайта. Неважно, насколько хорош ваш основной шаблон. Если все, что вы позволите своим пользователям, это изменить некоторые цвета и стили шрифта вокруг, то у вас все равно останется куча сайтов-резаков, которые выглядят почти одинаково.

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

Однако вы можете включить в CMS генератор CSS для тех администраторов, которые не знают, как написать собственный CSS. Это может быть просто интерфейс мастера, который проведет пользователя через пошаговый процесс создания базовой таблицы стилей.

0 голосов
/ 04 апреля 2009

Почему вы не делаете их на сервере, как это делают большинство CMS? Не уверен, что я понимаю практичность загрузки динамического кода повторной тематики в браузер, когда вы можете просто отправить соответствующую CSS.

Вам также необходимо учитывать случай отсутствия javascript, доступного в некоторых браузерах, а также зависимость от скорости браузера и компьютера пользователя для запуска этого материала. Core 2 Duo, возможно, создаст красивую и быструю тему, но мой нетбук на атомной основе не такой быстрый

0 голосов
/ 04 апреля 2009

jQuery UI - http://jqueryui.com/themeroller/

Библиотека предоставляет стандартный набор виджетов и эффектов, которые вы можете использовать для создания своего интерфейса. Он также поддерживает несколько тем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...