Infobox - wie am Besten vorgehen?

Deutschsprachiger Support für CMS Made Simple
Post Reply
leerraum
Forum Members
Forum Members
Posts: 180
Joined: Wed Apr 22, 2009 2:54 pm

Infobox - wie am Besten vorgehen?

Post by leerraum »

Hi,

ich hab die Aufgabe für eine Seite eine Art Infobox zu erstellen. Siehe attachment.

Ich hab das eigentlich schon gelöst, nur ich halte meine Lösung für etwas zu gefrickelt. Ich habe 2 Tags erstellt, beide beinhalten HTML-Div's und inline Stylesheets. Der Erste "openbox" und der Zweite "closebox" bilden die Klammer für den Content.

Aufgerufen wird es so:

Code: Select all

{openbox width="100" height="100" title="der titel"} Etwas Inhalt {closebox}
function.openbox.php

Code: Select all

<?php

function smarty_cms_function_openbox($params, &$smarty)
{
	if (isset ($params['width']) && isset ($params['title']) ) {

		$title = $params['title'];
		$width = $params['width'];
		
		if (!isset ($params['height']) ) {
			$height = 150;
		}else {
			$height = $params['height'];
		}

		$echostring = '<div class="openboxcontainer" style="position:relative;width:'.($width+5).'px; height:'.($height+5).'px; margin: 15px 15px 15px 0;">
							<div style="position:absolute;top:5px;left:5px;width:'.$width.'px; height:'.$height.'px;background-color:#acc0cd;" ></div>
							<div style="position:absolute;padding:0 0 0 15px; align: left; border:1px solid #83a7b2;width:'.($width-15).'px; height:'.$height.'px;background-color:#fef5fd;">
								<div style="color:#4c7180;margin-left:-15px;padding:0 0 0 15px; width:'.($width-17).'px;line-height: 30px;font-weight:bold;min-height:30px;border: 1px solid #fef5fd;background-color:#e5e2eb;" >'.$title.'</div>';
		return $echostring;
		
	}else {
	
		return;
		
	}	
}

function smarty_cms_help_function_openbox() {
  echo lang('help_function_openbox');
}

function smarty_cms_about_function_openbox() {
	

}

?>
function.closebox.php

Code: Select all

<?php
function smarty_cms_function_closebox($params, &$smarty)
{
	
		$echostring = '</div></div>';
		return $echostring;

}

function smarty_cms_help_function_closebox() {
  echo lang('help_function_closebox');
}

function smarty_cms_about_function_closebox() {
	
}

?>
Ich halte diese Vorgehensweise aber nicht für den Stein der Weisen (zumal ich TTT bräuchte, wie ich in http://forum.cmsmadesimple.org/index.php/topic,48678.0.html schon beschrieben habe). Wie würdet ihr sowas lösen?

Gruß
leerraum
Attachments
gwaaah.jpg
cyberman

Re: Infobox - wie am Besten vorgehen?

Post by cyberman »

Siehe anderer Thread ... wo soll der Inhalt für die Box herkommen?

Für so'n Kram brauchste eigentlich nicht erst php anschmeißen ... zumal ein Großteil eh nur html und css ist.

Das lässt sich ganz einfach über mehrere ContentBlöcke lösen - sowohl die Infobox selbst als auch Höhe und Breite. Und den Inhalt der Infobox weisst du einer Variablen zu und schickst ihn direkt im Template durch TTT. Der Enduser kommt so gar nicht mehr damit in Berühung.
Last edited by cyberman on Thu Nov 04, 2010 6:24 pm, edited 1 time in total.
leerraum
Forum Members
Forum Members
Posts: 180
Joined: Wed Apr 22, 2009 2:54 pm

Re: Infobox - wie am Besten vorgehen?

Post by leerraum »

genau da liegt das problem: beim enduser. die müssen die boxen an beliebigen positionen einfügen können.
cyberman

Re: Infobox - wie am Besten vorgehen?

Post by cyberman »

Nu mal Butter bei die Fische - wer soll was wo einfügen können, und vor allem, was soll dabei herauskommen? Wie beliebig sind die Positionen?

Willst du tatsächlich den Editoren vollen Layout-Zugriff geben?
leerraum
Forum Members
Forum Members
Posts: 180
Joined: Wed Apr 22, 2009 2:54 pm

Re: Infobox - wie am Besten vorgehen?

Post by leerraum »

Hi,

(wer=>) alle Editoren, die Zugriff auf das Backend haben, müssen in der Lage sein (wo=>) im Mittelblock des 3. Spalten Layouts (was=>) eine beliebige Anzahl an Infobox einzufügen. Egal wo in diesem Block. Wenn die Editoren es wollen würden, müssen sie alles zupflastern können mit Infoboxen.

Nicht vollen Zugriff, aber grade dieses Item sollte schon mit dabei sein.

Ich bin grade am überlegen, ob ich mir nicht das global_content dingens als Blaupause für die infoboxen nehmen soll. Daraus könnte man was machen. Ich habs nur leider nicht im Module Ordner gefunden.

Ich könnte so ein Infobox Ding ja auch mit Tables realisieren, die wären beim TinyMCE ja schon mit dabei. Aber blöderweise fällt das unter "schlechter Stil" und die Editoren müssten dann relativ viel mit den Formaten arbeiten. Auch nicht wirklich gut.
Post Reply

Return to “German - Deutsch”