Portal Module

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Portal Module

    Hallo Leute,

    ich bin gerade dabei, ein mini Portal zu coden.
    Ähnlich wie im HMPortal für wbb soll es möglich sein, eigene Boxen zu bauen, allerdings ohne in den Code zu müssen.
    Er soll eigene php Scripte programmieren können um diese dann in das Portal einzubinden

    Ich stelle dem Mod ein Formular zur Verfügung, mit der er folgende Informationen eingeben muss:

    Code:
       boxid  (automatisch vergeben)
       boxplace  (left, center oder right)
       boxorder  0 - 99 für die Plazierung               
       boxtemplate  Name des verwendeten Templates
       boxgroups  Rechtestufe, die für die Anzeige erforderlich ist
       boxcode  php Datei, die das Template füllen soll
       boxpath  ordner in der die php Datei liegt
       boxtype  1 = box immer anzeigen, 2 = Nur anzeigen wen &content=boxcode
    Eine entsprechende Funktion liest nun aus, ob in der Url ein &content=xxx vorkommt, läd den passenden Code mit include und sucht sich aus der Datenbank das passende Template raus.

    Alle anderen Codes (boxtype=1) werden in einer Schleife 'includet' , dem passenden Template zugeordnet und angezeigt (wenn die Rechte da sind).

    Hier ein Beispiel:

    Link mit &content
    Link ohne &content

    Die anderen Boxen links und rechts werden auf die gleiche Art und Weise hinzugeladen.

    Was haltet Ihr an diesem System für Verbesserungswürdig, habt Ihr noch Vorschläge, was noch fehlen könnte?

    Danke im Voraus

    Euer Peacie

  • #2
    Die Links haben doch beide Content - oder habe ich da was nicht ganz verstanden
    [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

    [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

    [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
    (from here)

    Kommentar


    • #3
      Original geschrieben von Meillo
      Die Links haben doch beide Content - oder habe ich da was nicht ganz verstanden
      Vielleicht ist der eine Link einfach nur ein Beispiel, was der Standartcontent ist *schulter zuck*

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Hmm,

        eigentlich gehts ja auch nur teilweise um die Links.

        Einmal mit ?content=F12005_rennkalender wird der Content in der Mitte getausch, nix ungeöhnliches.
        Es geht mir nur um die oben beschriebene Methode, dem Portaluser die Möglichkeit zu geben, eigene Boxen zu bauen, die auch php code enthalten könnten.

        In diesem Fall hat halt der User die F12005_rennkalender.php gebaut und lässt sie als content in der mitte erscheinen....

        Kommentar


        • #5
          Ok,

          cih versuchs mal anders


          Es gibt 2 Tabellen:

          Ein Beispielinhalt der Boxentabelle:
          Code:
          boxid  		1
          boxtitle  		User Online  -> Boxenüberschrift
          boxplace  		left -> left, center oder right
          boxorder  		1 -> diese Box soll als erstes erscheinen
          boxtemplate  	cs_user_online -> das passende template aus der Templatedatenbank
          boxtemplatepath  	UNWICHTIG -> nur für den Templatemode “file” (nicht DB)
          boxgroups  		0 -> alle user dürfen die box sehen
          boxcode  		cs_user_online -> die datei cs_user_online.php …
          boxpath  		boxcodes ->  aus dem ordner boxcodes soll includet werden
          boxtype  		2 -> immer Anzeigen (andere Möglichkeit wäre z.B. 
                                  3 für „nur anzeigen wenn &content=cs_user_online an der URL pappt"
          der passende Datensatz aus der Templatedatenbank
          Code:
          tpl_id  		25
          tpl_name  	cs_user_online -> steht in boxtemplate  
          tpl_code  	HTML CODE DES TEMPLATES (wirrd noch von tpl engine übersetzt           
          set_id  		1 -> TemplatesetID, es gibt mehrere Designs

          eine Schleife liest nun alle Datensätze aus der Boxentabelle, holt sich das passende Template und übersetzt es…

          PHP-Code:
          $bsql="select * from ".$settings[table]."boxes  
                 where boxplace != 'inaktiv' and boxgroups <= '
          $_SESSION[grouplevel]
                 order by boxorder"
          ;
          $bresult mysql_query($bsql);echo mysql_error();
          while(
          $bzeile=mysql_fetch_array($bresult))
                  {    
                  
          $sql="select * from ".$settings[table]."templates_".$_SESSION[templatesuffix].
                        where tpl_name = 'cs_boxholder'"
          ;
                  
          $result mysql_query($sql);echo mysql_error();
                  while(
          $zeile=mysql_fetch_array($result))
                      {
                      . . .
                      . . . 
                      
          $tpl[$tpl_name]=do_template($bzeile[boxtemplate]);
                      include 
          $settings[path]."/$bzeile[boxpath]/".$bzeile[boxcode].".php";
                      
          $outarray[$bzeile[boxplace]."_boxholder"] = do_some_templatestuff().
                      }    

          Nun habe ich den Inhalt der Boxen in den 3 Bereichen $outarray[left_boxholder] .. $outarray[center_boxholder].. $outarray[right_boxholder] in der Reihenfolge boxorder.

          Die kann ich dann in meine Index platzieren.

          Was haltet Ihr von der Methode als solches, um dem Betreiber möglichst einfach zu erlauben, Codeboxen einzubinden...?

          EDIT:
          Umbrüche hinzugefügt
          Zuletzt geändert von ; 04.01.2005, 13:55.

          Kommentar

          Lädt...
          X