• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

suche einen css ansatz für ein etwas komplexes problem

  • Ersteller Ersteller sysop
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
S

sysop

Guest
ich bräuchte ich da mal einen vorschlag von den css freaks (bitte allgemein, den code bekomme ich selber hin), ich murkse hier schon seit gut 2 stunden.

ich habe hier die ausgabe aus einer datenbank, die mal tabellarisch (zahlen und text), mal reiner text sein kann, es werden aber vorwiegend info-texte werden.
die ausgabe darf mal umgebrochen werden, mal nicht, je nachdem welcher inhalt ausgegeben wird. eine funktion soll die daten ermitteln und die ausgabe generieren, so ist das ganze an jeder stelle der warenwirtschaft einsetzbar.

bsp:
nun soll das kleine script einmal in einer 3 spaltigen ausgabe variable eingesetzt werden (also mal links, mal rechts, mal in der mitte) und einmal als info in einer art erfassungs-script ganz oben im head, wobei die höhe beschränkt ist.

nun meine frage:
ich scheitere hier momentan an einem simplen css ansatz (also rein das schema), der mir die oben genannten eventualitäten abfängt.
packe ich die ausgabe prinzipiell in eine tabelle, kann ich mit wenigen variablen (derzeit reichen 2) die ich entsprechend vorher setze die anzeige anpassen und machen, was ich will.

kleiner auszug, aus dem problem (die db-abfrage ist in der funktion nicht vorhanden):
PHP:
<?PHP

function draw_table($text)
{
    echo '<table class="tabelle" width="'.$_SESSION['tblwidth'].">\n<tr>\n";
    echo "<td".$_SESSION['tblparam1'].">$text</td>\n";
    echo "</tr>\n</table><br><br>\n";
}

$text = 'das ist besonders langer text, der nicht umgebrochen werden darf und deshalb mit nowrap versehen werden soll um nicht umgebrochen zu werden';

// aufruf 1
$_SESSION['tblwidth'] = '100px';
$_SESSION['tblparam1'] = ' nowrap height=100';
draw_table($text);

// aufruf 2
$_SESSION['tblwidth'] = '15%';
$_SESSION['tblparam1'] = '';
draw_table($text);

 // aufruf 3
$_SESSION['tblwidth'] = '15%';
$_SESSION['tblparam1'] = ' nowrap';
draw_table($text);


?>
derartige aufrufe kann und wird es mehrere geben. in css hänge ich mich derzeit einfach auf.

ps.
ach ja, ich vergass, welche möglichkeiten an aufrufen möglich sind, soll über ein adminscript definierbar sein (also tabellenbreite, nowrap etc sollen frei parametrierbar sein und werden je nach aufruf vorher abgefragt).
 
Zuletzt bearbeitet von einem Moderator:
Guten Morgen!

Ist das jetzt ein HTML-Problem (weils im HTML-Forum steht), ein CSS-Problem (wie Du eingangs sagst), oder ein PHP-Problem (weil da PHP-Code steht und Du was von Variablen erzählst)?

Gruß,
-Efchen
 
hallo

eigentlich ja ein css problem, da es um eine css steuerung geht, allerdings irgendwie ja auch ein php-problem, da ich es irgendwie über eine funktion steuern soll, notwenige angaben also an die funktion übergeben werden müssen.

html in so fern, als dass es ja vielleicht eine möglichkeit gibt das ganze mit css und html zu kombinieren. das könnte dann die einfachste lösung sein.

aber stimmt schon, vielleicht sollte ich einen schritt nach dem anderen machen. also bitte eventuell nach css verschieben ?

einen switcher für z.b. einen div wäre ja nicht das problem, vielmehr die parametrierung und somit eine art css generator.
oder muss ich nur einfach jedes mal das css neu schreiben und den entsprechenden aufruf ändern.

viele wege führen nach rom, wie mache ich es richtig ?

ps ich habe mehr als genug zeit, könnte also alle vorschläge gegebenenfalls sogar durchprobieren.
 
Zuletzt bearbeitet von einem Moderator:
Ich hab auch deswegen gefragt, wo jetzt eigentlich Dein erstes Problem ist. Ich kanns mir noch nicht genau vorstellen, Du schreibst so viel über irgendwelche Entscheidungen, die getroffen werden, aber das hat ja alles nichts mit CSS zu tun. Sowas kann CSS ja nicht.
Für ein CSS-Problem stelle ich mir einen statischen HTML-Code und ein Stylesheet vor. Gibts schon irgendwas, wo man sich das live ansehen kann, das finde ich bedeutend einfacher, als Code zu posten.
 
ich will so wenig code wie möglich posten, weil es auch nichts helfen würde. ich hänge ja auch schon in der planungsphase ;ugl die abfragen der db funktionieren, vorher geht man ja auch nicht ans layout.

sehen kann man momentan noch nichts, ob es sowas überhaupt zu sehen geben wird, ist eine andere frage, das ganze system ist eine auftragsarbeit (gemeinde)
das ganze ist ein art warenwirtschaftssystem mit allem drum und drann in php geschrieben. einen screenshot vielleicht.
das system läuft auch schon seit gut 2 jahren und wird nun erweitert.

user-entscheidungen, ja, so ist das in parametrierbaren systemen, aber da muss ich dir ja sicher nicht erzählen. feste vorgaben wären mir auch wesentlich lieber, aber der kunde ist nunmal könig...
angesichts der ganze no table posts habe ich mir das also alles mal zu herzen genommen und angefangen einzelne templates (wenn möglich) auf html und css umzustellen (gut 25% gingen problemlos, weil fest integriert). bei einigen dingen (wie obiges problem) hänge ich aber komplett in der luft.

der user (kunde) kann seine oberfläche nahezu komplett selbst anpassen und über parameter zusammenbauen. es kommt also vor das eine auswertung (ich nenne das mal box) im kassensystem genauso integriert sein soll, wie in der statistik oder der auftragserfassung (im konkreten fall z.b. infotexte zum kunden wie zahlungsmodalitäten und eventuell auch offene rechnungen) das ganze landet mal als bestandteil der oberfläche auf dem bildschirm, manchmal als popup, manchmal in der statistik bei gegenüberstellungen von eingang und offenständen. um den code schlank zu halten entwickeln wir nun funktionen/klassen, die man einfach aufrufen kann und die abfrage und ausgabe wird generiert. ein popup sähe dann also z.b. so aus, dass man einfach eine funktion aufruft. mein geposteter code wäre eine stark vereinfachte version von z.b. einer abfrage aller offenen rechnungen eines kunden oder des umsatzes einer filiale/abteilung. die dinger sehen fast immer gleich aus, im wesentlichen

PHP:
<?PHP

require_once("kassa_funk.php");
// aufruf 1
$_SESSION['tblwidth'] = '100px';
$_SESSION['tblparam1'] = ' nowrap height=100';
draw_open_bill_table($_SESSION['kunde_nummer']);

?>
die ausgabe wird dann komplett von der funktion generiert.
die umstellung auf css scheint mir hier sehr schwer, da ich jedes mal, wenn ich z.b. ein popup erstelle, ein style laden kann, also flexibel wäre, wenn ich aber den selben aufruf z.b. als bestandteil der kassa integriere, muss ich mit den css einstellungen des bereits geladenen headers leben. die vorgaben für das aussehen der einzelnen fenster habe ich ja auch schon angerissen.

nun teste ich derzeit mit einem include im css herum, das könnte ich per php-variable an den header übergeben. ergebnis ist aber so lala, mal klappt es, mal nicht.


wie gesagt, ich bräuchte erst mal einen generellen ansatz, wie ich die minimalsten einstellungen eines css steuern kann. derzeit sehe ich nur die möglichkeit, das css für jeden individuellen fall nahezu neu zu erstellen.
irgendwie muss das doch klappen, dass man die style angaben flexibel gestalten kann.
 
Hmmm...
Du hast verschiedene Elemente. Diese Elemente bekommen mal ein solches, mal ein anderes Aussehen, haben aber eine gleichbleibende Grundparametrierung.
Je nachdem, was der User einstellt, kann sich aber mal die Höhe, mal ein Abstand ändern. Und das willst Du variabel lassen.

Solche Gedanken habe ich mir auch schon mal ansatzweise gemacht, hatte aber noch keine Anwendung dafür. Ich war da aber auch so weit, wie Du und habe auch gedacht, dass man das mit einem PHP-geparsten Stylesheet lösen können müsste.

Aber wie gesagt...eingesetzt habe ich sowas noch nie. Klar ist, dass man nicht für alle Eventualitäten eine eigene Klasse machen kann, das geht nur, wenn die Parametrierungsmöglichkeiten überschaubar sind.

Hmmm...konnte Dir jetzt auch nicht wirklich helfen, was?

Sonnige Grüße,
-Efchen
 
angesichts meiner anforderungen (die vom kunden vorgegeben werden) kannst du meine liebe zu tabellen hoffentlich jetzt etwas besser verstehen.
manchmal helfen mir die dinger einfach bei (zumindest für mich) fast unlösbaren aufgaben, was css natürlich nicht schlechter macht, aber in meinen augen tabellen manchmal etwas besser.

das soll natürlich keine ausrede für tabellen missbrauch sein.

derzeitiger ansatz:
nun könnte ich komplett auf ein css-file verzichten und die style angaben immer im script direkt aufrufen.
ich habe mir vor ewigen zeiten mal einen css generator geschrieben, der es erlaubt div-container pixelgenau zu positionieren. die könnte ich in der datenbank unter einem namen ablegen , abfragen und dann als variable aufrufen. das klappt zwar, der erzeugte html-code sieht aber furchtbar aus.
 
angesichts meiner anforderungen kannst du meine liebe zu tabellen hoffentlich jetzt etwas besser verstehen.
Ich kann das immer verstehen, dass jemand, der Methode A intus hat und Lösungen damit einfach aus dem Ärmel schütteln kann, natürlich lieber mit der Methode arbeitet, anstatt mit Methode B, die er nicht so gut oder gar nicht beherrscht, selbst wenn Methode A enorme Nachteile hat.
Das gilt für Dich und auch für jeden anderen hier, dem ich vor den Kopf gehauen habe, dass sein Tabellenlayout Unfug ist. :-)

manchmal helfen mir die dinger einfach bei fast unlösbaren aufgaben, ... in meinen augen tabellen manchmal etwas besser.
Es kommt ja auch immer auf die Anwendung an. Das, was Du da jetzt hast, hört sich mehr nach einer Art Intranet-Anwendung an, die wirklich nur von einer begrenzten Personenzahl und nicht öffentlich zugänglich genutzt wird.
Ich gehe immer von öffentlich zugänglichen Websites aus, die jedermann besuchen kann. Und an letztere sollten eindeutig gewisse Anforderungen gestellt werden, darunter eine 100%ige Nutzbarkeit und somit Barrierefreiheit, weil es einfach unfair ist, wenn Du in einen Laden gehen willst und Dir der Inhaber sagt "Du kommt hier net rein, weil Du heute keine gelbe Krawatte mit lila Streifen trägst!" oder "Ihr Monitor ist zu klein. Um unsere Website zu nutzen, müssen Sie sich einen neuen Monitor kaufen!" (Lacher: Best Viewed with / Optimiert für ... Niemanden - alte Version)

das klappt zwar, der erzeugte html-code sieht aber furchtbar aus.
Dazu fällt mir prompt der Code von css Zen Garden: The Beauty in CSS Design ein. Optisch gesehen sind alle Designs echte Schmuckstücke. Aber der HTML-Code ist !*&"§$
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben