CMS schreiben, Probleme mit Klassen/ Templates

  • Themenstarter Themenstarter ByeBye 8492
  • Beginndatum Beginndatum
B

ByeBye 8492

Moinsen,

ich hätte mal ne Frage, Ich will mir gerade nen eigenes CMS schreiben ( ich weiß wird nie so gut wie PHPNuke etc. aber immerhim homemade).

Ich kann Array's einiger Maßen doch Klassen und Templates sind mir nen Fremdwort ;). Sollte ich mir in diese noch einarbeiten, d.h. bedeuten
diese einen erhöhten Grad von Bequemlichkeit und vielleicht sogar "code-übersichtlichkeit".

Eine Frage hät ich noch:

Wie kann man sowas machen wie beim Innovision Board:

"index.php?showforum=24"

Das ist nämlich der Link, nun meine Frage wie kann die Index.php das Forum 24 Anzeigen, wenn man über die index.php?showtopic=23
auch das Thema 23 anzeigen lassen kann.

Im Prinzip benutze ich sowas ja auch bei meinem CMS jetzt schon, doch ich kann das nicht auf eine Datei beziehen, also Kategorien und Themen gleichzeitig in einer Datei ausgeben?
 
Ich denke Du solltest Dich erstmal mit den PHP-Grundlagen auseinander setzen!
Anhand Deiner Fragestellung ist zu erkennen, dass Du noch nicht einmal in Sachen Datenübergabe via GET fit bist. Und dann gleich ein CMS schreiben
und Templates sind mir nen Fremdwort
Auch schade. Templates sind für ein CMS essentiell!

snuu
 
Original geschrieben von snuu
Ich denke Du solltest Dich erstmal mit den PHP-Grundlagen auseinander setzen!
Anhand Deiner Fragestellung ist zu erkennen, dass Du noch nicht einmal in Sachen Datenübergabe via GET fit bist. Und dann gleich ein CMS schreiben

Auch schade. Templates sind für ein CMS essentiell!

snuu

Also eigentlich hab ich mich ziemlich Lange mit den PHP-Grundlagen auseinandergesetzt.

Nen eigenes Newssystem, etc habe ich ja auch schon geschrieben ;).

Mit GET werden doch eigentlich nur die Variablen über die Browserzeile übertragen oder nicht, das kann ich dann nämlich auch ;).

Aber wo ist der Unterschied zwischen GET und POST?


Und Templates eigne ich mir gerade an. Suche nur noch vernünftige Tutorials, das Tut hier find ich nicht allzu gut, weil so mach ich die Sachen jetzt auch shcon :rolleyes:.

Will aber so mit Template Parsen machen ( also mit {inhalt} statt $inhalt).


EDIT:

Ich glaub ich weiß worauf du hinaus willst, ich glaube auf das hier:

index.php?showforum=24

Das dies über die URL übermittelt wird ist mir auch klar ;), nur das Problem dadrann ist, das dann in dem Sector wo das drannkommt nur wirres zeug steht

PHP:
if ( $ibforums->input['showforum'] != "" )
{
	$ibforums->input['act'] = "SF";
	$ibforums->input['f']   = intval($ibforums->input['showforum']);
}
else if ( $ibforums->input['showtopic'] != "")
{
	$ibforums->input['act'] = "ST";
	$ibforums->input['t']   = intval($ibforums->input['showtopic']);

	// Grab and cache the topic now as we need the 'f' attr for
	// the skins...

	$DB->query("SELECT t.*, f.topic_mm_id, f.name as forum_name, f.quick_reply, f.id as forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html,
                       f.start_perms, f.allow_poll, f.password, f.posts as forum_posts, f.topics as forum_topics, f.upload_perms,
                       f.show_rules, f.rules_text, f.rules_title,
                       c.name as cat_name, c.id as cat_id
                       FROM ibf_topics t, ibf_forums f , ibf_categories c
                       WHERE t.tid=".$ibforums->input['t']." and f.id = t.forum_id and f.category=c.id");

    $ibforums->topic_cache = $DB->fetch_row();
    $ibforums->input['f']  = $ibforums->topic_cache['forum_id'];
}
else if ( $ibforums->input['showuser'] != "")
{
	$ibforums->input['act'] = "Profile";
	$ibforums->input['MID'] = intval($ibforums->input['showuser']);
}
else
{
	$ibforums->input['act'] = $ibforums->input['act'] == '' ? "idx" : $ibforums->input['act'];
}

Dieser Code stammt aus dem Innovision Board. Das Problem dadrann ist, ich sehe nicht wo dem Script gesagt wird, das er die Foren anzeigen soll und dann noch explizit welches.

Oder ist das mit Klassen gemacht worden? ( Sieht so aus denk ich mal ;)).

Und wenn ja, wie kann ich sowas für mein CMS machen? Würde denk ich mal übersichtlicher werden.
 
Zuletzt bearbeitet von einem Moderator:
Hm, hast du jemals ein Buch gelesen was dir PHP nahebringen soll?

Naja, wie auch immer...ich finde den Sprung von Newssystem zu CMS ganzschön heftig.
Ich habe mehrere komplette Seiten gecodet (News,Team,Forum,Gbook,Counter,Artikel,...) und bin dann irgendwann auf die Idee gekommen das in Templates einzuarbeiten, als ich das fertig hatte habe ich alles über den haufen geschmissen und nen CMS gecodet, wenn man es so nennen kann.
Auf jeden Fall habe ich nichteinmal im Traum dran gedacht ernsthaft den Code von großen Foren zu analysieren, als ich grade mein erstes Newsscript gecodet habe.
Ich halte das auch nicht für sinnvoll.

Oder dürfen Babys Auto fahren? :-) (schöner Vergleich *g*)

Ich empfehle dir dich langsam da ran zu tasten und nicht mit der Tür ins Haus zu fallen...
 
hi Muffinmampfer,

das Invisionboard is komplett oop.

Das was du meinst ist nen array $ibforums übergibt eigentlich die meisten werte ->members, -> input , ect.

mit zb showforum=24 wird eigentlcih nur in kurzform gesagt das folgendes gemacht werden soll ?act=SF&f=24.

mit $ibforums->input['f'] = intval($ibforums->input['showforum']; schreib er den Wert in den Array der dann ausgewertet wird.

aber bin auch der Meinung man sollte erstmal kleine Projekte in OOP machen bevor man sich an nen CMS macht

gruss vukodlac
 
naja, seid mal nicht so hart. Er soll selber seine Erfahrungen machen :) Mit Content*Builder habe ich auch angefangen ohne etwas von Klassen zu wissen. Da wächst man rein. Allerdings hilft es, solche Themen schon vorher zu kennen, um bestimmte Sachen gleich richtig zu machen.

Template Systeme sind ziemlich wichtig. Sie ermöglichen die leichte Anpassbarkeit der Seiten ohne das der Code verändert werden muss und machen darüber hinaus den Code leserlicher.

Tutorials zu Template Systemen findest du meist in den Dokus zu den Systemen selber. Ich habe in einem anderen Forum eine Liste der mir bekannten Systeme zusammen gestellt (weiter unten)

Aber an deiner Stelle würde ich klein anfangen. Bau dir erst mal ein Login System und ein kleines Script dahinter, wo du News verwalten kannst. Ganz einfach. Dann bau ein User Management System dazu .... Schritt für Schritt.

Irgendwann kommst du dann an einen Punkt, wo du alles mist findest und über den Haufen wirfst, aber dann weißt du auch, wie du es besser machen kannst.

Naja, viel Erfolg.
 
Zuletzt bearbeitet:
Moinsen,

also ich hab schon 2 PHP Bücher durchgelesen ( ausser das Klasen / Template Kapitel), also nen N.OOB bin ich nicht mehr :rolleyes:.

Mein erstes Newsscript habe ich vor 2 Jahren gecoded ;), counter etc, hab ich alles schon gemacht und ich will mal was neues ausprobieren ;).

Also muss ich mich in OOP einarbeiten?


@Lars Michelsen: Ich bin lange kein Baby mehr in PHP sondern mehr son Jugendlicher der endlich aus den Kinderschuhen rauswachsen will ;).
Ich will meine Private Page endlich mal mit nem CMS ausstatten ( aber nur nen selbst gemachtes).

Login System hab ich auch schon lange gemacht, News verwalten auch.

Aso und mit dem User Management System, das wollte ich in mein CMS einfliessen lassen. Bisher ist es in meinen Newssystem nur teilweise vorhanden.

Aso ich programmiere nach dem Motto learning by doing, wenn ich immer nur Newssysteme/Counter/Gbooks machen würde, würde ich ja nie weiterkommen.


EDIT: Der Mensch wächst mit seinen Aufgaben, mein Newssystem hab ich auch gemacht nachdem ich mich 2 Wochen mit PHP beschäftigt hab und dann hab ich es kontinuierlich verbessert.

D.h. CMS dürfte auch machbar sein.
 
Zuletzt bearbeitet von einem Moderator:
Wenn man sich Deine Fragestellung zu Gemüte führt hat man nicht den Eindruck, dass Du seit 2 Jahren mit PHP programmierst. Im wesentlichen wolltest Du folgendes wissen:
Wie kann man sowas machen wie beim Innovision Board:

"index.php?showforum=24"

Das ist nämlich der Link, nun meine Frage wie kann die Index.php das Forum 24 Anzeigen, wenn man über die index.php?showtopic=23
auch das Thema 23 anzeigen lassen kann.

Und das geht im einfachsten Fall so:
PHP:
if (isset($_GET['showforum'])) {

// Lade Forum und zeige es an

} elseif (isset($_GET['showtopic'])) {

// Lade Thema und zeige es an

}


snuu
 
Kannst du mir vieleicht ersteinmal sagen, was du unter einem CMS verstehst?

Ich habe das Gefühl, dass viele garnicht wissen, was der Begriff CMS bedeutet...
 
learning by doing ist ne schöne Sache mache ich auch gerade :). Will mich mal an nem Forum testen. Weil für CMS habe ich absolute keine Verwendung @moment.

Aber finde es schonmal gut wenn man sich Ziele setzt und die dann Schritt für Schritt verbessert.

Ist auf jedenfalls besser als sich ne fertige Software zu saugen und bunt zu machen., dann hat man nämlich nichts gelernt.
 
Zurück