ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Modul installation

Geschlossen
  1. #1
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    Hi leute,

    ich bin ja grad dabei ein tag_cloud modul zu schreiben und wüsste gerne wie ich es schaffe dass das modul automatisch bei einer installation im admin bereich unter module auftaucht

    gibt es da was automatisches oder muss ich die admin.php verändern und mit in das paket stellen?
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ein Eintrag in der prefix_modules Tabelle reicht dafür -> www.ilch.de/doku-entwickler11i.html#module
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    sehr cool danke lächeln
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ich hätte nochmal eine frage dazu wie kann ich auch ein icon für das installierte modul mit verknüpfen?

    das steht leider nicht in der doku oder ich war blind^^
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Einfach ein Bild mit dem Namensschema include/images/admin/{url}.png anlegen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    okay gute danke
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    Hi,

    ich hab mal ne Frage.

    Folgendes:

    Ich bin ja nun kein (noch nich) gelernter Coder.
    Ich habs auf jedenfall hinbekommen das mein, ich sag mal Modul das ich mir für meine seite abgeändert habe funktioniert.
    Ich habe also das News modul abgeändert und mit ner neuen tabelle verbunden, soll ja auch irgendwo gespeichert werden, blos nich in den news.^^

    So... Nun meine Frage.. Nr1. wie bekomme ich das hin, dass im adminbereich die eigetragenen Meldungen/Dinge/News wie auch immer, zu verschieben sind.
    So ungefähr wie man die Boxen in der Navigation mit den Pfeilen nach oben und nach unten verschieben kann.
    *Im grunde ist es das normale Standart news modul vom CMS-script. Ich möchte praktisch die eingetragenen news im adminmenü nach oben und nach unten verschieben können über die Pfeilbuttons, die es zb. auch in den downloads oder der Navigation gibt.

    Da es jetzt schon so viel Text iss, hebe ich mir Frage Nr2. noch auf ^^.
    Ich hoffe ihr könnt mir Folgen zunge
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Das ist eigentlich ganz einfach

    Dazu benötigst du ein DB Feld wo du die Reihenfolge speicherst.
    Und dann halt eine einfache kleine Funktion, diese kannst du z.B. aus dem ilch CMS nehmen. Zufinden z.B. im Forum oder eine Funktion schreiben...


    so geht es im Forum
     case 'moveForum' :
          $move = $menu->get(2);
          $fid = $menu->get(3);
          $pos = $menu->get(4);
          $cid = $menu->get(5);
    	    $a = db_count_query("SELECT COUNT(*) as anz FROM prefix_forums WHERE cid = ".$cid);
    			$np = ( $move == 0 ? $pos -1 : $pos+1 );
    			$np = ( $np >= ( $a -1 ) ? ( $a - 1) : $np );
          $np = ( $np < 0 ? 0 : $np );
    			db_query("UPDATE prefix_forums SET pos = ".$pos." WHERE pos = ".$np." AND cid = ".$cid, true);
    			db_query("UPDATE prefix_forums SET pos = ".$np." WHERE id = ".$fid, true);
    	  break;



    Vom Prinzip geht es dann so:
    Du hast im Frontend zwei Links
    admin.php?news-***-up-2
    admin.php?news-***-down-2

    Habs mal lang ausgeschrieben!
    Bei Nutzung von z.B. getA würde u und d gefolgt von der ID reichen.
    admin.php?news-***-u2
    admin.php?news-***-d2


    Im PHP Teil musst du dann prüfen ob deine neue Position noch in den grenzen liegt, sprich kleiner null oder größer "Anzahl aller Beiträge" + 1, natürlich musst du vorher abfragen ob up / down oder u/d in der url sind.

    Neue Position berechnen
     
     if ( $direction == 'up' ) {
             $npos = $pos - 1;
        } 
        if ( $direction == 'down' ) {
             $npos = $pos + 1; 
        }


    Und dann fehlen nur noch die Positionen in der Datenbank

          // Sortierende Objekt uus der Liste nehmen  -1
          db_query("UPDATE prefix_$dbname SET $sortfield = -1 WHERE $sortfield = ".$pos);
          
          // Objekt an der neuen Position an die alte des vorgängers setzen
      	  db_query("UPDATE prefix_$dbname SET $sortfield = ".$pos." WHERE $sortfield = ".$npos);
      	  
          // Neue Pos für verschiebtes Objekt
          db_query("UPDATE prefix_$dbname SET $sortfield = ".$npos." WHERE $sortfield = -1");


    Zuletzt modifiziert von Revolution am 15.10.2013 - 17:00:50
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    1 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    So moment nun muss ich dein post erstmal lesen, hab zu lange geschrieben ^^.


    Zuletzt modifiziert von Raptusguru am 15.10.2013 - 16:57:41
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Ich habs sicherlich nicht gut ausgedrückt lachen
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    1 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    ZitatZitat geschrieben von Revolution

    Ich habs sicherlich nicht gut ausgedrückt lachen


    Also , ich verstehe zumindest wie das so einigermaßen zusammen hängt Bier.
    Nun ist blos die frage wie ich das nun alles zusammen bekomme.
    Ich kenne zwar nun die zusammenhänge, aber zum zusammenfügen fehlt mir echt das nötige wissen.

    Meine --->> (noch nicht) <<-- coder aussage, war wohl etwas zu weit her geholt, meine ausbildung fängt erst im Februar an ^^.

    Kannst du mir dabei helfen grumml

    P.S. doch es war gut erklärt ^^
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Da du weißt das es diese funktion schon gibt und auch wo dann schau dir doch die datein an wie es da gelöst wurde.

    Dann Probieren zwinker
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    Also danke für die Beschreibung.
    Ich hätte mal lieber das Forum Modul als Bastelebene nutzen sollen, da hätte ich dieses Positionszeug schon drinne ^^.

    Mich bringt da so einiges durcheinander. $cid $fid und $pos. Ich nehme mal an, dass wie im Code oben $pos für die position iss ^^. Was ist denn mit dem $fid und $cid?? ich denke das sind dann die unterkategorien der Foren xD (logischer weise).
    Ich hab da also erstmal auf ganz doof den Code nr1 genommen -->
    case 'moveForum' :


    und hab den in die damalige admin/news.php an diese stelle gesetzt -->
    // del
    if ($menu->get(1) == 'del') {
        db_query('DELETE FROM `prefix_membercards` WHERE news_id = "' . $menu->get(2) . '" LIMIT 1');
    	
      break;
      case 'moveForum' :
          $move = $menu->get(2);
          $fid = $menu->get(3);
          $pos = $menu->get(4);
          $cid = $showcid = $menu->get(5);
    	    $a = db_count_query("SELECT COUNT(*) as anz FROM prefix_membercards WHERE cid = ".$cid);
    			$np = ( $move == 0 ? $pos -1 : $pos+1 );
    			$np = ( $np >= ( $a -1 ) ? ( $a - 1) : $np );
          $np = ( $np < 0 ? 0 : $np );
    			db_query("UPDATE prefix_forums SET pos = ".$pos." WHERE pos = ".$np." AND cid = ".$cid);
    			db_query("UPDATE prefix_forums SET pos = ".$np." WHERE id = ".$fid);
    	  
    }
    // del


    (iss bestimmt falsch ^^)

    muss das $fid usw drinne bleiben??? wenn nich wie bekomme ich das raus ohne die funtion zu zerstören? Muss ich dann $pos...get(4) in $pos...get(1) umbenennen??? :'(;)

    achso und warum steht im forum template
    <td><a href="?forum-moveForum-0-{fid}-{fpos}-{cid}"><img src="include/images/icons/pfeilo.gif" border="0"></a></td>
    {fpos} ???

    Zuletzt modifiziert von Raptusguru am 16.10.2013 - 22:03:57
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Der Code ist ein doofes Beispiel gewesen....

    Ich fang nochmal neu an... dafür dann hoffentlich Schritt für Schritt

    Dein Standard Link zum Aufruf lautet ja admin.php?news
    beim Aufruf einer News wird -{id} angehängt.

    So nun zu deinem Problem:
    Als erstes baust du dir die Pfeile ein, das wirst du sicherlich hinbekommen haben. Hier musst du dir nun gedanken machen wie du die Links (Klicks auf UP / Down verarbeiten möchtest). Weil es einfach ist machen wir in diesem Tutorial mal admin.php?news-move-up-{id} und admin.php?news-move-down-{id}

    Das war es auch schon im Template, nun gehts auf zum PHP Code.
    hier lege ich nun mal das Standard Ness Modul zu Grunde... beim NewsEx geht es aber auch

    Damit der Klick auf die neuen Icons überhaut eine Reaktion bringt baust du dir eine Abfrage

    if($menu->get(1) == "move"){
    
    echo 'klick auf einen Link';
    
    }


    Schön, beim Klick sollte nun der Text angezeigt werden:D

    Weiter innerhalb der neuen If Abfrage, als DB Feld für die Position wurde "pos" genutzt.


    if($menu->get(1) == "move"){
    $action = $menu->get(2); // Up / Down
    $id = escape($menu->get(3), 'integer'); // News ID
     
    // Aktuelle Pos
    $pos = db_result(db_query("SELECT pos FROM prefix_news WHERE id = ".id ),0,0);
     
    // Anzahl Einträge
    
    $ges = db_count_query("SELECT COUNT(*) FROM prefix_news");
     
    // Pos berechnen
    $np = ( $action == 'up' ? $pos -1 : $pos+1 );
     
     
    $np = ( $np >= ( $ges -1 ) ? ( $ges - 1) : $np );
     
    db_query("UPDATE prefix_news SET pos = ".$pos." WHERE pos = ".$np, true);
    db_query("UPDATE prefix_news SET pos = ".$np." WHERE  id = ".$id, true);
     
    }


    Habs nicht getestet lachen


    Zuletzt modifiziert von Revolution am 16.10.2013 - 22:55:20
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    Also, bis zur anzeige des klich auf einen link. alles okay da ja nur echo war. so beim rest kommt das ^^

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

    zwinker
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Oh ja da waren zwei Syntax Fehler im Code, hab ihn oben angepasst.
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    Soooo ^^, nun funzt das soweit das mir meine adminseite wieder angezeigt wir. sobald ich aber aus dem datenbank prefix die datenbank membercards anwähle, gibts nen syntax error. hab ich evtl die falschen spalten drinne. obwohl diese eigendl. 1:1 aus der ic1_news stammen.

    if($menu->get(1) == "move"){
    $action = $menu->get(2); // Up / Down
    $id = escape($menu->get(3), 'integer'); // News ID
      
    // Aktuelle Pos
    $pos = db_result(db_query("SELECT pos FROM prefix_membercards WHERE id = ".id ),0,0);
      
    // Anzahl Einträge
     
    $ges = db_count_query("SELECT COUNT(*) FROM prefix_membercards");
      
    // Pos berechnen
    $np = ( $action == 'up' ? $pos -1 : $pos+1 );
      
      
    $np = ( $np >= ( $ges -1 ) ? ( $ges - 1) : $np );
      
    db_query("UPDATE prefix_membercards SET pos = ".$pos." WHERE pos = ".$np, true);
    db_query("UPDATE prefix_membercards SET pos = ".$np." WHERE  id = ".$id, true);
      
    }
    einfach nur das prefix geändert. zunge

    Moment ^^. sie wird doch angezeigt mit geändertem präfix. aber ordnen geht nich also up/down bis auf seite neu laden passiert da nix... xD

    <td><a href="?membercards-move-up-{id}"><img src="include/images/icons/pfeilo.gif" border="0"></a></td> 
    		<td><a href="?membercards-move-down-{id}"><img src="include/images/icons/pfeilu.gif" border="0"></a></td>

    Das sind die zwei abgeänderten buttons aus der forum.php
    gesperrtes Bild

    Hab alles rein gehaun was verdächtig sein könnte, also nich wundern. aufräumen kann ich später ^^
    Zuletzt modifiziert von Raptusguru am 16.10.2013 - 23:16:46
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Du musst nun natürlich noch die Ausagbe anpassen, also den SELECT Aufruf
    Sieht meist irgendwie so aus SELECT ......... da baust du das "ORDER by pos" ran, oder änderst den alten aufruf.

    Zu der Weiterleitung:
    Das hab ich natürlich übersehen, einfach in der if oben, am ende ein
    wd('admin.php?news, 'Weiterleitung', 0 );

    einfügen.


    Zuletzt modifiziert von Revolution am 16.10.2013 - 23:16:59
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    ZitatZitat
    da baust du das "ORDER by pos" ran, oder änderst den alten aufruf.


    soll ich das ORDER by pos nur in dem code von dir einfügen ???
    da steht ja auch hinter manchen SET und so??
    Meine Synapsen hängen gerade kreuz und quer ^^
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Ne ne in der Auflistung der Datensätze lachen
    Sonst poste mal deinen Code (PHP)


    Zuletzt modifiziert von Revolution am 16.10.2013 - 23:32:12
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    So da iss der übeltäter ^^

    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    // -----------------------------------------------------------|
    // #
    // ##
    // ###
    // #### F u n k t i o n e n
    function getKats ($akt) {
        $katAR = array();
        $kats = '';
        $erg = db_query("SELECT DISTINCT news_kat FROM `prefix_membercards`");
        while ($row = db_fetch_object($erg)) {
            $katAr[] = $row->news_kat;
        }
        $katAr[] = 'Allgemein';
        $katAr = array_unique($katAr);
        foreach($katAr as $a) {
            if (trim($a) == trim($akt)) {
                $sel = ' selected';
            } else {
                $sel = '';
            }
            $kats .= '<option' . $sel . '>' . $a . '</option>';
        }
        return ($kats);
    }
    // #### F u n k t i o n
    // ###
    // ##
    // #
    
    // #
    // ##
    // ###
    // #### A k t i o n e n
    if (!empty($_REQUEST['um'])) {
        $um = $_REQUEST['um'];
        $_POST['titel'] = escape($_POST['titel'], 'string');
    	$_POST['grecht'] = escape($_POST['grecht'], 'integer');
    	$_POST['kat'] = escape($_POST['kat'], 'string');
    	$_POST['katLis'] = escape($_POST['katLis'], 'string');
    	$_POST['newsID'] = escape($_POST['newsID'], 'integer');
    	if ($um == 'insert') {
            // insert
            $text = escape($_POST['txt'], 'textarea');
            if ($_POST['katLis'] == 'neu') {
                $_POST['katLis'] = $_POST['kat'];
            }
            db_query("INSERT INTO `prefix_membercards` (news_title,user_id,news_time,news_recht,news_kat,news_text)
    		VALUES ('" . $_POST['titel'] . "'," . $_SESSION['authid'] . ",NOW()," . $_POST['grecht'] . ",'" . 
    
    $_POST['katLis'] . "','" . $text . "')");
            // insert
        } elseif ($um == 'change') {
            // edit
            $text = escape($_POST['txt'], 'textarea');
    
            if ($_POST['katLis'] == 'neu') {
                $_POST['katLis'] = $_POST['kat'];
            }
            db_query('UPDATE `prefix_membercards` SET
    				news_title = "' . $_POST['titel'] . '",
    				user_id  = "' . $_SESSION['authid'] . '",
    				news_recht = "' . $_POST['grecht'] . '",
    				news_kat   = "' . $_POST['katLis'] . '",
    				news_text  = "' . $text . '" WHERE news_id = "' . $_POST['newsID'] . '" LIMIT 1');
            $edit = $_POST['newsID'];
        }
    }
    // edit
    // del
    if ($menu->get(1) == 'del') {
        db_query('DELETE FROM `prefix_membercards` WHERE news_id = "' . $menu->get(2) . '" LIMIT 1');
    	  
    }
    if($menu->get(1) == "move"){
    $action = $menu->get(2); // Up / Down
    $id = escape($menu->get(3), 'integer'); // News ID
      
    // Aktuelle Pos
    $pos = db_result(db_query("SELECT pos FROM prefix_membercards WHERE id = ".id ),0,0);
      
    // Anzahl Einträge
     
    $ges = db_count_query("SELECT COUNT(*) FROM prefix_membercards");
      
    // Pos berechnen
    $np = ( $action == 'up' ? $pos -1 : $pos+1 );
      
      
    $np = ( $np >= ( $ges -1 ) ? ( $ges - 1) : $np );
      
    db_query("UPDATE prefix_membercards SET pos = ".$pos." WHERE pos = ".$np, true);
    db_query("UPDATE prefix_membercards SET pos = ".$np." WHERE  id = ".$id, true);
    
    
      
    }
    // del
    // #### A k t i o n e n
    // ###
    // ##
    // #
    
    // #
    // ##
    // ###
    // #### h t m l   E i n g a b e n
    if (empty ($doNoIn)) {
        $limit = 20; // Limit
        $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
        $MPL = db_make_sites ($page , '' , $limit , "?membercards" , 'membercards');
        $anfang = ($page - 1) * $limit;
        if ($menu->get(1) != 'edit') {
            $FnewsID = '';
            $Faktion = 'insert';
            $Fueber = '';
            $Fstext = '';
            $Ftxt = '';
            $Fgrecht = '';
            $FkatLis = '';
            $Fsub = 'Eintragen';
        } else {
            $row = db_fetch_object(db_query("SELECT * FROM `prefix_membercards` WHERE news_id = " . $menu->get(2)));
            $FnewsID = $row->news_id;
            $Faktion = 'change';
            $Fueber = $row->news_title;
            $Ftxt = stripslashes($row->news_text);
            $Fgrecht = $row->news_recht;
            $FkatLis = $row->news_kat;
            $Fsub = '&Auml;ndern';
        }
        $tpl = new tpl ('membercards', 1);
    
        $ar = array
        (
            'NEWSID' => $FnewsID,
            'AKTION' => $Faktion,
            'MPL' => $MPL,
            'UEBER' => $Fueber,
            'txt' => $Ftxt,
            'SMILIS' => getsmilies(),
            'grecht' => dbliste($Fgrecht, $tpl, 'grecht', "SELECT id,name FROM prefix_grundrechte ORDER BY id DESC"),
            'KATS' => getKats($FkatLis),
            'FSUB' => $Fsub
    
            );
    
        $tpl->set_ar_out($ar, 0);
        // e d i t , d e l e t e
        $abf = 'SELECT news_id,news_title
    	        FROM `prefix_membercards`
    					ORDER BY news_time DESC
    					LIMIT ' . $anfang . ',' . $limit;
    
        $erg = db_query($abf);
        $class = '';
        while ($row = db_fetch_object($erg)) {
            $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
            $tpl->set_ar_out(array ('ID' => $row->news_id, 'class' => $class, 'TITEL' => $row->news_title) , 1);
        }
        // e d i t , d e l e t e
        $tpl->set_ar_out(array ('MPL' => $MPL) , 2);
    }
    
    $design->footer();
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    1.) Die Weiterleitung / Aktualisierung der Seite

    Zeile 102 (hinzufügen):
    wd('admin.php?membercards', 'Weiterleitung', 0);

    2.) Die ORDER Regel
    Zeile 157 - 160 (ändern):
    Hier ist die Ausgabe, da muss das Order geändert werden.

    Bisher wird nach ORDER BY news_time sortiert du möchtest aber lieber
    ORDER BY pos.


    Zuletzt modifiziert von Revolution am 16.10.2013 - 23:47:08
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    So, hab ich gemacht. Seite wird angezeigt. Die reihenfolge hat sich nun auch geändert. Blos beim drauf klicken auf den Pfeil ändert sich die position nich, hab ich mal in die DB geguckt da steht jetzt überall -4 drinne bei pos.

    Ich danke dir das du mir zu so später stunde zur seite stehst ^^, aber ich muss jetzt leider off gehen.
    Bin morgen wieder da.

    Danke für deine mühe xD

    Gute nacht.
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Morgen ist auch noch ein Tag lachen
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    So, neuer Tag neues Glück. ^^

    Guten Morgen zwinker

    Aaalllsooo... Ich hab jetzt mal den pos wert in der DB von -4 auf (3 einträge in DB)1,2 und 3 durch nummeriert und in der ...admin?membercards geguckt ob sich was getan hat an der Reihenfolge.
    Das hat es. Die reihenfolge in der ...admin?membercards sieht so aus: 3,2,1 .
    Also von oben nach unten.
    Nun hab ich mal an den Pfeilen gespielt und die Reihenfolge hat sich wieder geändert (habe einmal Up gedrückt bei 2). reihenfolge hat sich in ...admin?membercards geändert zu 2,1,3. Wobei die 2 nun an erster Position wohl eher zufall war, da ich nun in der Datenbank bei pos den wert 0 überall habe (3x wert pos 0).
    Also weiter geforscht. Hab also einfach nochmal auf Up gedrückt und hatte dann keine Reihenfolgen änderungen mehr, aber dafür in der DB 3x den wert pos -1 (nochmal Up) 3x wert pos -2 usw. Bei Down stieg der wert in allen 3 zeilen um 1, also -2,-1,0,1,2,3,.

    Brauche erstmal nen Kaffee, sehr Stark.


    Zuletzt modifiziert von Raptusguru am 17.10.2013 - 10:33:37
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Die Sortier-Reihenfolge wird über das ORDER BY pos gemacht, dort gibt es die Möglichkeit ASC und DESC.

    ORDER BY pos DESC

    Was bisher ebenfalls noch ein Fehler produziert, ist das Anlegen eines neuen Beitrags (also erstmal nur mit den vorhanden spielen).

    Mal zum Ablauf, vielleicht hab ich einen Fehler gemacht!
    Dabei beziehe ich mich auf den Code aus dem Post.

    Zeile 87 hier wird die Position des geklicken Elements aus der DB gelesen.
    hier ist wohl ebenfalls ein Fehler, da das DB Feld news_id und nicht id heißt.

    Zeile 87 sieht damit nun so aus:
    $pos = db_result(db_query("SELECT pos FROM prefix_membercards WHERE news_id = ".id ),0);


    Bsp: $pos = 3; (Angenommen)

    Zeile 91 Zählt einfach alle Einträge

    Bsp: $ges = 4; (Angenommen)

    Zeile 94:
    Wenn Aktion == UP dann "$np = $pos - 1" sonst "$np = $pos + 1"

    Mögliche neue Positionen je nach Aktion
    Bsp: (UP) $np = 3 - 1; $np = 2;
    Bsp: (DOWN) $np = 3 + 1; $np = 4;


    Zeile 97:
    Wenn $np >= ($ges - 1) dann "$np = $ges - 1" sonst "$np = $np"

    Bsp (UP): Frage, ist 2 >= (4 - 1) => FALSE, ist kleiner 3
    --> $np = $np;
    --> $np = 2;

    Bsp (DOWN): Frage, ist 4 >= (4 - 1) => False, ist kleiner 4
    --> $np = $np;
    --> $np = 4;


    Eintragen in die DB:
    hier ist in Zeile 100 wieder ein Fehler
    db_query("UPDATE prefix_membercards SET pos = ".$np." WHERE  news_id = ".$id, true);



    Zuletzt modifiziert von Revolution am 17.10.2013 - 13:57:23
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    hehe ^^, ich bin genau an dieser stelle mit meinen Augen kleben geblieben als ich mir das nochmal ansah xD. Aber ich hab mich da nich getraut was zu verändern ^^.

    Also ich die 2 Zeilen nun geändert.

    Da kommt dann beim Pfeil drücken ne kurtze Fehlermeldung die ich jetzt erstmal erwischen musste (wegen weiterleitung ^^).

    Ändern tut sich an der reihenfolge nichts. in der DB passiert auch nix, keine änderung

    gesperrtes Bild

    if($menu->get(1) == "move"){
    $action = $menu->get(2); // Up / Down
    $id = escape($menu->get(3), 'integer'); // News ID
      
    // Aktuelle Pos
    $pos = db_result(db_query("SELECT pos FROM prefix_membercards WHERE news_id = ".id ),0,0);
      
    // Anzahl Einträge
     
    $ges = db_count_query("SELECT COUNT(*) FROM prefix_membercards");
      
    // Pos berechnen
    $np = ( $action == 'up' ? $pos -1 : $pos+1 );
      
      
    $np = ( $np >= ( $ges -1 ) ? ( $ges - 1) : $np );
      
    db_query("UPDATE prefix_membercards SET pos = ".$pos." WHERE pos = ".$np, true);
    db_query("UPDATE prefix_membercards SET pos = ".$np." WHERE  news_id = ".$id, true);
    
    
    wd('admin.php?membercards', 'Weiterleitung', 0);  
    }
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Die Zeit bis zur Weiterleitung kannst du in der wd Funktion im letzten Parameter ändern, aktuell sind es 0 Sekunden. Zum Test solltest du den Wert ruhig auf 5 Sekunden ändern, dann hast du Zeit zum kopieren lachen

    Wenn es alles nicht so will, dann prüf am besten alles Schritt für Schritt.

    Dazu baust du dir einpaar Ausagben ein, die erste mal nach
    Zeile 87:
    echo 'Pos: '.$pos.'<br />';


    und nach Zeile 91:
    echo 'Ges: '.$ges.'<br />';


    eine weitere nach, Zeile 94:
    echo 'np(1): '.$np.'<br />';


    Und weil es so Spaß macht, eine weitere nach Zeile 97:
    echo 'np(2): '.$np.'<br />';



    Zu dem Fehler, einfach nochmal ersetzen:

    db_query("UPDATE prefix_membercards SET pos = '".$pos."' WHERE pos = '".$np."'", true);
    db_query("UPDATE prefix_membercards SET pos = '".$np."' WHERE  news_id = ".$id, true);







    Zuletzt modifiziert von Revolution am 17.10.2013 - 13:40:32
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    Raptusguru Mitglied
    Registriert seit
    10.02.2010
    Beiträge
    148
    Beitragswertungen
    11 Beitragspunkte
    Hab das alles nun gemacht, da kommt dieses Lustige teilchen zwinker:

    Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 42 in /customers/c/1/8/underground-community.com/httpd.www/include/includes/func/db/mysql.php on line 68 Pos:
    Ges: 3
    np(1): -1
    np(2): -1
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Ok er kann die position nicht Auslesen und ja es ist mein Fehler, oh gott da hab ich aber gestern echt gepennt...

    $pos = db_result(db_query("SELECT pos FROM prefix_membercards WHERE news_id = ".id ),0);


    Da war ein ",0" zuviel drin, warum auch immer.
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten