2011-04-11 4 views
1

http://www.vector.safwanmanpower.com/внести постоянные изменения в файл css через веб-интерфейс?

Я разрабатывает пакет веб-сайта, этот сайт пакет будет предоставлена ​​сторонним компаниям так, если третья сторона компании хотят изменить цвет фона, шрифта в CSS, чтобы изменить это я создал веб-страницу, где все это свойство css указано, и в текстовом поле они будут выбирать цвет фона, значения шрифта и эти изменения должны влиять на файл css после отправки изменений.

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

enter image description here

+3

В чем вопрос? –

+0

сделать постоянное изменение в файле css через веб-страницу –

+0

Каков ваш конкретный вопрос? Пока вы только описали свою систему, что звучит вполне нормально для меня. Что именно вы спрашиваете сейчас? –

ответ

1

Идея звучит неплохо, но, вероятно, это будет немного работы, и за один единственный ответ. Но так я и подхожу к нему.

Имейте базу данных, в которой хранятся текущие селектор, свойства и значения.

Такие, как:

selector | property | value 
---------+----------+---------- 
div  | color | #FFFFFF 
div  | float | left 

и т.д., и т.д ...

На пользователя подав изменения, выполните следующие действия

1 - Обновление строки в базе данных, например, если я, пользователь, изменяет div на # 440044, а затем обновляет строку, чтобы он читал как таковой:

selector | property | value 
---------+----------+---------- 
div  | color | #440044 
div  | float | left 

2 - Использование PHP (или ваш выбор на стороне сервера язык) вытаскивать содержимое базы данных, организации селектором, используя запрос MySql вдоль линий:

$query = 'SELECT * FROM css ORDER BY selector'; 

3 - Loop через эти ценности, группируя их в массив массивов, как это:

$css_array = array(); 
foreach($rows as $row) { 
    if(! array_key_exists($row['selector'], $css_array)) { 
     $css_array[$row['selector']] = array(); 
    } 
    // push each value onto the sub array 
    $css_array[$row['selector']][] = $row['property'] . ':' . $row['value']; 

} 

Это оставит вас с массивом массивов - каждый суб массив, представляющий собой элемент CSS

array(
    'div' => array(
     'color:#440044', 
     'float:left' 
    ), 
    'h1' => array(
     'font-size:16px' 
    ) 
); 

4 - Используя этот массив и метод лопаются, создать массовую строку, например:

foreach($css_array as $key => $value) { 
    $s .= key . '{'; 
    $s .= implode(';\n', $value); 
    $s .= key . '}'; 
} 

5 - Это должно оставить вас в строку, которая выглядит как обычный CSS лист. Напишите это в файл под названием style.css или аналогичный, используя функции fopen и т. Д. В PHP.

0

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

Этот скрипт должен будет открыть соответствующий файл css, выполнить поиск соответствующей части для изменения, изменить ее и записать измененный файл на диск. Вы можете использовать заявление regex, чтобы найти свойство класса & файла css.

Смежные вопросы