ilch Forum » Ilch Clan 1.1 » Allgemein » User Details - WoW Arsenal Link einbauen

Geschlossen
  1. #1
    User Pic
    fitzfuchs gelöschter User
    Hallo ich würde gerne folgendes machen.
    Ich benutze das Clanscript für WoW und hab es dementsprechend umgebaut. Jeder User meldet sich mit seinem WoW Char namen bei Ilch an.
    Jetzt hätte ich gerne automisch in seinen User-Details einen verschiebaren Link der zu seinem Charakter von der Offiziellen Seite führt (Arsenal heißt das).

    Der standart Link sieht so aus:
    armory.wow-europe.com/character-sheet.xml?r=Shattrath&n=derlistige

    Dieser Link ist immer gleich, wobei SHATTRATH für den Server steht (was bei meiner Seite dann auch gleich sein kann) und DERLISTIGE der Charakter Name ist (ist nicht meiner, hab zufällig einen ausgewählt. Dieser muss bei jedem User automaitsch geändert werden).

    Jetzt hätte ich gerne in den User-Details einen automatisch Link drin (den ich wie jede andere Spalte auch verschieben kann) der heißt wie der User und auch auf die Arsenal Seite des Users führt.

    Nur leider bin ich da im php coden nicht so fitt :-(
    Hätte da jemand ne Idee was ich wo einbauen muss?

    MfG Fitz
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    fitzfuchs gelöschter User
    Ok, das ist schonmal eine Hilfe für mich und damit müsste es auch zu lösen sein :-)

    Aber dennoch müsste ich doch diesen Code hier anpassen:
    function profilefields_show_spez_esllink ($value,$uid) { 
      return ( profilefields_show_echo_standart ( 'Link zum ESL Profil', (empty($value)?'':'<a href="'.((substr($value,0,7) == 'http://' ? '':'http://').$value.'" target="_blank">'.$value.'</a>') ) ); 
    }


    Oder? Das er mir genau diesen Link standartmäßig ausspuckt:
    htt://armory.wow-europe.com/character-sheet.xml?r=Shattrath&n=[NAME]

    Wobie [Name] steht für den Namen des Users steht. Weiste...
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Vollkommen richtig
    function profilefields_show_spez_wowars ($value,$uid) { 
      return ( profilefields_show_echo_standart ( 'WoW Arsenal Link', (empty($value)?'':'<a href="http://armory.wow-europe.com/character-sheet.xml?r=Shattrath&n='.$value.'" target="_blank">externer Link</a>') ) ); 
    }

    So in etwa.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    fitzfuchs gelöschter User
    Ok, ich hab jetzt folgendes gemacht.

    1. Ich habe ein Feld angelegt das wowars heißt.
    2. Dann habe ich die Codes in die profilfields.php eingefügt.

    A
    function profilefields_show_spez_wowars ($value,$uid) {  
      return ( profilefields_show_echo_standart ( 'WoW Arsenal Link', (empty($value)?'':'<a href="http://armory.wow-europe.com/character-sheet.xml?r=Shattrath&n='.$value.'" target="_blank">externer Link</a>') ) );  
    }


    B
    if ( $r['func'] == 1 ) { 
          $str = @db_result ( db_query ("SELECT val FROM prefix_userfields WHERE uid = ".$uid." AND fid = ".$r['id']) , 0 ); 
                if ( function_exists ( 'profilefields_show_spez_'.$r['show'] ) ) { 
            $l .= call_user_func ( 'profilefields_show_spez_'.$r['show'], $str, $uid ); 
          } else { 
          $l .= '<tr><td class="Cmite">'.$r['show'].'</td><td class="Cnorm">'.$str.'</td></tr>'; 
          } 
        } elseif ( $r['func'] == 2 ) {



    Wenn nun jeder User in seinem Profil etwas in das wowars feld eintippt, dann steht in diesem Feld: externer Link und es wird an das: http://armory.wow-europe.com/character-sheet.xml?r=Shattrath&n= + das was er eingetippt hat. z.B. Test.

    Erstmal vielen Dank für deine Mühe bisher Mairu :-)
    Super das dies schonmal Funktioniert und darauf lässt sich sicherlich aufbauen. Aber das war nicht ganz das was ich wollte :-(

    - Ich wollte das es ein Feld ist was der User nicht selbst editieren kann.
    - Der Link der ausgespuckt wird soll heißen wie der User selbst (z.b. Admin wenn der User Admin heißt), nicht externer Link.
    - und der es soll verlinkt werden zu diesem Link: http://armory.wow-europe.com/character-sheet.xml?r=Shattrath&n= + der Name des Users rangehängt werden. z.B. auch wieder Admin.


    Ich habs schon selbst ein wenig probiert hinzubiegen, aber ich bekomm es nicht hin. Noch jemand eine Idee?
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Achso, ja dann ist die Sache eigentlich viel einfacher.
    Da kannst du doch einfach in der include/templates/user/userdetails.htm eine neue Spalte einfügen, entwerder über {profilefields} oder darunter, dass wäre natürlich ein kleiner Nachteil.
    <tr>
        <td class="Cmite">WoW Arsenal Link</td>
        <td class="Cnorm"><a href="http://armory.wow-europe.com/character-sheet.xml?r=Shattrath&n={NAME}" target="_blank">{NAME}</a></td>
      </tr>

    Letztendlich könntest du auch gleich das Namenfeld ändern, also da den Link einfügen.


    Zuletzt modifiziert von Mairu am 13.08.2007 - 09:11:42
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    fitzfuchs gelöschter User
    Hm da hast du recht, das wäre die einfachste Lösung. Wenn es sonst nicht anders geht, entscheide ich mich dafür :-)
    Das Namensfeld als Link machen wäre auch ne Super Idee, aber ich denke das raffen meine User dann nicht ^^

    Aber so kann ich das Feld leider nicht verschieben.
    Ich habe eine neue Kategorie "World of Warcraft" in die Userprofile eingebaubt, wo schon mehrere Felder sind. Da hätten es dazwischen gesollt. Wenn ich auf die einfache Tour mache, kann ich es na nur vor oder nach den {profilfields} machen...
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    fitzfuchs gelöschter User
    Ok ich hab selbst noch ein wenig gewerkelt und das rausbekommen

    function profilefields_show_spez_wowars ($value,$name) {
      global $allgAr, $lang;
      return ( profilefields_show_echo_standart ( 'Arsenal Link', '<a href="http://armory.wow-europe.com/character-sheet.xml?r=Shattrath&n='.$name.'" target="_blank">ansehen</a>' ) );
    }


    Jetzt habe ich noch 2 Probleme:
    1. Er setzt mir am Ende des Links die $uid dran. In meinem Fall die 1 und nicht den Namen.
    2. Außerdem kann der User in das Feld immer noch etwas eintragen, was nur keinen Sinn ergibt da es eh nicht beachtet wird. Aber am liebsten wäre es mir wenn das Feld beim "Profil ändern" unsichtbar wäre. Zur Not könnte auch schon ein vorgefertigter Text drin stehen: "freilassen" oder "nichts eintragen", sofern das leichter wäre. Aber unsichtbar wäre am besten.


    Zuletzt modifiziert von fitzfuchs am 13.08.2007 - 13:27:10
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja nur weil du die Variable umbenennst ändert sich der Inhalt nicht in das gewünscht zunge
    Als Funktion nimm dies
    function profilefields_show_spez_wowars ($value,$uid) {
      global $allgAr, $lang;
      return ( profilefields_show_echo_standart ( 'Arsenal Link', '<a href="http://armory.wow-europe.com/character-sheet.xml?r=Shattrath&n='.db_count_query("SELECT name FROM prefix_user WHERE id = '$uid'").'" target="_blank">ansehen</a>' ) );
    }


    Dann solltest du einfach den Typ sprich func in der Datenbank zu 3 ändern, dann erscheint es auch nicht beim Edit.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    fitzfuchs gelöschter User
    Vielen vielen Dank!
    Du bist mein Held!

    Es funktioniert alles so wie ich es wollte :-)
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    fitzfuchs gelöschter User
    Ach jetzt hab ich noch ne Idee was ich zwecks WoW noch einbauen könnte. Aber leider nicht weis ich nicht genau wie ich es hinbekomme.

    Ich hätte gerne eine weiteres Feld das ich wieder als Admin verschieben kann. Es sollte aber ein Dropdown Menü für den User sein, wo er folgende Klassen auswählen kann:
    Druide
    Hexenmeister
    Jäger
    Krieger
    Magier
    Paladin
    Priester
    Schamane
    Schurke

    Jemand eine Idee wie ich das hinbekomme. Forumssuche hat nicht wirklich was brauchbares ergeben...
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Stell dir vor du bist nicht der erste zwinker
    www.ilch.de/forum-showposts-21143.html
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    fitzfuchs gelöschter User
    Ok, danke. Ich beis mich gerade durch und erstelle es so wie du in dem anderen Post geschrieben hast:

    Wie schon gesagt, der Tabelle prefix_user ein zusätzliches Feld anlegen, das macht man in phpmyadmin. In diesem Fall nennen wir das Feld waffe. (VARCHAR 30 wäre wohl angebracht) 
    Weiter muss noch das Feld in der Tabelle prefix_profilefields eingetragen werden, dabei id freilassen bei show waffe, bei pos sollte die nächste freie Zahl benutzt werden, dazu einfach vorher mal schauen was so in der Tabelle eingetragen ist und bei func 3 eintragen. 
    
    So nun gehen wir an die Änderungen, fangen wir mit der 
    include/templates/profil_edit.htm an. 
    Man füge über dem {EXPLODE} in Zeile 19 folgende Zeile ein 
    <label style="float:left; width:35%;">Waffe:</label><select name="waffe">{_list_waffe@<option%1 value="%2">%3</option>}</select><br style="clear:both;" /><br />
    
    Weiter gehts mit der include/contents/profil_edit.php 
    Dort fügt man in Zeile 19 in der Abfrage in die Aufzählung der Felder waffe mit ein. 
    Dann unter Zeile 25 folgende Zeilen einfügen 
    Code: $waffen = array('Bogen','Speer','Glavie','Schwert','Blade'); 
        $row['waffe'] = arliste ( $row['waffe'] , $waffen , $tpl , 'waffe' ); 
    
    Dann unter Zeile 127 folgendes einfügen 
    Code: waffe = '".escape($_POST['waffe'], 'string')."', 
    
    Das sollte es zum Speichern gewesen sein. 
    Nun dazu dass es auch angezeigt wird, dafür sollten wir in der include/includes/func/profilefields.php eine neue Funktion einfügen 
    Code: function profilefields_show_spez_waffe ($value,$uid) { 
      global $lang; 
      $waffen = array('Bogen','Speer','Glavie','Schwert','Blade'); 
      return ( profilefields_show_echo_standart ( 'Waffe', $waffen[$value] ) ); 
    } Unter Zeile 120 wäre zu empfehlen.



    Doch nun befürchte ich, das ich das neue Feld das nicht im Admin Menü verschieben kann wie ich will, oder?
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Doch. Nur im Profiledit ist es an einer festen Stelle.


    Zuletzt modifiziert von Mairu am 14.08.2007 - 11:27:56
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    fitzfuchs gelöschter User
    Ok ich hab jetzt alles so gemacht wie du es beschrieben hattest.
    Ich habe nur die Worte waffe gegen klasse, waffen geegn klassen getauscht und die Klassen anstatt der Waffen eigentragen -> sprich Bogen zum Krieger gemacht. Groß- und Kleinschreibung hab ich auch beachtet.

    Ich bekomme keine Fehlermeldung, was schonmal nicht schlecht ist und das Feld ist auch da, sowie verschiebbar.
    Aber es ist ganz klein zusammengeschrumpelt im Profil_edit und es ist leer. Ich kann also nichts auswählen. Es klappt auf und es ist leer. Wieso das denn?


    Edit: Ich hab gerade nochmal nachgeschaut in der Datenbank bei prefix_profilfields. Da hat er nun eine ID bei klasse eingesetzt wo du meintest die sollte frei bleiben. Ich denke mal das ist normal und hat damit nichts zu tun, oder?


    Zuletzt modifiziert von fitzfuchs am 14.08.2007 - 12:30:57
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Dann hast du sicher nicht jedes waffe ersetzt schau nochmal, bei $row und auch bei list im template.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    fitzfuchs gelöschter User
    Du hattest recht, ich habe in der Profil_edit.htm dieses waffe übersehen:

    <label style="float:left; width:35%;">Klasse:</label><select name="klasse">{_list_waffe@<option%1 value="%2">%3</option>}</select><br style="clear:both;" /><br />


    Jetzt geht es. Vielen dank für deine Hilfe :-)
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Dural Mitglied
    Registriert seit
    28.04.2008
    Beiträge
    67
    Beitragswertungen
    0 Beitragspunkte
    Hallo ihr,
    ich habe mir das ebenso nach Anleitung (super geschrieben danke Mairu) grade eingebaut.
    Nun meine Frage:
    Ist es möglich diese Auswahl so zu speichern, daß wenn man in sein Profil Edit geht die Auswahl auch wieder angezeigt wird ?
    Momentan springt er immer wieder zum ersten Auswahlnamen in diesem Scrollmenü.

    Und meine zweite Frage:
    Ist es weiterhin möglich im Forum die gemachte Auswahl unter dem Rang anzuzeigen ? Wenn ja wie mach ich das ?

    Danke schon mal ganz lieb
    für die Hilfe
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten