+ Antworten
Ergebnis 1 bis 3 von 3

Thema: Benutzername auslesen und als Benutzer-ID ausgeben

  1. #1
    Neu an Board
    Registriert seit
    04.08.2007
    Beiträge
    10
    Bedankte sich
    4
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Benutzername auslesen und als Benutzer-ID ausgeben

    Servus zusammen.

    Ich bin gerade dabei eine kleine Community einzurichten
    und bin dann auf ein kleines Problem gestossen.

    Und zwar will ich in dieser Community den Usern die Möglichkeit geben,
    den Usernamen des Partners anzugeben, welcher dann im Profil angezeigt und verlinkt wird.
    Jetzt schreibt mir allerdings mein ARTIO - JoomSEF die User-ID als Profillink um.

    Aus diesem Grund benötige ich etwas Hilfe beim Umschreiben des Scripts,
    damit der im Textfeld eingegebene Username dann vom Script als Joomla - User-ID für den Link ausgegeben wird.



    Hier mal der Quelltext zum Script:
    PHP-Code:
    <?php
    /**
     * @copyright (C) 2008 by Slashes & Dots Sdn Bhd - All rights reserved!
     * @license        GNU/GPL, see LICENSE.php
     */

    // no direct access
    defined('_JEXEC') or die('Restricted access');

    class 
    CFieldsPartner
    {
        
    /**
         * Method to format the specified value for text type
         **/         
        
    function getFieldData$value )
        {
            if( empty( 
    $value ) )
                return 
    $value;
            
            return 
    '<a href="home/profile/' $value '.html' '" target="_self">' $value '</a>';
        }
        function 
    getFieldHTML$field $required )
        {
            
    // If maximum is not set, we define it to a default
            
    $field->max    = empty( $field->max ) ? 200 $field->max;
            
    CFactory::load'helpers' 'string' );
            
    $class    = ($field->required == 1) ? ' required' '';    
            
    $html    '<input title="' $field->name '::'CStringHelper::escape$field->tips ).'" type="text" value="' $field->value '" id="field' $field->id '" name="field' $field->id '" maxlength="' $field->max '" size="40" class="jomTips tipRight inputbox' $class '" />';
            
    $html   .= '<span id="errfield'.$field->id.'msg" style="display:none;">&nbsp;</span>';

            return 
    $html;
        }
        
        function 
    isValid$value $required )
        {
            if( 
    $required && empty($value))
            {
                return 
    false;
            }        
            return 
    true;
        }
    }

    Der Link für das Profil wird letztendlich in dieser Zeile generiert:
    PHP-Code:
    return '<a href="home/profile/' $value '.html' '" target="_self">' $value '</a>'
    Geändert von djenerg (23.10.2010 um 19:40 Uhr)

  2. #2
    Hat hier eine Zweitwohnung Avatar von progandy
    Registriert seit
    25.06.2007
    Beiträge
    1.939
    Bedankte sich
    13
    Erhielt 640 Danksagungen
    in 577 Beiträgen

    Standard

    Du musst eine Datenbankabfrage machen, in etwa so:

    PHP-Code:
    $db=JFactory::getDBO();
    $db->setQuery("SELECT `id` FROM #__users WHERE `username`=".$db->Quote($value));
    $id $db->loadResult(); 
    Suche und FAQ helfen bei Problemen oft weiter!

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    04.08.2007
    Beiträge
    10
    Bedankte sich
    4
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Die Umwandlung vom Benutzernamen zur Benutzer-ID funktioniert
    und wird auch korrekt in Jomsocial (1.8.x) angezeigt.

    Hier mal der Code der Datei "partner.php",
    in der auch der Link passend für ARTIO JomSEF umgewandelt wird:



    PHP-Code:
    <?php
    /**
     * @copyright (C) 2008 by Slashes & Dots Sdn Bhd - All rights reserved!
     * @license        GNU/GPL, see LICENSE.php
     */

    // no direct access
    defined('_JEXEC') or die('Restricted access');

    class 
    CFieldsPartner
    {
        
    /**
         * Method to format the specified value for text type
         **/         
        
    function getFieldData$value )
        {
        
        
    $db  =& JFactory::getDBO();
        
    $query 'SELECT id FROM #__users WHERE username = ' $db->Quote$value );
        
    $db->setQuery($query01);
        
    $userid $db->loadResult();
        
            if( empty( 
    $value ) )
                return 
    $value;
            
            return 
    '<a href="home/profile/' $userid '.html' '" target="_self">' $value '</a>';
        }
        function 
    getFieldHTML$field $required )
        {
            
    // If maximum is not set, we define it to a default
            
    $field->max    = empty( $field->max ) ? 200 $field->max;
            
    CFactory::load'helpers' 'string' );
            
    $class    = ($field->required == 1) ? ' required' '';    
            
    $html    '<input title="' $field->name '::'CStringHelper::escape$field->tips ).'" type="text" value="' $field->value '" id="field' $field->id '" name="field' $field->id '" maxlength="' $field->max '" size="40" class="jomTips tipRight inputbox' $class '" />';
            
    $html   .= '<span id="errfield'.$field->id.'msg" style="display:none;">&nbsp;</span>';

            return 
    $html;
        }
        
        function 
    isValid$value $required )
        {
            if( 
    $required && empty($value))
            {
                return 
    false;
            }        
            return 
    true;
        }
    }

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein