Как использовать PHP и MySQL для динамического оформления сайта? - PullRequest
0 голосов
/ 09 октября 2018

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

Пример:

У меня есть tbl_settings, и он содержит столбцы "Setting_Id, Site_Id,Метка, Ключ, Значение ".Ключ может быть "footer_bg", а значение будет, например, "ff3300".

Как я могу использовать php для отправки значения в css / sass?Может быть, создать URL-адрес, который на самом деле не существует и отражать в нем CSS?Так же, как с ajax.

Любые идеи, я действительно понятия не имею ...?

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Дело в том, что вы можете связать php-файл как css.but, но есть некоторые проблемы с обновлением значений и между сохраненными значениями, но вы можете обойти это.Вы можете связать php файл как css следующим образом.

<link rel="stylesheet" href="css/dynamic.php" media="screen">

Чем вам нужно установить заголовок этого файла.

css/dynamic.php:

<?php
/** set header **/
header("Content-type: text/css");
?>

После этогоВы можете в значительной степени можете echo любое правило CSS, которое вы хотите.И вы можете выполнять свои запросы в этом файле.

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

<!-- I assume that identifier stored in '$id' -->
<link rel="stylesheet" href="css/dynamic.php?somekey=<?=$id?>" media="screen">

, чем вы можете получить доступ к этому обновленному значению в вашем файле

<?php
/** set header **/
header("Content-type: text/css");
/*Dont forget to escape this before passing it in to sql*/
$id = $_GET["somekey"];
?>

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

Я буду счастлив исправить, если я ошибаюсь.

0 голосов
/ 09 октября 2018

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

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

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