PHP kleur cms veranderen.

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • drastick
  • Registratie: Juli 2014
  • Laatst online: 17-09 10:29
Hoi,

Ik probeer in een PHP CMS een optie te maken in het admin menu die mij toestaat de kleur van bijvoorbeeld de header, body en footer te veranderen. Hoe krijg ik dit voor elkaar? Wanneer ik de stylesheet ( die heb ik in php veranderd met variabelen :

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

$header_text = '#D4E6F4';
$header_color = '#1A446C';
$body_color = '#EEE4B9';
$footer_text = '#D4E6F4';
$footer_color = '#1A446C';
$navigation_text = '#D4E6F4';
$navigation_color = '#8D0D19';

maar als ik de stylesheet include in het kleur aanpas menu krijg ik een hele lap tekst die dus in de stylesheet staat. Ik ben een beginner in PHP en hoop dat jullie mij kunnen helpen.

met vriendelijke groet en bedankt!

Alle reacties


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 16:12
stylesheet hernoemen naar stylesheet.php en dan bij variabelen <?php echo $bla; ?> neerzetten.

Nog wel even de include in je html ook veranderen naar de nieuwe bestandsnaam.

Als het fixed stylesheets zijn kun je er ook voor kiezen om gewoon een andere stylesheet te includen.

[ Voor 22% gewijzigd door RedHat op 26-08-2016 13:43 ]


Acties:
  • 0 Henk 'm!

  • drastick
  • Registratie: Juli 2014
  • Laatst online: 17-09 10:29
RedHat schreef op vrijdag 26 augustus 2016 @ 13:42:
stylesheet hernoemen naar stylesheet.php en dan bij variabelen <?php echo $bla; ?> neerzetten.

Nog wel even de include in je html ook veranderen naar de nieuwe bestandsnaam.

Als het fixed stylesheets zijn kun je er ook voor kiezen om gewoon een andere stylesheet te includen.
Ik gebruik helemaal geen html. Ik heb alleen PHP. include ik dan de stylesheets in de "Adjust colors"pagina of juist andersom?

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Als je dynamische stylesheets wilt, is SCSS (Sass) of LESS wellicht interessanter? Die kunnen ook overweg met variabelen. :)

Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 19-09 11:00

Ventieldopje

I'm not your pal, mate!

En als je dat werkend hebt, ga eens kijken naar Sass / Less. Twee varianten op CSS die ondersteuning hebben voor geavanceerde structuren en variabelen ;)

Beide moet je wel eerst met een tooltje omzetten naar CSS, daar zijn er genoeg van. Later kun je dit ook integreren in je build tasks (grunt, gulp etc.) maar dat is wellicht toekomstmuziek.

Wil je het dynamisch houden dan moet je de variabelen van de output functie scheiden. Je kunt niet je content type instellen en dan vervolgens gaan includen, dat gaat mis ;)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 16:12
Zonder basiskennis is het vrij lastig uit te leggen.

Geef anders een groter stukje code dan kan ik het wat gerichter uitleggen. Want ik snap op zich wel wat je wilt en wat je bedoeld, alleen je mist een stuk basis waardoor het niet uit te leggen valt.

[ Voor 32% gewijzigd door RedHat op 26-08-2016 13:51 ]


Acties:
  • 0 Henk 'm!

  • drastick
  • Registratie: Juli 2014
  • Laatst online: 17-09 10:29
<?php $layout_context = "admin"; ?>
<?php include("../includes/layouts/header.php"); ?>
<?php
$adjustheadercolor = "";
$adjustheadertext = "";
$adjustbodycolor = "";
$adjustfootercolor = "";
$adjustfootertext = "";
$adjustmenucolor = "";
$adjustmenutext = "";

if (isset($_POST['submit'])) {
$required_fields = array("adjustheadercolor", "adjustheadertext", "adjustbodycolor", "adjustfootercolor", "adjustfootertext", "adjustmenucolor", "adjustmenutext");

}
?>
<div id="main">
<div id="navigation">
 
</div>


<div id="page">

<h2>Admin Menu</h2>
<p>Welcome to the area to change the website's colors, <?php echo htmlentities($_SESSION["username"]); ?>.</p>
<form action="adjust_colors.php" method="post">

<div>Adjust Header Color
<input align="center" type="text" name="adjustheadercolor" value="" />
</div>
<div>Adjust Header Text Color
<input type="text" name="adjustheadertext" value="" />
</div>
<div>Adjust Body Color
<input type="text" name="adjustbodycolor" value="" />
</div>
<div>Adjust Footer Color
<input type="text" name="adjustfootercolor" value="" />
</div>
<div>Adjust Footer Text colors
<input type="text" name="adjustfootertext" value="" />
</div>
<div>Adjust Menu Color
<input type="text" name="adjustmenucolor" value="" />
</div>
<div>Adjust Menu Text Color
<input type="text" name="adjustmenutext" value="" />
</div>
<input type="submit" name="submit" value="Submit" />
</form>

Deze code heb ik in het "adjust color scherm"

Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14

NielsNL

DigiCow

Welk CMS gebruik je?
En wordt in je CMS $adjustheadercolor = ""; automagisch ergens opgeslagen? (er zit nog geen functie aan vast).

Je zou in je form alvast de huidige kleuren moeten neerzetten (als value), nu is je gebruiker iedere keer verplicht alle kleuren in te vullen.

[ Voor 35% gewijzigd door NielsNL op 26-08-2016 14:06 ]

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • drastick
  • Registratie: Juli 2014
  • Laatst online: 17-09 10:29
NielsNL schreef op vrijdag 26 augustus 2016 @ 14:04:
Welk CMS gebruik je?
En wordt in je CMS $adjustheadercolor = ""; automagisch ergens opgeslagen? (er zit nog geen functie aan vast).
het cms dat ik gebruik heb ik geleerd te maken met lynda.com
Ik wil het antwoord uit adjustheadercolor in de stylesheet opslaan.


Je zou in je form alvast de huidige kleuren moeten neerzetten (als value), nu is je gebruiker iedere keer verplicht alle kleuren in te vullen.

Dit wil ik dan weer laten halen uit de stylesheet. Is dit uberhaupt mogelijk?

[ Voor 23% gewijzigd door drastick op 26-08-2016 14:07 ]


Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14

NielsNL

DigiCow

Ik neem aan dat je al een database draait, en je niet superveel bezoeken krijgt. Je zou de kleuren op kunnen slaan in database.
Vervolgens laat je je CSS files ook uitvoeren door php (of zet je die in je header.php?), en haal je op de juiste plaats je kleuren uit de database.

Dit is niet de meest efficiënte methode, omdat je elke keer een extra query doet. Maar voor huis-tuin-&-keuken gebruik is het goed te doen.

[ Voor 20% gewijzigd door NielsNL op 26-08-2016 14:14 ]

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Natuurlijk is dat mogelijk, maar je maakt het ons wel erg moeilijk om je te helpen. Je hebt blijkbaar een heel stuk basiskennis niet ("ik gebruik helemaal geen HTML" - wat denk je dat je CMS uitpoept?) en dat maakt het heel moeilijk.

Het is heel simpel. Verander je .css-bestand in een .php-bestand, laad dat in je CMS in in plaats van de .css en zorg dat daarin je variabelen verwerkt zijn, al dan niet uit een database of tekstbestand ingeladen... Hoe dat precies werkt vergt mogelijk wat kennis van dat specifieke CMS en kun je beter op hun eigen supportforum vragen dan hier...

[ Voor 5% gewijzigd door NMe op 26-08-2016 14:13 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • drastick
  • Registratie: Juli 2014
  • Laatst online: 17-09 10:29
NMe schreef op vrijdag 26 augustus 2016 @ 14:13:
Natuurlijk is dat mogelijk, maar je maakt het ons wel erg moeilijk om je te helpen. Je hebt blijkbaar een heel stuk basiskennis niet ("ik gebruik helemaal geen HTML" - wat denk je dat je CMS uitpoept?) en dat maakt het heel moeilijk.

Het is heel simpel. Verander je .css-bestand in een .php-bestand, laad dat in je CMS in in plaats van de .css en zorg dat daarin je variabelen verwerkt zijn, al dan niet uit een database of tekstbestand ingeladen... Hoe dat precies werkt vergt mogelijk wat kennis van dat specifieke CMS en kun je beter op hun eigen supportforum vragen dan hier...
Excuus, ik bedoelde dat ik geen aparte html pagina's gebruik.

Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
drastick schreef op vrijdag 26 augustus 2016 @ 14:06:
het cms dat ik gebruik heb ik geleerd te maken met lynda.com
Dan zou ik als ik jou was snel je geld terug laten storten als je free trial al over was.
Zonde van je geld.

Lees vervolgens even How to: beginnen met Webdesign/ Programmern?

En bedenk of je het volgende snapt:
PHP:
1
2
3
4
5
6
<?php
$ini = parse_ini_file('settings.ini', true);

header('Content-Type: text/css');

echo "body .header { background-color: {$ini['css']['adjustheadercolor']}; }";

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14

NielsNL

DigiCow

DJMaze schreef op vrijdag 26 augustus 2016 @ 15:25:
[...]

Dan zou ik als ik jou was snel je geld terug laten storten als je free trial al over was.
Zonde van je geld.

Lees vervolgens even How to: beginnen met Webdesign/ Programmern?

En bedenk of je het volgende snapt:
PHP:
1
2
3
4
5
6
<?php
$ini = parse_ini_file('settings.ini', true);

header('Content-Type: text/css');

echo "body .header { background-color: {$ini['css']['adjustheadercolor']}; }";
Dat kan natuurlijk ook, en dan je gebruiker de volledige .ini file laten aanpassen, i.p.v. de losse kleuren (via een text input field).

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
NielsNL schreef op vrijdag 26 augustus 2016 @ 15:30:
Dat kan natuurlijk ook, en dan je gebruiker de volledige .ini file laten aanpassen, i.p.v. de losse kleuren (via een text input field).
Of je maakt een HTML formulier die de ini data weergeeft en bij
'POST' === $_SERVER['REQUEST_METHOD'] de boel opslaat in de ini ;)

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
drastick schreef op vrijdag 26 augustus 2016 @ 13:59:
PHP:
1
    <p>Welcome to the area to change the website's colors, <?php echo htmlentities($_SESSION["username"]); ?>.</p>
Misschien verstandiger om htmlspecialchars() te gebruiken ipv htmlentities()
Zorg dat je het verschil leert tussen deze twee (staat op php.net, Google en Bing)

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
wat ook een handige oplossing is voor de beginnend programmeur is om per achtergrondkleur een aparte stylesheet te maken en in phpcode dan de gewenste stylesheet includen.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
DJMaze schreef op vrijdag 26 augustus 2016 @ 17:01:
[...]

Of je maakt een HTML formulier die de ini data weergeeft en bij
'POST' === $_SERVER['REQUEST_METHOD'] de boel opslaat in de ini ;)
Je wil per gebruiker een .ini file opslaan? Waarom niet gewoon in een database doen als je toch al users hebt?
DJMaze schreef op vrijdag 26 augustus 2016 @ 19:10:
[...]

Misschien verstandiger om htmlspecialchars() te gebruiken ipv htmlentities()
Zorg dat je het verschil leert tussen deze twee (staat op php.net, Google en Bing)
Verstandiger waarvoor precies? Het verschil kennen is nuttig maar in deze context zie ik er verder weinig nadelen in.

[ Voor 35% gewijzigd door Cartman! op 28-08-2016 09:16 ]


Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 16:31

Damic

Tijd voor Jasmijn thee

P.O. Box schreef op zaterdag 27 augustus 2016 @ 09:48:
wat ook een handige oplossing is voor de beginnend programmeur is om per achtergrondkleur een aparte stylesheet te maken en in phpcode dan de gewenste stylesheet includen.
Was ik ook al aan't denken, iets in de trend van:
header_green.css
header_red.css
header_gray.css
...

PHP:
1
echo '<link rel="stylesheet" href="./stylesheets/header_'. $db->user['cms_color'].'.css" type="text/css">';

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • +1 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Cartman! schreef op zondag 28 augustus 2016 @ 09:10:
Je wil per gebruiker een .ini file opslaan? Waarom niet gewoon in een database doen als je toch al users hebt?
Niet per gebruiker, daar vroeg hij ook niet om
drastick schreef op vrijdag 26 augustus 2016 @ 13:40:
Ik probeer in een PHP CMS een optie te maken in het admin menu ....

Maak je niet druk, dat doet de compressor maar

Pagina: 1