Require registration for certain products?

  • We have a few electronic delivery products (PDFs) that we would like to give away to customers but in exchange we would like them to register on our website. The PDFs are English manuals for some popular products, and we did the translations in-house. These manuals are not available anywhere else in English.

    They will be the only electronic delivery items on the site.

    Is there any way to require registration for these items while allowing guest checkout for everything else?

  • You want them to use the checkout? Is it free for them?

    Cause if it’s free, I wouldn’t let them go trough checkout, that complicates matters, I believe. In smarty you can use {$logged} …

  • Yes, the PDFs are free, but some of them exceed 60MB in size which is quite a bit of size if a lot of people decide to download. As such we would like there to be registration in order to download the file. Helps avoid bot downloads, too.

    I’m not that familiar with how the templates on 30bz/PS work but I assume using {$logged} would be a way to force registration to use a download button, or something similar?

  • Yeah if I were you, I would create a tpl file and a custom FrontController. There I would use something like

    {if $logged}
    Download Link
    Please log in

    I haven’t tested {$logged}. It’s just my idea…

    In your case you either have to read trough tutorials or finding a dev for this custom work. I doubt there is a inbuilt solution to your problem.

    @mdekker This leads me to a question: is it technically possible to use smarty variables in html? Could be a nice feature for the blog and cms pages.

  • Hmm, interesting. So these wouldn’t end up being product pages but something else…?

    In that case it would probably be best to have each one in a blog post with a write-up about the manual, I guess. Either that or have a separate CMS page for each manual, something along those lines.

    So that brings us to your question to @mdekker, is it possible to do something along the lines of what @wakabayashi suggests?

    I expect these manuals will drive quite a lot of traffic to our sites as there are many people who bought these products without realizing they wouldn’t get a manual they could understand. There are lots of forum threads about people looking for manuals, that sort of thing.

  • If these things require no payment I’d replace the “add to cart” button on the product page with the code snippet wakabayashi suggested. Requires some theme modifications (product.tpl), of course.

    I don’t see a need to tweak FrontController. Virtual products can have files associated already, just the link has to move from the backyard to the product page.

    All the ordering machinery is never used then.


    is it technically possible to use smarty variables in html?

    Yes, of course. That’s the whole point of Smarty. If you mean “inside HTML tags”, like <a href="{$product.download_link}" ..., then also yes.

  • Are you sure it’s possible? What I meant is this: When saving a cms page in backoffice. I want to use {$cms->meta_title}. This doesn’t work for me. That I can use it in tpl files, that’s obvious. But normal merchant’s don’t want to touch files.

    I think my idea is related to the shortcode implementation.

  • What about using my product access module here? If you still need to display them though, it’s better to simply edit the product controller, add a check on the customer being logged, and assign some variable you can use in the template to hide the download link

  • We definitely want everyone to see that the PDF manuals are available and that they are free. I was just going to create blog posts with the download links and use them as a way to market the stores. However then I got the idea that it would be nice to at least get a registration in return for something that isn’t available anywhere else and that provides considerable value to the person downloading it. These are $300 to $1200 products that most people can’t use beyond the basic functions due to lack of an English manual, so there is a definite demand out there.


Looks like your connection to thirty bees forum was lost, please wait while we try to reconnect.