+ Antworten
Seite 1 von 7 1 2 3 4 5 ... LetzteLetzte
Ergebnis 1 bis 10 von 62

Thema: Virtuemart bestellen ohne registrieren!

  1. #1
    Kommt häufiger vorbei
    Registriert seit
    18.04.2006
    Beiträge
    382
    Bedankte sich
    9
    Erhielt 58 Danksagungen
    in 46 Beiträgen

    Standard Virtuemart bestellen ohne registrieren!

    bis virtuemartversion 1.1

    1. änderung in der datei
    ....administrator\components\com_virtuemart\html\c heckout.thankyou.php

    am ende der datei "checkout.thankyou.php" hinzufügen
    PHP-Code:
    <?php
    /** Session aus der Tabelle "#__session" aktualisieren **/ 
    require_once(CLASSPATH.'ps_session.php');
    $sess = new ps_session();
    $sessid $sess->getSessionId();
    $q "UPDATE #__session SET username=0,guest=1,userid=0,usertype=0,gid=0 WHERE session_id='$sessid'";
    $db->query($q); 

    /** Benutzerdaten aus der Tabelle "#__vm_user_info löschen" **/ 
    $q "DELETE FROM #__{vm}_user_info WHERE user_id='".$my->id."'";
    $db->query($q); 

    /** User-Datensatz aus der Tabelle "#__users" löschen **/
    $q "DELETE FROM #__users WHERE id='".$my->id."' LIMIT 1";
    $db->query($q);
    ?>
    1.1 änderung in der datei
    ....administrator\components\com_virtuemart\html\s hop.browse.php

    am anfang nach "Direct Access" hinzufügen
    PHP-Code:
    /** USER aus abgerochenen Bestellungen entfernen die auch ihre Cookies gelöscht haben **/
    $timeset 3600// zeitvorgabe in sekunden

    $timestamp = (time() - $timeset);

    $q "DELETE FROM #__users WHERE unix_timestamp(registerDate) < (unix_timestamp(now()) - $timeset) AND username = 'hiddenshopper' OR username = 'hiddenshoppe0' OR username = 'hiddenshoppe1' OR username = 'hiddenshoppe2' OR username = 'hiddenshoppe3' OR username = 'hiddenshoppe4' OR username = 'hiddenshoppe5' OR username = 'hiddenshoppe6' OR username = 'hiddenshoppe7' OR username = 'hiddenshoppe8' OR username = 'hiddenshoppe9'";
    $db->query($q);

    $q "DELETE FROM #__session WHERE time<'".$timestamp."' AND username = 'hiddenshopper' OR username = 'hiddenshoppe0' OR username = 'hiddenshoppe1' OR username = 'hiddenshoppe2' OR username = 'hiddenshoppe3' OR username = 'hiddenshoppe4' OR username = 'hiddenshoppe5' OR username = 'hiddenshoppe6' OR username = 'hiddenshoppe7' OR username = 'hiddenshoppe8' OR username = 'hiddenshoppe9'"
    $db->query($q);

    $q "DELETE FROM #__{vm}_user_info WHERE cdate<'".$timestamp."' AND address_type_name='-default-'"
    $db->query($q);

    $query "SELECT username FROM #__users WHERE gid='18' AND username = 'hiddenshopper' OR username = 'hiddenshoppe0' OR username = 'hiddenshoppe1' OR username = 'hiddenshoppe2' OR username = 'hiddenshoppe3' OR username = 'hiddenshoppe4' OR username = 'hiddenshoppe5' OR username = 'hiddenshoppe6' OR username = 'hiddenshoppe7' OR username = 'hiddenshoppe8' OR username = 'hiddenshoppe9'";
    $database->setQuery($query);
    $username $database->loadResult();

    if ((
    $username == 'hiddenshopper') or ($username == 'hiddenshoppe0') or ($username == 'hiddenshoppe1') or ($username == 'hiddenshoppe2') or ($username == 'hiddenshoppe3') or ($username == 'hiddenshoppe4') or ($username == 'hiddenshoppe5') or ($username == 'hiddenshoppe6') or ($username == 'hiddenshoppe7') or ($username == 'hiddenshoppe8') or ($username == 'hiddenshoppe9')) {
    }
    else {
    require_once(
    CLASSPATH.'ps_session.php');
    $sess = new ps_session();
    $sessid $sess->getSessionId();
    $q "UPDATE #__session SET username=0,guest=1,userid=0,usertype=0,gid=0 WHERE session_id='$sessid'";
    $db->query($q); 


    2. hyperlink zur bestellansicht in der "checkout.thankyou.php" ausblenden
    PHP-Code:
    <!-- Link zu der Bestellansicht ausblenden
    <p><a href="<?php //$sess->purl(SECUREURL."index.php?page=account.order_details&order_id=". $order_id) ?>">
     <?php //echo $VM_LANG->_PHPSHOP_ORDER_LINK ?></a>
     </p>
     -->
    3. den loginteil für benutzername und passwort ausblenden
    folgenden code in der "checkout.index.php" auskommentieren
    die stelle findet man in der checkout.index.php ganz am ende
    PHP-Code:
          <?php 
                
    include(PAGEPATH'checkout_register_form.php');
              }
          
              else { 
    // user is not logged in
      
    ?>
               <!--<fieldset>  Registrierfeld deaktivieren
                    <legend><span class="sectiontableheader"><?php echo $VM_LANG->_PHPSHOP_RETURN_LOGIN ?></span></legend>
                    <br />
               <?php 
                     
    //       include(PAGEPATH.'checkout.login_form.php');
               
    ?>
                   <br />
                </fieldset><br />-->
                <?php
              
              
              ?>
    <br />
                <!--<div class="sectiontableheader"><?php echo $VM_LANG->_PHPSHOP_NEW_CUSTOMER ?></div>-->
                    <br /><?php
              
                    
    include(PAGEPATH'checkout_register_form.php');
    ?>
                    <br />
    <?php
              
    }
        }
    }
    else {
        
    mosRedirect$sess->url'index.php?page=shop.cart' ) );
    }

    ?>
    4. In der global konfiguration im virtuemart die stille (versteckte) nutzerregistrierung ----->aktivieren

    5. einstellungen in der Joomla globalen konfiguration ändern
    - benutzerregistrierung erlauben --->ja
    - aktivierung neuer accounts --->nein

    6. Versenden der registrierungs-emails an user und admin deaktivieren
    xxx\administrator\components\com_virtuemart\classe s\ps_shopper.php

    username ändern auf"hiddenshopper"
    PHP-Code:
    $_POST['name'] = $d['first_name']." ".$d['last_name'];
                if( 
    VM_SILENT_REGISTRATION == '1' ) {
                    
    //$silent_username = substr( str_replace( '-', '_', $d['email'] ), 0, 25 ); orginal
                    
    $silent_username 'hiddenshopper'// änderung
                    
    $db->query'SELECT username FROM `#__users` WHERE username=\''.$silent_username.'\'');
                    
    $i 0;
                    while( 
    $db->next_record()) {
                        
    $silent_username substr_replace$silent_username$istrlen($silent_username)-);
                        
    $silent_username substr_replace$silent_username$istrlen($silent_username)-);
                        
    $db->query'SELECT username FROM `#__users` WHERE username=\''.$silent_username.'\'');
                        
    $i++;
                    }
                    
    $_POST['username'] = $d['username'] = $silent_username;
                    
    $_POST['password'] = $d['password'] = mosMakePassword();
                    
    $_POST['password2'] = $_POST['password'];
                } 

    PHP-Code:
            // Send email to user
            
    if ($mosConfig_mailfrom != "" && $mosConfig_fromname != "") {
                
    $adminName2 $mosConfig_fromname;
                
    $adminEmail2 $mosConfig_mailfrom;
            } else {
                
    $query "SELECT name, email"
                
    "\n FROM #__users"
                
    "\n WHERE LOWER( usertype ) = 'superadministrator'"
                
    "\n OR LOWER( usertype ) = 'super administrator'"
                
    ;
                
    $database->setQuery$query );
                
    $rows $database->loadObjectList();
                
    $row2             $rows[0];
                
    $adminName2     $row2->name;
                
    $adminEmail2     $row2->email;
            }
            
            
            
    // toni | email an user - registrierung - nicht senden
            //mosMail($adminEmail2, $adminName2, $email, $subject, $message);
            
            
    if( VM_SILENT_REGISTRATION != '1' ) {
                
    mosMail($adminEmail2$adminName2$email$subject$message);
    }
        
            
    // Send notification to all administrators
            
    $subject2 sprintf (_SEND_SUB$name$mosConfig_sitename);
            
    $message2 sprintf (_ASEND_MSG$adminName2$mosConfig_sitename$row->name$email$username);
            
    $subject2 vmHtmlEntityDecode($subject2ENT_QUOTES);
            
    $message2 vmHtmlEntityDecode($message2ENT_QUOTES);
        
            
    // get superadministrators id
            
    $admins $acl->get_group_objects25'ARO' );
        
            foreach ( 
    $admins['users'] AS $id ) {
                
    $query "SELECT email, sendEmail"
                
    "\n FROM #__users"
                
    ."\n WHERE id = $id"
                
    ;
                
    $database->setQuery$query );
                
    $rows $database->loadObjectList();
        
                
    $row $rows[0];
        
                if (
    $row->sendEmail) {
                
                
    // toni email an admin - registrierung - nicht senden
                //mosMail($adminEmail2, $adminName2, $row->email, $subject2, $message2);
                
    }
            }
        
            if ( 
    $mosConfig_useractivation == ){
                echo 
    _REG_COMPLETE_ACTIVATE;
            } else {
                echo 
    _REG_COMPLETE;
            }
            return 
    true;
        } 
    7. hyperlinks zur bestellungen in den formularen entfernen

    ---
    link zu meinem testshop da dürft ihr gerne auch testbestellungen machen
    http://www.ausserlechner.net/hella/index.php

    ---
    Geändert von maverik (16.03.2009 um 06:07 Uhr) Grund: session löschen modifiziert

  2. Erhielt Danksagungen von:


  3. #2
    Neu an Board
    Registriert seit
    23.05.2007
    Beiträge
    72
    Bedankte sich
    1
    1 Danksagung in 1 Beitrag

    Standard

    Vielen Dank für die Anleitung!

    Aber eine Frage bleibt trotzdem. Wie bekomme ich das LogIn oberhalb der Adressformulars heraus. Mehrere berichteten wie sie es geschafft haben, nur leider wird nicht erklärt, wie.

    Für Hilfe wäre ich dankbar.

  4. #3
    Kommt häufiger vorbei
    Registriert seit
    18.04.2006
    Beiträge
    382
    Bedankte sich
    9
    Erhielt 58 Danksagungen
    in 46 Beiträgen

    Standard

    sorry hatte eh das gefühl das ich noch was vergessen habe

    wie man den loginteil ausblendet ist jetzt unter punkt 3 hinzugefügt

  5. #4
    Kommt häufiger vorbei
    Registriert seit
    18.04.2006
    Beiträge
    382
    Bedankte sich
    9
    Erhielt 58 Danksagungen
    in 46 Beiträgen

    Standard

    hallo,
    habe jetzt auch einen test mit

    joomla 1.0.13 und virtuemart 1.0.12 gemacht

    klappt bei mir einwandfrei

    --------------------------------------------
    p.s.

    wer joomla 1.0.13 mit virtuemart 1.0.12 verwendet wird generell schon ein problem haben (fehler in session) nach klick auf "registrierung senden" springt der browser zur startseite

    abhilfe:
    sucht im google nach VirtueMart V.1.0.12 Patch für Joomla V.1.0.13

    (wollte einen link setzen aber das forum lässt es nicht zu)

    ---

  6. #5
    Moderator Avatar von holmi
    Registriert seit
    30.08.2004
    Ort
    Harz
    Beiträge
    6.501
    Bedankte sich
    92
    Erhielt 1.234 Danksagungen
    in 1.133 Beiträgen

    Standard

    Hier gibt es zwei Dateien zum Download, um probleme mit Joomla 1.0.13 zu beheben:
    http://virtuemart.net/index.php?opti...=257&Itemid=57

    HotFix for VirtueMart to use Joomla! 1.0.13
    Und
    Joomla! 1.0.13 Admin Session Fix

    Björn
    Problem gelöst? Dann markiere den Thread mit [GELÖST]

  7. #6
    Kommt häufiger vorbei
    Registriert seit
    05.10.2005
    Beiträge
    252
    Bedankte sich
    8
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard

    Hi,

    soweit hatte ich meinen Shop auch mal abegeändert.

    Bis die ersten Kunden kamen und über Ihren PC nicht mehr in den Shop kamen !

    VirtueMart merkt sich den Rechner und weiß, dass der Kunde schon mal dort war.
    Er kann sich aber nicht einloggen.

    Auch wenn er dann evtl. über einen anderen PC bestellt und zufällig die selben daten angiebt wie beim ersten mal gibts stress.


    Bin ich falsch oder hab ich recht ?

    Einstratege

  8. #7
    Kommt häufiger vorbei
    Registriert seit
    18.04.2006
    Beiträge
    382
    Bedankte sich
    9
    Erhielt 58 Danksagungen
    in 46 Beiträgen

    Standard

    @einstratege

    da liegst du falsch

    mit dem klick auf bestellung bestätigen
    wird alles gelöscht nur die bestellung bleibt in der datenbank


    kannst ja eine testbestellung machen und dich überzeugen

  9. #8
    War schon öfter hier
    Registriert seit
    20.02.2007
    Beiträge
    205
    Bedankte sich
    11
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard

    also ich weiß nicht...

    bin genau nach howTo vorgegangen und es wird der user nicht gelöscht, versendet wird der benutzername und passwort für login und mehr nicht.

    was hab ich falsch gemacht?

  10. #9
    Kommt häufiger vorbei
    Registriert seit
    18.04.2006
    Beiträge
    382
    Bedankte sich
    9
    Erhielt 58 Danksagungen
    in 46 Beiträgen

    Standard

    welche komponenten hast du sonst noch im einsatz

  11. #10
    War schon öfter hier
    Registriert seit
    20.02.2007
    Beiträge
    205
    Bedankte sich
    11
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard

    sorry, ging doch - hatte noch ne alte session laufen.

+ Antworten
Seite 1 von 7 1 2 3 4 5 ... LetzteLetzte

Lesezeichen

Berechtigungen

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