Я создаю шаблон сайта. Этот шаблон я буду использовать для 20 моих сайтов. Я создаю базу данных. Таким образом, когда я хочу его отредактировать, я могу сделать это из своей базы данных, никогда не загружая ничего или не редактируя элемент / свойство на каждой странице.
Я хочу, чтобы можно было поместить свойства css для цвета в мою базу данных. Вот немного моего кода. Этот код является css.
@charset "utf-8"; /* CSS Document */ a { display: block; width: 100%; color: <?php echo $styles_query_result[1]['a_color']; ?>; } a:link { text-decoration: none; color: <?php echo $styles_query_result[1]['a_link']; ?>; } a:visited { text-decoration: none; color: <?php echo $styles_query_result[1]['a_visited']; ?>; }
Теперь, пока стили находятся на главной странице, этот код работает выше. Как только я создаю таблицу стилей и присоединяю ее так, чтобы стили находились в их собственной папке как styles.css, код больше не функционирует. Я не хочу сохранять стили на главной странице.
Как я могу поместить данные в моей базе данных в таблицу стилей, когда стили находятся в их собственном файле и папке. styles.css находится в папке в корне.
Папки / файлы в корне:
index.php (удалены стили с этой страницы)
css (и добавьте стили здесь. styles.css внутри этой папки)
изображений
включает
Заранее спасибо!
Если у вас есть шаблон базы данных, вы можете использовать его для создания файла .css без использования php внутри .css-файла.
Если у вас две таблицы:
Вы можете использовать это для создания файла css. Псевдокод:
<?php //$db = new PDO('mysql:host=localhist;dbname=cms', 'root', 'root'); //$query = $db->query("SELECT * FROM `selector`"); //$query = $query->fetchAll(); $query = array( array('id' => 1, 'selector' => '.thisone'), array('id' => 2, 'selector' => '#thatone'), array('id' => 3, 'selector' => '.body') ); $probs = array( 1 => array( array('id' => 1, 'selector_id' => 1, 'css_element' => 'border', 'element_value' => '1px solid'), array('id' => 2, 'selector_id' => 1, 'css_element' => 'padding', 'element_value' => '10px') ), 2 => array( array('id' => 1, 'selector_id' => 2, 'css_element' => 'border', 'element_value' => '1px solid') ), 3 => array( array('id' => 1, 'selector_id' => 2, 'css_element' => 'width', 'element_value' => '40px'), array('id' => 2, 'selector_id' => 2, 'css_element' => 'height', 'element_value' => '40px') ) ); $css = ''; foreach($query as $selector){ //$properties = $db->query("SELECT * FROM `properties` WHERE `selector_id` = $selector->id"); //$properties = $properties->fetchAll(); $properties = $probs[$selector['id']]; $rules = ''; foreach($properties as $element){ $rules .= "\n \t$element[css_element]:$element[element_value];"; } $css .= "$selector[selector]".'{'."$rules \n".'}'."\n\n"; } $fp = fopen('style.css',"w"); fwrite($fp,$css); fclose($fp); echo "<pre>"; echo "$css"; echo "</pre>"; ?>
Результат будет:
.thisone{ border:1px solid; padding:10px; } #thatone{ border:1px solid; } .body{ width:40px; height:40px; }
Вы можете добавить таблицу с css_file (id, name), а затем добавить css_file_id в селекторную таблицу. Затем вы также можете записать несколько файлов.
Также вы можете создать форму редактора, в которой вы можете добавлять / удалять / изменять правила / селекторы / файлы css.