Icon im Seitenbereich anlegen mit Link auf interne Website

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
xconnect
Mitglied
Beiträge: 277
Registriert: 19.03.2009 15:43
Wohnort: Berlin
Kontaktdaten:

Icon im Seitenbereich anlegen mit Link auf interne Website

Beitrag von xconnect »

Hi@all,

wenn ein User einen Beitrag schreibt sieht man ja rechts unten im Bild immer kleine Icons, die auf die ausgefüllten Profilfelder wie z.B. "ICQ-Nummer", "AOL Webname", "WLM-Adresse", "Yahoo!-ID", etc. im persönlichen Bereich verweisen.

Ich würde gerne so ein Icon neu anlegen, was einfach rechts daneben auftaucht mit einer Verlinkung, die der jeweilige User in seinem Profil, wie das Feld "Website:" ausfüllen kann.
Wie stelle ich da am geschicktesten an?

Ich habe Euch mal 2 Screenshots gemacht, damit Ihr besser versteht was ich meine:

1. Screenshot für bessere Erklärung (wo soll das Icon hin)
2. Screenshot für bessere Erklärung (wie soll der Link im Profil des persönlichen Bereichs ausfüllbar sein)

...hat also Ähnlichkeiten mit dem Icon Website.


Vielen Dank für Eure Bemühungen im Vorraus!

LG xconnect :D

Nachtrag:
Ich habe mir eben in der Datenbank die Tabelle "phpbb_users" angesehen. Dort gibt eine Feld "user_website", das sicherlich (in Kopie) genutzt werden könnte um so einen Link zu realisieren.
Ich muss wahrscheinlich nochmal so ein Feld anlegen, oder? Aber wie? Alleine kann ich das nicht realisieren und bin da wirklich auf Eure Hilfe angewiesen!

LG xconnect
Wie immer... liebe Grüße
Nicolas Lehmann (xconnect)
Benutzeravatar
xconnect
Mitglied
Beiträge: 277
Registriert: 19.03.2009 15:43
Wohnort: Berlin
Kontaktdaten:

Re: Icon im Seitenbereich anlegen mit Link auf interne Website

Beitrag von xconnect »

Hat da niemand eine Idee?

LG xconnect
Wie immer... liebe Grüße
Nicolas Lehmann (xconnect)
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Icon im Seitenbereich anlegen mit Link auf interne Website

Beitrag von 4seven »

da fällt mir spontan ein:
bau das feld website doch einfach nach.
soll heißen, kopiere die syntax und benenne sie um :wink:
dürfte easy sein :grin:
Benutzeravatar
xconnect
Mitglied
Beiträge: 277
Registriert: 19.03.2009 15:43
Wohnort: Berlin
Kontaktdaten:

Re: Icon im Seitenbereich anlegen mit Link auf interne Website

Beitrag von xconnect »

Hi 4seven, gute Idee, ... hatte ich auch schon... und wie genau?

LG xconnect :grin:
Wie immer... liebe Grüße
Nicolas Lehmann (xconnect)
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Icon im Seitenbereich anlegen mit Link auf interne Website

Beitrag von 4seven »

kannst du wenigstens etwas html/php? oder bist du "oberflächen-admin" only?
ich bräuchte noch das passende icon. hast du da was?

edit: seis drum, hab's jetzt so gemanaged:
http://www.loaditup.de/files/374474.jpg
http://www.loaditup.de/files/374475.jpg
Benutzeravatar
xconnect
Mitglied
Beiträge: 277
Registriert: 19.03.2009 15:43
Wohnort: Berlin
Kontaktdaten:

Re: Icon im Seitenbereich anlegen mit Link auf interne Website

Beitrag von xconnect »

Hi 4seven,

das sieht schonmal richtig gut aus!!! :grin:

Wie hast Du das genau realisiert? Kannst Du mir hier eine Anleitung posten?

Zu meinen Kenntnissen:
HTML ist nicht das Problem und PHP (nach HTML mit learnig by doing beigebracht ... und natürlich lerne ich da auch jeden Tag was neues :grin: ) sollte ich, falls ich Vorlagen habe, auch lösen können. :grin:
Ich studiere unter anderem auch (Nebenfach) Informatik, allerdings habe ich mich bis jetzt kaum mit Scriptsprachen, "Webkram" und OOP beschäftigt.

Das was mir das Leben mit phpbb am schwersten macht ist, dass ich noch nicht genau weiß "Was" "Wo" zu finden ist. Aber Du scheinst ja wirklich fit mit PHP zu sein! :grin:

LG xconnect
Wie immer... liebe Grüße
Nicolas Lehmann (xconnect)
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Icon im Seitenbereich anlegen mit Link auf interne Website

Beitrag von 4seven »

verstehe..

na dann mal los. ein tip noch voraus, für alle, die phpbb-coden spielerisch erlernen wollen. wir fangen bei dem detektiv-spiel beim monitor, sprich: bei der ausgabe an (bei "reinen" funktionen in den php's) und > das ist in dem falle das template. also suchen wir in dem falle nach der variable für website und da die ausgabe der user-website hier im topic erfolgt, nach der viewtopic_body.html. die zuständige php-datei ist in dem falle (logo) die viewtopic.php. aha, wir wollen ja noch ein feld ins ucp bringen. demnach ist hier als php die ucp_profile.php (sagt ja schon der name) und als template die ucp_profile_profile_info.html zuständig. als language-datei wählen wir die language/de/common.php aus, da die spachvariable für besatz sowohl im ucp als auch in der viewtopic verfügbar sein soll.
- empfehlenswert zum editieren wie immer notepad++.
- zwar nicht zum editieren aber sehr wohl zur datei-übergreifenden suchen ist hier proton optimal.

die sache war hier natürlich einfach, da wir (mit einer kleinen abwandlung) lediglich die funktions-variable website kopieren mussten :wink:

anmerkung: durch dieses beispiel sollte es leicht sein, auch andere dinge ins profil zu beamen.

aber zur sache

sql (phpmyadmin oder mysql-dumper) > wichtig: präfix phpbb_ anpassen :wink:

Code: Alles auswählen

ALTER TABLE phpbb_users ADD COLUMN `user_besatz` varchar(200) COLLATE utf8_bin NOT NULL DEFAULT '';  
öffne

viewtopic.php

finde

Code: Alles auswählen

                'www'            => $row['user_website'],  
dahinter füge ein

Code: Alles auswählen

                'www_besatz'    => $row['user_besatz'],  
finde

Code: Alles auswählen

        'U_WWW'            => $user_cache[$poster_id]['www'],  
dahinter füge ein

Code: Alles auswählen

        'U_BESATZ_PIC'    => $phpbb_root_path . 'images/linkz.gif', 
        'U_WWW_BESATZ'    => $user_cache[$poster_id]['www_besatz'],  
öffne

includes/ucp/ucp_profile.php

finde

Code: Alles auswählen

                    'website'        => request_var('website', $user->data['user_website']),  
dahinter füge ein

Code: Alles auswählen

                    'besatz'        => request_var('besatz', $user->data['user_besatz']),  
finde

Code: Alles auswählen

                        'website'        => array(
                            array('string', true, 12, 255),
                            array('match', true, '#^http[s]?://(.*?\.)*?[a-z0-9\-]+\.[a-z]{2,4}#i')),      
dahinter füge ein

Code: Alles auswählen

                        'besatz'        => array(
                            array('string', true, 12, 255),    
                            array('match', true, '#^http[s]?://(.*?\.)*?[a-z0-9\-]+\.[a-z]{2,4}#i')),  
finde

Code: Alles auswählen

                            'user_website'    => $data['website'],  
dahinter füge ein

Code: Alles auswählen

                            'user_besatz'    => $data['besatz'],  
finde

Code: Alles auswählen

                    'WEBSITE'    => $data['website'],  
dahinter füge ein

Code: Alles auswählen

                    'BESATZ'    => $data['besatz'],  
öffne

language/de/common.php

finde

Code: Alles auswählen

$lang = array_merge($lang, array( 
dahinter füge ein

Code: Alles auswählen

    'BESATZ'                            => 'Mein Besatz',  
öffne

styles/prosilver/template/ucp_profile_profile_info.html

finde

Code: Alles auswählen

    <dl>
        <dt><label for="website">{L_WEBSITE}:</label></dt>
        <dd><input type="text" name="website" id="website" maxlength="255" value="{WEBSITE}" class="inputbox" /></dd>
    </dl>  
dahinter füge ein

Code: Alles auswählen

    <dl>
        <dt><label for="besatz">{L_BESATZ}:</label></dt>
        <dd><input type="text" name="besatz" id="besatz" maxlength="255" value="{BESATZ}" class="inputbox" /></dd>
    </dl>  
öffne

styles/prosilver/template/viewtopic_body.html

finde

Code: Alles auswählen

                    <!-- IF postrow.U_WWW --><li class="web-icon"><a href="{postrow.U_WWW}" title="{L_VISIT_WEBSITE}: {postrow.U_WWW}"><span>{L_WEBSITE}</span></a></li><!-- ENDIF -->  

dahinter füge ein

Code: Alles auswählen

            <!-- IF postrow.U_WWW_BESATZ -->
            <img style="position: relative; bottom: -9px;" 
            src="{postrow.U_BESATZ_PIC}" width="14" height="12" alt="" />
            <strong><span style="position: relative; bottom: -8px;">
            <a href="{postrow.U_WWW_BESATZ}" title="{postrow.U_WWW_BESATZ}">{L_BESATZ}</a></span></strong>
            <!-- ENDIF -->  
-clear all browser and board-caches

-enjoy
Benutzeravatar
xconnect
Mitglied
Beiträge: 277
Registriert: 19.03.2009 15:43
Wohnort: Berlin
Kontaktdaten:

Re: Icon im Seitenbereich anlegen mit Link auf interne Website

Beitrag von xconnect »

Vielen Dank für die tolle Anleitung 4seven! Ich werde mich gleich mal ranmachen das Ganze einzubauen :D

LG xconnect
Wie immer... liebe Grüße
Nicolas Lehmann (xconnect)
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Icon im Seitenbereich anlegen mit Link auf interne Website

Beitrag von 4seven »

achja, das pic als linkz.gif [ externes Bild ] noch nach images/linkz.gif kopieren
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“