Предоставление конечному пользователю определенных правил CSS, которые он может изменять - PullRequest
0 голосов
/ 08 августа 2010

Я бы хотел, чтобы пользователь имел ограниченный доступ к управлению определенными CSS-атрибутами div-ов.Все div-ы будут одинаковыми, у всех будет какое-то имя класса, и они будут отображаться на сайте с правилом стиля пользователя.Так похоже на пользовательскую таблицу стилей CSS, за исключением определенных правил, которые они могут изменить.

Разрешить изменение на:

.className{  
   font:all attributes;  
   all four borders:all attributes;  
   float:cannot change;
}

Будет ли лучшим способом сохранить их в базе данных?Сохранить цвет, ширину границы и т. Д. В базе данных MySQL?Похоже, много, со всей информацией.

Предоставлять пользователю собственный CSS-документ рискованно, и я не хочу, чтобы он мог изменять макет.Я хочу сделать это частью моего сайта, который может использовать любой, не знакомый с CSS.Я хотел бы, чтобы у них был выбор стилей;например, позволить им иметь свою собственную тему на сайте Drupal, но сделать изменения легкими для внесения (например, иметь список предопределенных или что-то в этом роде).Но они также должны иметь полный контроль, если хотят, атрибутов, которые я могу им изменить.

Будет ли предварительная обработка этой информации из базы данных и помещение ее в тег стиля неэффективной?Похоже, много запросов, если только это не было все в одном запросе.

Ответы [ 2 ]

1 голос
/ 08 августа 2010

Вы должны проверить сценарий jQuery UI ThemeRoller , он использует несколько полей, которые передаются через URL. Нажмите на любую из тем слева и посмотрите, что происходит с URL.

Вы можете легко скопировать его в соответствии с вашими потребностями и вместо этого сохранить эти значения в базе данных. Вы можете использовать то же соглашение об именах, если хотите.

Я думаю, это отличное место для старта.

0 голосов
/ 08 августа 2010

Чтобы пользователи могли динамически генерировать и просматривать стили, они должны быть проанализированы с помощью Javascript (или серверной части, чтобы получить хитрость).В любом случае, вы должны каким-то образом извлечь из него правило CSS, так что вы можете сделать это до того, как выбросите его в базу данных.В любом случае вы делаете то, что собирались делать, но избавляете себя от необходимости делать большой стол.

...