[solved]Registration/Activation problem and Checkout Process

Started by pixeldraft, June 15, 2012, 14:34:09 PM

Previous topic - Next topic

Stonedfury

You want their attention pull out cash and wave it. Other than that we are nothing but their testing grounds. They might actually start to care if this post becomes too popular. Then again they might do what most admins do and just lock it with some BS on how we aren't being productive. I think getting their attention is very productive.
No such thing as a stupid question, only a stupid answer. I won't ask if I know the answer or found it using the search as you suggested.

CMYKreative

Quote from: franzpeter on February 11, 2013, 14:39:34 PM
@CMYKreative,
well, but Joomla itself has still some bugs too. That may happen while developing a component. I had to learn that the smart search component has some nasty limits, while the ancestor product, which was developed by an australian developer, had not such limits.
So, nobody seems to be perfect, no Joomla developer, no VM developer and me too: not perfect. I agree that there are some bugs in VM 2 but not in the way, that it is absolutely unusable. I do not see, that the code is completely hacked together. Maybe you can give me an example of a shopping cart solution for Joomla, which works out of the box, is absolutely reliable and offers a lot of additional modules and other extensions, so it could fit for every purpose. It should be very speedy, have an excellent checkout procedure, should support dozens of shipping and payment gateways, should be a search engine magnet with perfect sef support and should cost nothing. I do not see such a product. Maybe you can give us a recommendation.

@Franzpeter - we obviously see things differently, are you one of their developers by any chance?

Yes, I agree Joomla has some bugs, but they are fixed immediately and continually as they occur and are reported.

As for the "hack" code, just take a look through any one of the VM pages and see how it's cobbled together. If you don't think that's a "hack" then we'll have to agree to disagree.

Other shopping carts, well most work out of the box so take your pick and I would be more than happy to pay for VM IF it DID work so the tired old excuse of it being "free" holds no water for me whatsoever.

CMYKreative

You'd think after 4000 views an official developer might have jumped in by now just to say "sorry, we're looking into it and it'll be fixed soon" . . . but no, nothing at all.

franzpeter

@CMYKreative,
no, I am not a VM developer. I had a few customers too, which did complain about not to be able to place an order because of the crappy registration and checkout process. And I am pretty shure, that most of the customers, who did try to register and were not able to confirm the registration, did abort it and bought from other sellers. But instead of complaining about that bug, I did change the checkout by using only guest account and switching off the registration confirmation in Joomla.
I agree too, that VM 2 hangs somehow inside Joomla and especially the points of intersection, like user registration and SEF/SEO, have some problems.
If you want to use VM somehow as shop owner, the checkout must - for now - only use guest checkout without registration. For SEO, especially if the VM frontpage is the start page, we need to hack the code to show the Joomla Menu description and in case of SEF it is highly recommended to not use hidden menu and the Joomla alias menu creation, to show a different routing beyond the VM Standard routing (i.e. do not try to show a different category trunk for example).

lindapowers

"change the checkout by using only guest account and switching off the registration confirmation in Joomla"

Thats the best solution?

BRB jumping from the balcony.

franzpeter

@lindapowers,

no, it is not the best solution for a Joomla shopping cart component! But it is, for now, the only solution which works. The other solution is to completely switch off SEF. In case of crawlers, that is not a good idea, because Joomla SEF is not able to work vice versa, so products and categories cannot be found, if a crawler has crawled with sef url and you switch it off.

Maybe, if SEF is the problem, there is another approach. Those cart pages do not need sef url. For crawlers, they are without any purpose and for ordering customers too. Has someone an idea, how to switch off sef only for those cart functions?

CMYKreative

Quote from: franzpeter on February 13, 2013, 10:55:15 AM
@lindapowers,

no, it is not the best solution for a Joomla shopping cart component! But it is, for now, the only solution which works. The other solution is to completely switch off SEF. In case of crawlers, that is not a good idea, because Joomla SEF is not able to work vice versa, so products and categories cannot be found, if a crawler has crawled with sef url and you switch it off.

Maybe, if SEF is the problem, there is another approach. Those cart pages do not need sef url. For crawlers, they are without any purpose and for ordering customers too. Has someone an idea, how to switch off sef only for those cart functions?


@Franz - that's not correct, an SE will spider the site with or without SEF turned on. The SEF just makes pretty/nice/smaller url's.

franzpeter

@CMYKreative,
sorry, in case of:
no, it is not the best solution for a Joomla shopping cart component! But it is, for now, the only solution which works. The other solution is to completely switch off SEF. In case of crawlers, that is not a good idea, because Joomla SEF is not able to work vice versa, so products and categories cannot be found, if a crawler has crawled with sef url and you switch it off.

I did mean that it is not a good idea to use SEF url and if the SE did already crawl the pages, to switch SEF url off. The spidered urls in the SE will produce an error, if you click on the link in the SE for those url.

My question is: if the registration process does actually not work in the way it should with SEF activated, is it an option to turn SEF off just for the checkout pages, which are of no importance for the SE?

CMYKreative

Quote from: franzpeter on February 13, 2013, 15:05:19 PM
@CMYKreative,
sorry, in case of:
no, it is not the best solution for a Joomla shopping cart component! But it is, for now, the only solution which works. The other solution is to completely switch off SEF. In case of crawlers, that is not a good idea, because Joomla SEF is not able to work vice versa, so products and categories cannot be found, if a crawler has crawled with sef url and you switch it off.

I did mean that it is not a good idea to use SEF url and if the SE did already crawl the pages, to switch SEF url off. The spidered urls in the SE will produce an error, if you click on the link in the SE for those url.

My question is: if the registration process does actually not work in the way it should with SEF activated, is it an option to turn SEF off just for the checkout pages, which are of no importance for the SE?

Actually, SEF url's are very important throughout a site, so for me cannot simply be turned off . . . they make it easier from a user point of view, and the SE's prefer them also. If it doesn't work, that's a MAJOR problem.

Stonedfury

I had to disable the MVC override plugin that is there to help modules cooperate with joomla. turns out VM has issues with MVC HMMMM. So once it was disabled I took my override template file and used it as a core hack. That fixed the problems I was having. Templater follows the Joomla guides and thought that VM did to. Seems not so. Try disabling the mvc and using an override file for the cart.php in com_virtuemart. Just be careful as updates will overwrite that file and you have to manually check the old one for updates and change again. It's VM's fault. Get with the picture.
No such thing as a stupid question, only a stupid answer. I won't ask if I know the answer or found it using the search as you suggested.

vdico

Quote from: atomikiss on December 19, 2012, 22:31:26 PM

In the code i changed if ( $user->get('id') ) with if ( !$user->get('id') ), so after registration the user is redirect to login page.

bye.

I go around this issue much days. this solution works correct. with joomla 2.5.9 VM 2.20b.

Stonedfury

#41
I wish I could remember the link but there is a plugin fix on the forums for this that will log them in when they register. It is on a post just like this one. I tested the plugin and it did/does work.

Search for Joomla user activation in Virtuemart 2
https://forum.virtuemart.net/index.php?topic=113802.msg382886#msg382886
No such thing as a stupid question, only a stupid answer. I won't ask if I know the answer or found it using the search as you suggested.

frankiefredericks

Hi....I'm having exactly the same problem. any luck solving this problem?
The problem is that after registration, even if an activation link is sent, the user can still complete the ckeckout.

Does anyone know what to edit to remove user from session after registration (if not activated).
Besides, I tried to modify joomla controller for registration (components/com_users/controllers/registration.php) but it seems it's not even called. So I guess I have to modofy some virtuemart controller.

Any ideas?

Thanks

5zymon

Hi Guys,

I am pretty experienced with Joomla 1.5 and Vm 1.x. Right now I am building few stores based on virtuemar and I am experiencing some problems similar to you guys.  I am not sure how everyone else has VM 2.0 registration solved but I am using redirect component and mod_login module for login. So when someone clicks "create an account" it's redirected to a page that loads the view

/com_virtuemart/users/edit.php  template

From what I understood it looked like VM is trying to login new user but it's not logged in completely and it creates a mess in session. So what I did is this:

if($this->userDetails->virtuemart_user_id!=0 && $_SESSION['__default']['user']->guest != 1) {

      //this is what users sees when he should be fully logged in. In my case, I don't want user to see this page at all but if you do want to have it, just FYI.

} else if($this->userDetails->virtuemart_user_id==0) {
       
       //This is what users gets when he is not regustered - registration form
       echo $this->loadTemplate ( 'shopper' );

} else {
       //And finally if non of the options above has been used, it looks like we are here, and we shouldn't. So that's our case

       $_SESSION['__default']['user']->guest == 1 (which means user is a guest)
       $this->userDetails->virtuemart_user_id!=0 (wchich means user has VM ID, and he shouldn't have that if he is a guest)

        So in that option I would like to just remove all user session, because it looks like new registration confirmation page.
        unset($_SESSION['__default']['user']);


}


After that I only get vm message that account has been created, please click a link to confirm it. Now when you click the link your access token will work, because you are not logged in, and user session is clean, you will be redirected to a login page where you can login without any problems. Full code look like this:


if($this->userDetails->virtuemart_user_id!=0 && $_SESSION['__default']['user']->guest != 1) {

    $tabarray = array();
    if($this->userDetails->user_is_vendor){
    if(!empty($this->add_product_link)) {
    echo $this->add_product_link;
    }
    $tabarray['vendor'] = 'COM_VIRTUEMART_VENDOR';
    }
    $tabarray['shopper'] = 'COM_VIRTUEMART_SHOPPER_FORM_LBL';
    //$tabarray['user'] = 'COM_VIRTUEMART_USER_FORM_TAB_GENERALINFO';
    if (!empty($this->shipto)) {
    $tabarray['shipto'] = 'COM_VIRTUEMART_USER_FORM_ADD_SHIPTO_LBL';
    }
    if (($_ordcnt = count($this->orderlist)) > 0) {
    $tabarray['orderlist'] = 'COM_VIRTUEMART_YOUR_ORDERS';
    }

    shopFunctionsF::buildTabs ( $this, $tabarray);

} else if($this->userDetails->virtuemart_user_id==0) {
    echo $this->loadTemplate ( 'shopper' );
} else {
unset($_SESSION['__default']['user']);
}


I am not sure this is the cleanes solution - probably not, but it doesn't require to mess in VM core files, only in a template
. Let me know did this help anyone, thanks!

Milbo

We have this problem still in 2.0.18??

I dont think so, I use it all the time with SEO activated. SEO should be always activated and it works absolutly fine. Also the login works, but you must setup our page without www, then add the www later and created a redirect NOT alias!
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/