ilch Forum » Ilch Clan 1.1 » Allgemein » Hilfe beim einbinden

Geschlossen
  1. #1
    User Pic
    Imagina Mitglied
    Registriert seit
    06.08.2012
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Hallo liebe Ilchler

    Ich habe ein kleines Problem das dadurch entstanden ist, dass ich mich so gar nicht mit html und php auskenne :-)

    Ich würde gerne diesen Code in meine Page einbinden. Das Dokument sollte sich als Menüpunkt einfügen und sich dann im Content öffnen. Leider weiß ich so gar nicht wie ich das anstellen soll.

    Herrausgefunden habe ich, dass sich das ganze nur öffnen lässt wenn ich die html Datei auf dem Server in eine PHP Datei umschreibe. Damit kann ich zwar die gewünschte Datei aufrufen, jedoch wird sie nicht im Content eingebunden. Will ich das ganze aber nun gleich in PHP schreiben, bin ich komplett aufgeschmissen, da ich von PHP noch weniger versteh wie von Html.

    Wenn mir hier jemand dabei helfen könnte wäre das wirklich klasse.

    Der Menüpunkt ist "Hilfe" wer es sich anschauen möchte.

    Und hier nun der Code:

    <html>
    <head>
    <title>Beispiel</title>
    <script type="text/javascript">
      /*
       * Fügt den Listeneinträgen Eventhandler und CSS Klassen hinzu,
       * um die Menüpunkte am Anfang zu schließen.
       *
       * menu: Referenz auf die Liste.
       * data: String, der die Nummern aufgeklappter Menüpunkte enthält.
       */
      function treeMenu_init(menu, data) {
        var array = new Array(0);
        if(data != null && data != "") {
          array = data.match(/\d+/g);
        }
        var items = menu.getElementsByTagName("li");
        for(var i = 0; i < items.length; i++) {
          items[i].onclick = treeMenu_handleClick;
          if(!treeMenu_contains(treeMenu_getClasses(items[i]), "treeMenu_opened")
              && items[i].getElementsByTagName("ul").length
                + items[i].getElementsByTagName("ol").length > 0) {
            var classes = treeMenu_getClasses(items[i]);
            if(array.length > 0 && array[0] == i) {
              classes.push("treeMenu_opened")
            }
            else {
              classes.push("treeMenu_closed")
            }
            items[i].className = classes.join(" ");
            if(array.length > 0 && array[0] == i) {
              array.shift();
            }
          }
        }
      }
    
      /*
       * Ändert die Klasse eines angeclickten Listenelements, sodass
       * geöffnete Menüpunkte geschlossen und geschlossene geöffnet
       * werden.
       *
       * event: Das Event Objekt, dass der Browser übergibt.
       */
      function treeMenu_handleClick(event) {
        if(event == null) { //Workaround für die fehlenden DOM Eigenschaften im IE
          event = window.event;
          event.currentTarget = event.srcElement;
          while(event.currentTarget.nodeName.toLowerCase() != "li") {
            event.currentTarget = event.currentTarget.parentNode;
          }
          event.cancelBubble = true;
        }
        else {
          event.stopPropagation();
        }
        var array = treeMenu_getClasses(event.currentTarget);
        for(var i = 0; i < array.length; i++) {
          if(array[i] == "treeMenu_closed") {
            array[i] = "treeMenu_opened";
          }
          else if(array[i] == "treeMenu_opened") {
            array[i] = "treeMenu_closed"
          }
        }
        event.currentTarget.className = array.join(" ");
      }
    
      /*
       * Gibt alle Klassen zurück, die einem HTML-Element zugeordnet sind.
       *
       * element: Das HTML-Element
       * return: Die zugeordneten Klassen.
       */
      function treeMenu_getClasses(element) {
        if(element.className) {
          return element.className.match(/[^ \t\n\r]+/g);
        }
        else {
          return new Array(0);
        }
      }
    
      /*
       * Überprüft, ob ein Array ein bestimmtes Element enthält.
       *
       * array: Das Array
       * element: Das Element
       * return: true, wenn das Array das Element enthält.
       */
      function treeMenu_contains(array, element) {
        for(var i = 0; i < array.length; i++) {
          if(array[i] == element) {
            return true;
          }
        }
        return false;
      }
    
      /*
       * Gibt einen String zurück, indem die Nummern aller geöffneten
       * Menüpunkte stehen.
       *
       * menu: Referenz auf die Liste
       * return: Der String
       */
      function treeMenu_store(menu) {
        var result = new Array();;
        var items = menu.getElementsByTagName("li");
        for(var i = 0; i < items.length; i++) {
          if(treeMenu_contains(treeMenu_getClasses(items[i]), "treeMenu_opened")) {
            result.push(i);
          }
        }
        return result.join(" ");
      }
    </script>
    <style type="text/css">
      li.treeMenu_opened ul {
        display: block;
      }
      li.treeMenu_closed ul {
        display: none;
      }
    </style>
    <body onLoad="treeMenu_init(document.getElementById('menu'), '')">
    <ul id="menu">
      <li>erstens
        <ul>
          <li>A</li>
          <li>B</li>
        </ul>
      </li>
      <li>zweitens
        <ul>
          <li>a</li>
          <li>b</li>
        </ul>
      </li>
    </ul>
    </body>
    </html>


    betroffene Homepage: gdasevencore.funpic.de/
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    selfpage im admin bereich nutzen
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Imagina Mitglied
    Registriert seit
    06.08.2012
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Danke dir das hat schonmal sehr geholfen, leider klappen nun die Funktionen nicht mehr.

    Es ist jetzt zwar eingebunden und wir auch im Content angezeigt, jedoch kann ich das Menü nicht mehr so aufklappen wie es eigentlich geplant war.

    Muss ich für die Selfpage noch etwas daran umändern?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Blaubaer Mitglied
    Registriert seit
    24.10.2009
    Beiträge
    331
    Beitragswertungen
    33 Beitragspunkte
    kopier dier das mal und speichere es als help.php ab

    dann hochladen nach /../include/contents/selfbp/selfp

    danach ins menu einbinden
    <?php defined ('main') or die ('no direct access'); ?><!--@title=Hilfe@--><!--@hmenu=Hilfe@--><!--@view=normal@--><!--@viewoptions=@--><!--@wysiwyg=0@--><html>
    
    <head>
    
    <title>Beispiel</title>
    
    <script type="text/javascript">
    
      function treeMenu_init(menu, data) {
    
        var array = new Array(0);
    
        if(data != null && data != "") {
    
          array = data.match(/\d+/g);
    
        }
    
        var items = menu.getElementsByTagName("li");
    
        for(var i = 0; i < items.length; i++) {
    
          items[i].onclick = treeMenu_handleClick;
    
          if(!treeMenu_contains(treeMenu_getClasses(items[i]), "treeMenu_opened")
    
              && items[i].getElementsByTagName("ul").length
    
                + items[i].getElementsByTagName("ol").length > 0) {
    
            var classes = treeMenu_getClasses(items[i]);
    
            if(array.length > 0 && array[0] == i) {
    
              classes.push("treeMenu_opened")
    
            }
    
            else {
    
              classes.push("treeMenu_closed")
    
            }
    
            items[i].className = classes.join(" ");
    
            if(array.length > 0 && array[0] == i) {
    
              array.shift();
    
            }
    
          }
    
        }
    
      }
    
    
      function treeMenu_store(menu) {
    
        var result = new Array();;
    
        var items = menu.getElementsByTagName("li");
    
        for(var i = 0; i < items.length; i++) {
    
          if(treeMenu_contains(treeMenu_getClasses(items[i]), "treeMenu_opened")) {
    
            result.push(i);
    
          }
    
        }
    
        return result.join(" ");
    
      }
    
    </script>
    
    <style type="text/css">
    
      li.treeMenu_opened ul {
    
        display: block;
    
      }
    
      li.treeMenu_closed ul {
    
        display: none;
    
      }
    
    </style>
    
    <body onLoad="treeMenu_init(document.getElementById('menu'), '')">
    
    <ul id="menu">
    
      <li>erstens
    
        <ul>
    
          <li>A</li>
    
          <li>B</li>
    
        </ul>
    
      </li>
    
      <li>zweitens
    
        <ul>
    
          <li>a</li>
    
          <li>b</li>
    
        </ul>
    
      </li>
    
    </ul>
    
    </body>
    
    </html>


    Fertig lächeln
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Imagina Mitglied
    Registriert seit
    06.08.2012
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Danke danke danke

    Du hast zwar glaub irgendwo nen Fehler im Code denn damit hats nicht funktioniert, dennoch hab ich einfach den php teil in die vorhandene Datei kopiert und nun klappt es genau so wie es soll.

    Nochmal ganz ganz herzlichen dank an euch beide!!!

    LG Ima
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten