Css eines Artikels ändern

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
User avatar
kubik
Posts: 159
Joined: Tue 2. Sep 2008, 12:03

Css eines Artikels ändern

Post by kubik »

Hi Leute,
sehe momentan den Wald vor lauter Bäumen nicht:
Wenn ich für einen einzigen Artikel ein spezielles css angeben möchte, wo mache ich das?
Zur Erkärung, ich möchte einzelne Artikel mit einem dunklen statt einem hellen Seitenhintergrund haben.

Grüße aus Ludwigsburg

Jochen Kubik
Wir sind alle Würmchen, nur glaube ich, daß ich ein Glühwürmchen bin.
User avatar
Oliver Georgi
Site Admin
Posts: 9892
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Css eines Artikels ändern

Post by Oliver Georgi »

Ich würde mit einem speziellen Keyword arbeiten und mittels Frontend Render dann entsprechend darauf reagieren.

Keyword "*CSS-dark*" beim Artikel ins entsprechende Feld setzen. Beim Rendering wird darauf geprüft und <body> Tag erhält die entsprechende Klasse. Das kann dann normaler per CSS definiert werden.
2009-11-16_180910.png
2009-11-16_180910.png (1.18 KiB) Viewed 6453 times

Code: Select all

if(strpos($content['all_keywords'], '*CSS-dark*')) {
	$template_default['body']['class'] = 'dark level-';
	$content['all_keywords'] = str_replace('*CSS-dark*', '', $content['all_keywords']);
}
?>

Code: Select all

body.dark {
  background-color: #666666;
}
Achtung - die Klasse(n) "dark level-" wurde bewußt so gewählt, da immer noch zusätzlich die Level ID mitgegeben wird.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
kubik
Posts: 159
Joined: Tue 2. Sep 2008, 12:03

Re: Css eines Artikels ändern

Post by kubik »

Hallo Oliver,
ups, das ist mir zu hoch, da ändere ich doch lieber gleich eine gesamte Kat im einem zusätzlichen Stylesheet,
aber trotzdem vielen Dank für Deine unterstützung!
Grüße aus Ludwigsburg

Jochen Kubik
Wir sind alle Würmchen, nur glaube ich, daß ich ein Glühwürmchen bin.
User avatar
Oliver Georgi
Site Admin
Posts: 9892
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Css eines Artikels ändern

Post by Oliver Georgi »

zu hoch? Lösung steht doch da!
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Css eines Artikels ändern

Post by juergen »

Das kann man so nicht stehen lassen !

Das ist cool !
User avatar
kubik
Posts: 159
Joined: Tue 2. Sep 2008, 12:03

Re: Css eines Artikels ändern

Post by kubik »

Hi Leute ;-)
Bloß weil es mir zu hoch ist, muß es ja nicht uncool sein, im Gegenteil ;-)

Grüße aus Ludwigsburg

Jochen Kubik
Wir sind alle Würmchen, nur glaube ich, daß ich ein Glühwürmchen bin.
User avatar
top
Posts: 535
Joined: Fri 11. Aug 2006, 15:03
Location: Eutin

Re: Css eines Artikels ändern

Post by top »

Auch wenn es alles andere als elegant ist, so verkraften alle mir bekannten aktuellen Browser auch eine CSS-Einbindung innerhalb des BODY.

Wenn du also einfach ein Contentpart "HTML" mit folgendem Inhalt versiehst, sollte es auch funktionuckeln.

Code: Select all

<style type="text/css" media="screen"><!--
body {
	background-color: #C8E280; 
}
 --></style>
Ich habe mich allerdings noch nicht getraut, das Ergebnis mal durch einen Validator zu schicken. :mrgreen:

Wenn ich das nächste Mal etwas in die Richtung brauche, werde ich mir aber die Lösung von OG anschauen...
User avatar
Oliver Georgi
Site Admin
Posts: 9892
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Css eines Artikels ändern

Post by Oliver Georgi »

Inline CSS ist nicht erlaubt.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Css eines Artikels ändern

Post by pepe »

Bin gerade mal vorbeigekommen...

Ich habe mir für solche Fälle ein HTML-Template vorbereitet, dass binde ich nur in den oder die entsprechenden Artikel ein...
Ohne weiteren Inhalt! Fertig! :D
Dadurch wird das gültige CSS-Format überschrieben... und steht auch an der richtigen Stelle im "head".
Nicht besonders "elegant", aber fix und klappt per Mausklick :D

Abspeichern unter ...../template/inc_cntpart/html/pepes_css-switch_dark-bg.tmpl

Code: Select all

[PHP]
/* 
 Einfach abspeichern unter ...../template/inc_cntpart/html/pepes_css-switch_dark-bg.tmpl
 Einbinden von zusaetzlichem css-Code zum Variieren der Standard-Formatierung 
*/
$GLOBALS['block']['custom_htmlhead']['css-switch-dark-bg'] = '
<!-- Umschaltung des "body" auf "dunkelen Hintergrund" -->
  <style type="text/css">
     body { background:#666 }
   </style >';
[/PHP]
[TITLE]<!-- {TITLE} -->[/TITLE][SUBTITLE]
<!-- {SUBTITLE} -->[/SUBTITLE]
In der Art habe ich mir diverse UMSCHALTER vorbereitet und kann so auch nur ein einziges Template mit unterschiedlicher "Optik" ausstatten:

Hier und in den Unterebenen kann man sehen, was ich meine. (Quelltext ansehen!)
http://webdesign-dp.de/pepes-sandbox/pe ... sign.phtml
User avatar
Heiko H.
Posts: 868
Joined: Thu 27. Oct 2005, 11:41
Location: Dresden
Contact:

Re: Css eines Artikels ändern

Post by Heiko H. »

Hallo,
wenn OG, den Tip mir dem Keyword nicht gegeben hätte, hätte ich es wahrscheinlich mittels "body_id" gelöst.
OG's Variante ist allerdings viiiiieel cooler (um hier mal beim Jargon zu bleiben) :mrgreen:

@ kubik
Schau's Dir nochmal an, sooo schwer ist es nicht UND es ist extrem flexibel!!! so kann z.Bsp. ein Redakteur mittels entsprechendem Keyword ohne weitere Kenntnisse/Rechte zwischen verschiedenen, vordefinierten Layouts wechseln - 'ne Spitzenidee :idea: :idea: :idea:

Los Grüßos - Heiko...
Not longer here - sorry...

Haubner-IT GbR Dresden
User avatar
markus s
Moderator
Posts: 654
Joined: Sat 16. Dec 2006, 19:21
Location: Radfeld / Tirol
Contact:

Re: Css eines Artikels ändern

Post by markus s »

@kubik,
mache dir eine datei - mit dem namen "csskeychange.php"
kopiere dir den "code" rein und setze die datei in den folder template/inc_script/frontend_render.

dann schreibe in das feld "keywords" das *CSS-dark* rein.
dann wird das gerendert und das ergebnis ist ein
body.dark { blablabla }

Code: Select all

<?php

/*************************************************************************************

   Copyright notice
   (c) 2002-2009 Oliver Georgi (oliver@phpwcms.de) // All rights reserved.

   This script is part of PHPWCMS. The PHPWCMS web content management system is
   free software; you can redistribute it and/or modify it under the terms of
   the GNU General Public License as published by the Free Software Foundation;
   either version 2 of the License, or (at your option) any later version.
   The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html   A copy is found in the textfile GPL.txt and important notices to the license 
   from the author is found in LICENSE.txt distributed with these scripts.
   This script is distributed in the hope that it will be useful, but WITHOUT ANY 
   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
   PARTICULAR PURPOSE.  See the GNU General Public License for more details.
   This copyright notice MUST APPEAR in all copies of the script!

*************************************************************************************/

// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
   die("You Cannot Access This Script Directly, Have a Nice Day.");
}
// ----------------------------------------------------------------

if(strpos($content['all_keywords'], '*CSS-dark*') !== false) {
   $template_default['body']['class'] = 'dark level-';
   $content['all_keywords'] = str_replace('*CSS-dark*', '', $content['all_keywords']);
}
?>
moderator
propelled by fresh air from tirol
XING|FACEBOOK|OMENTO
User avatar
top
Posts: 535
Joined: Fri 11. Aug 2006, 15:03
Location: Eutin

Re: Css eines Artikels ändern

Post by top »

Oliver Georgi wrote:Inline CSS ist nicht erlaubt.
Ist ja auch kein Inline CSS :wink:

Mir ist schon klar, dass zentrale Formate in den HEAD-Bereich gehören und nicht in den BODY. (Auch wenn es trotzdem funktioniert... :roll: )

Es gibt manchmal Seiten, bei denen es einfach praktisch wäre, wenn man für einige Unterseiten ganz problemlos ein paar Änderungen zur allgemeinen CSS-Datei einfügen möchte. Für jede Kleinigkeit (die nur einmal auf der gesamten Website benötigt wird) dann neue Vorlagen einzuführen oder die CSS-Dateien zu erweitern ist da nicht unbedingt die beste Lösung. Da könnte ich schon ein Contentpart gebrauchen, mit der ich mal eben ein paar spezielle Formatierungen als zentrale Formate im HEAD positionieren könnte.
Wenn ich wüsste, wie ich einen Contentpart "HTML" mit einem CUSTOM_BLOCK innerhalb des HEAD einfügen könnte, hätte ich das schon längst gemacht. 8)
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Css eines Artikels ändern

Post by pepe »

Du brauchst den CP "HTML" nur in dem Artikel selber positionieren und mein HTML-Template "auszuwählen"...
dann funktioniert der Rest schon automatisch ;-)

sieh selber:

OHNE HTML-CP: http://webdesign-dp.de/pepes-sandbox/pe ... sign.phtml

MIT HTML-CP: http://webdesign-dp.de/pepes-sandbox/pe ... gn-2.phtml

Und schon ist der BG dunkel... Und im Quellcode siehst du, dass alles an der richtigen Stelle eingebunden wurde!
Eigentlich genau das, was du suchst... und "verstehen" kann man es auch... finde ich :-)

Die Umschaltung vom 3 Spalter auf die 2 und 1 spaltige Variante, habe ich übrigens auch so gemacht...
User avatar
Jensensen
Posts: 3000
Joined: Tue 17. Oct 2006, 21:11
Location: auf der mlauer

Re: Css eines Artikels ändern

Post by Jensensen »

Das Script funktioniert nicht, wenn man
/config/phpwcms/conf.template_default.inc.php

bzw. [custom]
/template/inc_settings/template_default/something_ABC_XYZ.php

benutzt.
Oder irre ich da?
{so_much} | Knick-Knack. | GitHub
Umlaute im URL sind meistens immer Kacke.
User avatar
Oliver Georgi
Site Admin
Posts: 9892
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Css eines Artikels ändern

Post by Oliver Georgi »

Du irrst und irrst nicht.

Das Script setzt direkt auf diese Funktionalität auf und ergänzt diese.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
Post Reply