Gesamterscheinungsbild eines ContentArtikel
-
- Posts: 85
- Joined: Mon 26. Feb 2007, 17:44
Gesamterscheinungsbild eines ContentArtikel
Hallo,
ich bin momentan am verzweifeln.
Versuche gerade das Gesamterscheinungsbild eines ContentArtikel zu verändern. Jedoch weis ich nicht so ganz genau, wonach ich suchen soll.
Die Ausgabe des Titels wird z.B. in der conf.template_default.inc.php Datei formatiert.
Wie sieht es aber mit dem Gesamten Content aus?
Ein Beispiel: Ich möchte auf einer Seite mehrere Artikel erstellen. Jeder Artikel soll in einem eigenen Kasten erscheinen.
Vielleicht hat ja jemand eine Idee wie ich da vorgehen muss?!
Gruß aus dem Norden,
ich bin momentan am verzweifeln.
Versuche gerade das Gesamterscheinungsbild eines ContentArtikel zu verändern. Jedoch weis ich nicht so ganz genau, wonach ich suchen soll.
Die Ausgabe des Titels wird z.B. in der conf.template_default.inc.php Datei formatiert.
Wie sieht es aber mit dem Gesamten Content aus?
Ein Beispiel: Ich möchte auf einer Seite mehrere Artikel erstellen. Jeder Artikel soll in einem eigenen Kasten erscheinen.
Vielleicht hat ja jemand eine Idee wie ich da vorgehen muss?!
Gruß aus dem Norden,
Hi Daniel, -> http://www.phpwcms.de/forum/viewtopic.p ... ikel#92785
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
-
- Posts: 85
- Joined: Mon 26. Feb 2007, 17:44
-
- Posts: 85
- Joined: Mon 26. Feb 2007, 17:44
Gibt es kein Template zu.
Der CP Text mit Bild bringt zumindest eine Klasse mit.
So etwas musst du dann übergeordnet lösen.
Der CP Text mit Bild bringt zumindest eine Klasse mit.
So etwas musst du dann übergeordnet lösen.
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
-
- Posts: 85
- Joined: Mon 26. Feb 2007, 17:44
-
- Posts: 85
- Joined: Mon 26. Feb 2007, 17:44
Wenn du innerhalb eines Artikels mehrere CPs Text mit Bild verwendest, wird jeder CP folgendermassen Eingerahmt:
Damit hast du die Möglichkeit, innerhalb der frontend.css diese Klasse zu erweitern, so, daß du deinen Rahmen bekommst:
z.B.:
Aber damit hast du NICHT die CP-Titel im Sack!!!
Aber vielleicht reicht dir das ja schon???
Code: Select all
<div class="articleText">
.
.
.
.
</div>
z.B.:
Code: Select all
.articleText {
margin:20px 0;
padding:10px;
border: 1px solid #ccc;
.
.
.
}
Aber vielleicht reicht dir das ja schon???
Das mag sein, kommt eben immer darauf an, wie man seinen Content aufbaut...
Ich verwende NIE Bilder im CP Text mit Bild, sondern immer separat, dann bin ich flexibler.
Was die Rahmen angeht,
mach ich das meist mit separaten HTML-CPs vor und hinter dem/den CPs, die gerahmt oder spezielle formatiert dargestellt werden sollen:
CP-HTML:
<div class="irgendein_name" style="......">
...
Hier alle die gewünschten CPs mit "Sonderformatierung"
...
CM-HTML:
</div>
Und da ich mir solche kurzen Passagen als Snippet abgespeichert habe (TagsHelper) geht das recht fix...
Die Klasse kann man dann in der frontend.css "befüllen"
Ich verwende NIE Bilder im CP Text mit Bild, sondern immer separat, dann bin ich flexibler.
Was die Rahmen angeht,
mach ich das meist mit separaten HTML-CPs vor und hinter dem/den CPs, die gerahmt oder spezielle formatiert dargestellt werden sollen:
CP-HTML:
<div class="irgendein_name" style="......">
...
Hier alle die gewünschten CPs mit "Sonderformatierung"
...
CM-HTML:
</div>
Und da ich mir solche kurzen Passagen als Snippet abgespeichert habe (TagsHelper) geht das recht fix...
Die Klasse kann man dann in der frontend.css "befüllen"
KH: space before/after
Wir waren da vor einiger Zeit schon einmal ziemlich nah dran.
Ich spinne jetzt mal ein bischen:
Wenn wir uns z.B. diese beiden CP-Begrenzer anschauen: Abstand: davor [333] danach [333]
<div style="margin: 333px 0pt 0pt; padding: 0pt;" class="spaceBeforeCP"></div>
----------
... CP ...
----------
<div style="margin: 0pt 0pt 333px; padding: 0pt;" class="spaceAfterCP"></div>
Und nun im frontend_render einen punktgenauen kleinen Ersetzer ablegen ........
Nachteil: Der variable Abstand fällt natürlich weg.
Aber -> Man könnte ja auch z.B. margin: 1105px zerlegen (11=MeineFormatierung | 05=Abstand) und so wieder den variablen Abstand herstellen.
(Die Möglichkeiten sind sehr vielfältig, man darf irgendwann nur nicht den Überblick verlieren wenn es mehr wird).
Ist eine Technik die aus der Feder von O.G. stammt
[EDIT]
Einfaches Beispiel (Rahmen um CP), wie diese Idee umgesetzt werden kann. (Ist nicht laufzeitoptimiert, die Richtung sollte aber stimmen.)
Die Ausgabe eines CPs mit SHOW_CONTENT verlangt eine gesonderte Behandlung -> siehe "space before: for a cp output using SHOW_CONTENT"
Grundsätzlich sollte in diesem Fall immer Abstand: davor [333] danach [333] zusammen verwendet werden.
Achtung: Wird speziell eine Box um den CP "Text mit Bild" gelegt und dieser CP mit SHOW_CONTENT abgerufen, orientiert sich die Boxunterkante am Text und nicht am Bild !!!
Dem Verhalten kann bisher nur entgegengesteuert werden indem im CP "Text mit Bild" die Option "Bild in Tabelle links/rechts" gewählt wird.
In die Datei /template/inc_script/frontend_render/rt_before_after_cp01.php und in der config -> $phpwcms['allow_ext_render'] = 1;
Die häufigste Anwendungsfall wird sicher eine Linie oberhalb- und/oder unterhalb eines CPs sein.
Abstand: davor [111] danach [222]
In die Datei /template/inc_script/frontend_render/rt_before_after_cp02.php und in der config -> $phpwcms['allow_ext_render'] = 1;[/EDIT]
Knut
Ich spinne jetzt mal ein bischen:
Wenn wir uns z.B. diese beiden CP-Begrenzer anschauen: Abstand: davor [333] danach [333]
<div style="margin: 333px 0pt 0pt; padding: 0pt;" class="spaceBeforeCP"></div>
----------
... CP ...
----------
<div style="margin: 0pt 0pt 333px; padding: 0pt;" class="spaceAfterCP"></div>
Und nun im frontend_render einen punktgenauen kleinen Ersetzer ablegen ........
Nachteil: Der variable Abstand fällt natürlich weg.
Aber -> Man könnte ja auch z.B. margin: 1105px zerlegen (11=MeineFormatierung | 05=Abstand) und so wieder den variablen Abstand herstellen.
(Die Möglichkeiten sind sehr vielfältig, man darf irgendwann nur nicht den Überblick verlieren wenn es mehr wird).
Ist eine Technik die aus der Feder von O.G. stammt
[EDIT]
Einfaches Beispiel (Rahmen um CP), wie diese Idee umgesetzt werden kann. (Ist nicht laufzeitoptimiert, die Richtung sollte aber stimmen.)
Die Ausgabe eines CPs mit SHOW_CONTENT verlangt eine gesonderte Behandlung -> siehe "space before: for a cp output using SHOW_CONTENT"
Grundsätzlich sollte in diesem Fall immer Abstand: davor [333] danach [333] zusammen verwendet werden.
Achtung: Wird speziell eine Box um den CP "Text mit Bild" gelegt und dieser CP mit SHOW_CONTENT abgerufen, orientiert sich die Boxunterkante am Text und nicht am Bild !!!
Dem Verhalten kann bisher nur entgegengesteuert werden indem im CP "Text mit Bild" die Option "Bild in Tabelle links/rechts" gewählt wird.
In die Datei /template/inc_script/frontend_render/rt_before_after_cp01.php und in der config -> $phpwcms['allow_ext_render'] = 1;
Code: Select all
<?php
// **************************************************************************
// 15.11.07 KH (flip-flop) Conception by Oliver Georgi
// Converting the original spacer line before and after a cp into an other
// or enhanced instruction by triggering the space: before and after input
// Forum: http://www.phpwcms.de/forum/viewtopic.php?p=94762#94762
// Input e.g: CP backend -> Space: before [333] after [333]
// **************************************************************************
// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
die("You Cannot Access This Script Directly, Have a Nice Day.");
}
// ----------------------------------------------------------------
// space before: for a normal cp output
$content['all'] = str_replace('<div style="margin:333px 0 0 0;padding:0;" class="spaceBeforeCP"></div>',
'<div class="spaceBeforeCP"><!-- nop --></div><div style="border: 1px solid #ccc; padding:5px; margin:10px 0 10px 0;">',
$content['all']);
// space after: for a normal cp output
$content['all'] = str_replace('<div style="margin:0 0 333px 0;padding:0;" class="spaceAfterCP"></div>',
'<div style="clear: both;"><!-- nop --></div></div><div class="spaceAfterCP"><!-- nop --></div>',
$content['all']);
// --------------------
// space before: for a cp output using SHOW_CONTENT
$content['all'] = str_replace('<div style="margin:333px 0 333px 0; padding:0;">',
'<div class="spaceBeforeCP"><!-- nop --></div><div style="border: 1px solid #ccc; padding:5px; margin:10px 0 10px 0;">',
$content['all']);
// space after for cp output using SHOW_CONTENT
// The closing </div> will be generated by the system
// !!! There we have no chance to set a clear: both in the section "after CP" !!!
?>
Abstand: davor [111] danach [222]
In die Datei /template/inc_script/frontend_render/rt_before_after_cp02.php und in der config -> $phpwcms['allow_ext_render'] = 1;
Code: Select all
<?php
// **************************************************************************
// 15.11.07 KH (flip-flop) Conception by Oliver Georgi
// Converting the original spacer line before and after a cp into an other
// or enhanced instruction by triggering the space: before and after input
// Forum: http://www.phpwcms.de/forum/viewtopic.php?p=94762#94762
// Input e.g: CP backend -> Space: before [111] after [222] (line before/after)
// **************************************************************************
// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
die("You Cannot Access This Script Directly, Have a Nice Day.");
}
// ----------------------------------------------------------------
// One line before or after the CP (space: before [111] after [222])
// simple line before the CP
$content['all'] = str_replace('<div style="margin:111px 0 0 0;padding:0;" class="spaceBeforeCP"></div>',
'<div style="border-top:1px dotted #666; margin-top:10px; margin-bottom:5px;" class="spaceBeforeCP"></div>',
$content['all']);
// simple line after the CP
$content['all'] = str_replace('<div style="margin:0 0 222px 0;padding:0;" class="spaceAfterCP"></div>',
'<div style="clear: both;"><!-- nop --></div><div style="border-bottom:1px dotted #666; margin: 10px 0 10px 0;" class="spaceAfterCP"></div>',
$content['all']);
// --------------------
// simple line before/after: for a cp output using SHOW_CONTENT
$content['all'] = str_replace('<div style="margin:111px 0 222px 0; padding:0;">',
'<div class="spaceBeforeCP"><!-- nop --></div><div style="border-top:1px dotted #666; border-bottom:1px dotted #666;
margin:10px 0 10px 0; padding: 5px 0 5px 0;">',
$content['all']);
// simple line before/after for a cp output using SHOW_CONTENT
// The closing </div> will be generated by the system
// !!! There we have no chance to set a clear: both in the section "after CP" !!!
// simple line before: for a cp output using SHOW_CONTENT
$content['all'] = str_replace('<div style="margin:111px 0 0 0;padding:0;clear:both;"></div>',
'<div class="spaceBeforeCP"><!-- nop --></div><div style="border-top:1px dotted #666; margin-top:10px; padding-top:5px; clear:both;"></div>',
$content['all']);
// simple line after: for a cp output using SHOW_CONTENT
$content['all'] = str_replace('<div style="margin:0 0 222px 0;padding:0;clear:both;"></div>',
'<div style="border-bottom:1px dotted #666; margin-bottom:10px; padding-bottom:5px; clear:both;"></div><div class="spaceAfterCP"><!-- nop --></div>',
$content['all']);
?>
Knut
Last edited by flip-flop on Tue 13. May 2008, 11:54, edited 13 times in total.
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
moin flip-flop,
deine Denkansatz ist ja nicht schlecht... aber doch irgendwie Frickelei!
Denk mal an die vielen Newbees, die jetzt schon keinen Durchblick haben
Besser wäre da schon, ein zusätzliches Feld im jedem CP vorzusehen, in das man eine eigene Klasse ablegen kann, die dann das komplette CP umschließt.
Z.B. unmittelbar über dem Titelfeld
- Bleibt das Leer... alles wie bisher.
- Ist dort ein Eintrag vorhanden, wie: pepes_klasse_klasse , dann wird um den CP folgendes gerendert:
<div class="pepes_klasse_klasse">
.
.
.
</div>
DAS... wäre eine GUTE Lösung, oder?
Alternativ wäre natürlich auch der Aufruf eines eigenen Templates denkbar... oder sogar "sowohl als auch"...
Man was für Möglichkeiten sich dann auftäten.....
PS
Womit ich deine Idee nicht kaput machen will, immerhin besser als garnichts
PPS EDIT
Und das mir bloß niemand die Felder für Abstand oberhalb und Unterhalb der CPs wegrationalisiert...
.spaceBeforeCP hat bei mir z.B. ein clear:both bekommen
.spaceAfterCP dagegen aber NICHT
Damit kann ich eine Menge verschiedenen Layout-Varianten im Contentbereich schnell erreichen... je nach dem, was ich wo eintrage
Brauch ich wie das "Tägliche Brot"
deine Denkansatz ist ja nicht schlecht... aber doch irgendwie Frickelei!
Denk mal an die vielen Newbees, die jetzt schon keinen Durchblick haben
Besser wäre da schon, ein zusätzliches Feld im jedem CP vorzusehen, in das man eine eigene Klasse ablegen kann, die dann das komplette CP umschließt.
Z.B. unmittelbar über dem Titelfeld
- Bleibt das Leer... alles wie bisher.
- Ist dort ein Eintrag vorhanden, wie: pepes_klasse_klasse , dann wird um den CP folgendes gerendert:
<div class="pepes_klasse_klasse">
.
.
.
</div>
DAS... wäre eine GUTE Lösung, oder?
Alternativ wäre natürlich auch der Aufruf eines eigenen Templates denkbar... oder sogar "sowohl als auch"...
Man was für Möglichkeiten sich dann auftäten.....
PS
Womit ich deine Idee nicht kaput machen will, immerhin besser als garnichts
PPS EDIT
Und das mir bloß niemand die Felder für Abstand oberhalb und Unterhalb der CPs wegrationalisiert...
.spaceBeforeCP hat bei mir z.B. ein clear:both bekommen
.spaceAfterCP dagegen aber NICHT
Damit kann ich eine Menge verschiedenen Layout-Varianten im Contentbereich schnell erreichen... je nach dem, was ich wo eintrage
Brauch ich wie das "Tägliche Brot"
Last edited by pepe on Wed 14. Nov 2007, 15:35, edited 3 times in total.