Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 9
Seite [1]
josch


Try to beat me




Beiträge: 188
# Thema - 26.03.2009 um 20:08 Uhr
Ich bräuchte mal von euch klugen köpfen gedankliche hilfe...

Ich möchte das Static Modul umbauen... / erweitern.
Folgende Ausgangslage hierbei.

Ich habe ein Template mit einem Maincontainer (div), ich habe aber Designtechnisch Unterseiten, die auf dem Static Modul aufbauen müssen mit mehreren (2 oder 3) cols.
Da mein Kunde keine Programmierkenntnisse hat, muss die Seite für ihn im FCKEditor änderbar sein.
Wie gehe ich da ran?!



Meine Idee war folgende:
Das Static Modul um einen "Layout" bereich erweitern, dort können verschiedene Positionen für Content (cols) hinterlegt werden.

Das Layout erhält eine ID.

Ich erstelle eine Static page (1) und wähle das Layout X aus (2 cols und ein footer), nun müsste ich die Positionen bennenen können um später weitere static-pages den Positionen zuordnen zu können.

Wenn die "Hauptseite" erstellt ist erstelle ich die Unterseiten, die zu Static page (1) zugeordnet werden.
Static page (2) - Position (left)
Static page (3) - Position (right)
Static page (4) - Position (footer)

Die IDs 2 - 4 müssen dann (per include?) automatisch in ID 1 eingelesen werden, wenn ich die öffne.
2 - 4 hingegen wären nicht direkt aufrufbar.

-----------------------

Wo ist mein Problem?
Ich werde an den Positionszuordnungen scheitern, im Layout wie in der Erstellung der ersten Static page und der verknüpfung zu den IDs 2 - 4.

Jemand eine Idee wie ich das Problem lösen könnte?


gruß



------------------
Der Vorteil der Klugheit besteht darin, daß man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.
Inaktiv
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 1 - 27.03.2009 um 02:06 Uhr
hi,
du musst dir erst überlegen, ob du beliebig viele seiten einbinden können willst und ob die positionen feststehen sollen.
bei variabler anzahl und position würde ich in der sql tabelle ein textfeld erstellen, in das alle ids getrennt durch zb einen bindestrich reinkommen. dann werden die alle ebenfalls geladen und an den positionen die in dem eigentlichen eintrag stehen reingeladen.
oder eben es ist fest, dann baust du ein paar int spalten in die sql tabelle dazu und lädst falls da in den spalten was steht jeweils an die definierte position die zusätzliche seite.

gruß
duRiel


Inaktiv
|
josch
Thread-Ersteller


Try to beat me




Beiträge: 188
# Antwort: 2 - 27.03.2009 um 23:34 Uhr
Wenn sollte es variabel gestaltbar sein...
Was würdest du von folgendem SQL-Layout halten


TABLE Layout

ID - INT - auto_inc
NAME - VARCHAR
CODE - LONGTEXT

// Code für das Layout, Platzhalter für die Positionen werden als {NAME} festgehalten und später dort ausgegeben
// {TITLE} ist Standardmäßig im Layout enthalten und wird durch den TITLE der Main-Static-Page replaced




TABLE STATIC

ID - INT - auto_inc
NAME - VARCHAR

// Name um eine genauere Zuordnung zu erreichen

TITLE - VARCHAR
// Ersetzt {TITLE} im Layout

CAT_ID
// Dient als Bereichsverwaltung, nicht als eigtl. Kategorie

MAINPAGE - INT
// 1 = kann verlinkt werden, 2 = kann nicht verlinkt werden, ist eine Unterseite die eingebunden wird

MAINPAGE_ID - INT
// ID der zugehörigen Hauptseite (Main-Static-Page), wo die Inhalte eingebunden werden

SUBPAGE_IDS - TEXT
// Sub-Static-Pages die zur Main-Static-Page (die verlinkt werden kann) gehören, eintragung im formar 1-15-19 (ID-ID-ID)

POSITION - VARCHAR
// Name der Position wo der Inhalt eingefügt werden soll (Wenn Sub-Static-Page)

COMMENTS - INT
ADMIN - INT
ACCESS - INT



Somit sollte das oben genannte doch theoretisch möglich sein, oder habe ich hier irgendwo nen Denkfehler, bzw. komplizierten weg?



------------------
Der Vorteil der Klugheit besteht darin, daß man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.

Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 3 - 28.03.2009 um 02:20 Uhr
habs nicht 100% verstanden, aber eine genauere beschreibung zu dem was du dir dabei gedacht hast wäre hilfreich. ich habe die beziehung zwischen static und layout nicht richtig verstanden.

ansonsten sieht es etwas kompliziert aus. zb mainpage und mainpage_id können in 1 feld zusammengefasst werden. bei 0 ist es eine mainpage, bei != 0 ist es eine subpage und die id gibt die id der mainpage an.
kann genaueres aber durch das verständnisproblem noch nicht sagen.


Inaktiv
|
josch
Thread-Ersteller


Try to beat me




Beiträge: 188
# Antwort: 4 - 28.03.2009 um 11:33 Uhr
Ok, hier nun mal etwas genauer das ganze.



Layout ist für folgendes gedacht.

Ich habe in meinem Template einen DIV-Container mit width: 100%;
Die Layouts die ich anlege legen z.B. ein 2 oder 3 Spaltiges Layout an mit Platzhaltern wo später andere Statische Seiten reingeladen werden sollen.

Name
// Hier wird der Name z.B. "3 Spalten mit je 33%width" oder "2Spalten 60/40%" eingegeben, wie das Design aufgeteilt ist

Code
// Der Code besteht aus den div-containern um die größenverhältnisse herzustellen und die Platzhalter einzufügen

CAT_ID
Falls dieses Layout für einen bestimmten Bereich gedacht ist, dient zur besseren Übersicht.


Die Layouts können nach erfolgreichem eintragen bei den Static-Pages ausgewählt werden.



Static-Pages ansicht
Ich möchte eine neue Hauptseite erstellen, die ich nun mit einem meiner Layouts (3Spalten) ausgeben möchte.
Der Inhalt wird über die Sub-Seiten erstellt, aber nicht gestyled (nur über den FCKEditor).

Name
Ist ein Name der Seite, der in der Verwaltung angezeigt wird z.b:
=> Produkte <= (Mainpage)
---- linke Spalte (1. Subseite) ----
---- mittlere Spalte (2. Subseite) ----
---- rechte Spalte (3. Subseite) ----
=> Sonstiges <= (Mainpage)
---- Zeile oben (1. Subseite) ----
---- Zeile unten (2. Subseite) ----

TITLE
der Titel wird dann in dem Layout, in einem definierten Bereich, einmal ausgegeben. Titel für die Sub-Seiten werden mit dem FCK-Editor manuell platziert.

LAYOUT_ID
Hatte ich oben vergessen, hier wird natürlich das ausgewählte Layout hinterlegt.

MAINPAGE_ID
Hier muss ich dir recht geben, die Mainpage_id kann ich hier mit einfließen lassen

Hier wird festgelegt ob es sich um eine Hauptseite handelt, die ein Layout verwendet oder um eine Sub-Seite die in eine Hauptseite eingebunden wird.
0 = Subseite, !=0 = Hauptseite
Die zugehörigen Subseiten (wenn !=0) hänge ich mit hinter die deklaration, der Hauptseite.
Zu welcher Mainpage die Sub-Page gehört kann ich hier ja auch mit einbringen.
Bei einer Mainpage würde dann folgendes stehen
1-0-ID(Subseite)-ID(2. Subseite)-ID(3. Subseite) = 0 weil hier ja keine Zuordnung zu einer Mainpage besteht, da es selbst eine ist.
0-2 = 0, weil es sich "nur" um eine Sub-Page handelt und 2 weil dies die Mainpage ID ist.

CAT_ID
Dient lediglich zur besseren Übersicht der Anwender in der Verwaltung.
Wenn die Seite mehrere Bereiche hat, kann man hier den Bereich der Seite auswählen (in der Verwaltung) und erhält nur die Seiten für den jeweiligen Bereich

POSITION
In dem Layout werden Plathalter (ähnlich der normalen Template Engine eingebunden)
Auf das Beispiel bezogen

<h1>{title}</h1>
<div style="width: 33%; float: left;">{left}</div>
<div style="width: 33%; float: left;">{center}</div>
<div style="width: 33%; float: left;">{right}</div>


In das Position-Feld wird also bei einer Subpage "left, center oder right" eingetragen und bei der Ausgabe der Position zugeordnet.



Noch mehr Ideen verbesserungsvorschläge?
Hast du ggf. eine Idee wie man die Positionszuordnung besser lösen könnte?
Vielleicht mit einem Infofeld beim Layout selbst, welches als tooltip neben dem ausgewähltn Layout angezeigt wird,
damit der User weiß, welche Platzhalter es gibt ?




------------------
Der Vorteil der Klugheit besteht darin, daß man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.

Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 5 - 28.03.2009 um 18:15 Uhr
hi,

das klingt ziemlich kompliziert.

ich hätte auf die layout tabelle verzichtet. du verknüpfst die statics ja einmal mit der haupt static page und einmal mit dem layout.
ich würde da lieber eine static page erstellen die das layout definiert und darin eben die unterseiten einbindet.
dann verbindest du die subseiten nur mit der layout static seite und hast ne fertige beziehung.

gruß
duRiel


Inaktiv
|
josch
Thread-Ersteller


Try to beat me




Beiträge: 188
# Antwort: 6 - 28.03.2009 um 22:20 Uhr
Ich weiß schon warum ich das hier poste.
Ich habe gehofft das so nen kluges köppfchen wie du hier antwortet...

Somit sollte ja eigtl. alles klar sein ^^

Wenn ich Hilfe brauche, frag ich hier wieder nach... wenn ich darf?

gruß und nochmal danke


edit
Wenn ich es aber so realisiere, sind die Vorlagen ja eigtl. Weg
Das heisst jemand ohne Programmierkenntnisse könnte kein eigenes Layout verwenden... der Nachteil ist für die Benutzerfreundlichkeit aber wichtig... hast du da doch noch ne andere Idee für ?


------------------
Der Vorteil der Klugheit besteht darin, daß man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.

Zuletzt editiert von josch am 28.03.2009 um 22:35 Uhr (1x Editiert)
Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 7 - 29.03.2009 um 01:05 Uhr
okay, kannst es aber dennoch nur mit der static tabelle machen.

mainpage id:
0 = diese static page ist eine layout seite
> 0 = diese static page ist der static seite mit der id mainpage_id untergeordnet. hat diese eine mainpage_id von 0, ist diese seite die hauptseite, die aufgerufen wird und der andere seiten zugeordnet werden. hat die mainpage eine mainpage_id != 0, ist die aktuelle seite eine seite, die von der mainpage mit mainpage_id eingebunden wird.

also hierarchie:

Layout Statics
  • Mainpage_id = 0
  • lassen sich von den mainpages einbinden.

Mainpage Statics
  • Mainpage_id = ID der Layout Static
  • beinhaltet den hauptsächlichen inhalt

Eingebundene Statics
  • Mainpage_id = ID der Mainpage Static
  • wird von Mainpage Static eingebunden


eigentlich sollten die eingebundenen statics nochmal weiter eingerückt sein, aber das macht der abcode hier scheinbar nicht mit :>


Inaktiv
|
josch
Thread-Ersteller


Try to beat me




Beiträge: 188
# Antwort: 8 - 29.03.2009 um 04:00 Uhr
Das kam nun leider etwas zu spät, die Umsetzung ansich ist schon fertig, muss jetzt nurnoch die backend dateien erstellen.

Ich würd dir das Modul gerne mal schicken bevor ich es hier in die ModulDB stelle, vielleicht findet Ihr ja auch interesse an einer generellen Einbindung...

Bis später


------------------
Der Vorteil der Klugheit besteht darin, daß man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.

Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 9 - 29.03.2009 um 04:21 Uhr
ok


Inaktiv
|
Antworten: 9
Seite [1]


Sie müssen sich registrieren, um zu antworten.