Jump to content
thirty bees forum

Free Module: Loyalty Points [genzo_krona]


wakabayashi

Recommended Posts

So.... @30knees and @zimmer-media, or anyone else that tested it, what did ya think of the module, any input yet? Quite a bit has changed since v0.5.0, you might wanna d/l the new version and check it out. That will require a reset of the module tho. So hopefully you didn't get too crazy setting up levels or anything yet.

Link to comment
Share on other sites

yeah, it'll be pretty cool to be sure. @datakick has his module coded for it already, he just hasn't done a release yet. My birthdaygift module is already coded for it too, so you should see it show up in the Actions area under All external Actions. If you dont see it there, you probably need to upgrade to the newest version of my module.

Link to comment
Share on other sites

@wakabayashi i changed your great module for test on another template - i add the hook "displayProductButtons" - in module positions i removed the module manualy from the hook displayRightColumnProduct i dont know if its help you

very great job - its absolute fantastic

on your genzo_krona.php first i add !$this->registerHook('displayProductButtons') OR !$this->registerHook('displayRightColumnProduct') OR !$this->registerHook('displayProductButtons') OR !$this->registerHook('displayKronaCustomer') OR at second i add ``` public function hookDisplayProductButtons ($params) {

    if (Configuration::get('krona_loyalty_product_page')) {

        $this->context->controller->addJS($this->_path.'/views/js/krona-loyalty.js');

        $id_currency = $this->context->currency->id;
        $id_ActionOrder = ActionOrder::getIdActionOrderByCurrency($id_currency);
        $actionOrder = new ActionOrder($id_ActionOrder);

        $order_amount = Configuration::get('krona_order_amount', null, $this->context->shop->id_shop_group, $this->context->shop->id_shop);

        if ($order_amount == 'total_wt') {
            $coins_in_cart = $this->context->cart->getSummaryDetails()['total_price'];
            $tax = true;
        } elseif ($order_amount == 'total') {
            $coins_in_cart = $this->context->cart->getSummaryDetails()['total_price_without_tax'];
            $tax = false;
        } elseif ($order_amount == 'total_products_wt') {
            $coins_in_cart = $this->context->cart->getSummaryDetails()['total_products_wt'];
            $tax = true;
        } elseif ($order_amount == 'total_products') {
            $coins_in_cart = $this->context->cart->getSummaryDetails()['total_products'];
            $tax = false;
        } else {
            $coins_in_cart = 0;
            $tax = true;
        }

        ($tax) ? $tax_rate = 1 : $tax_rate = 1 + ($params['product']->tax_rate / 100);



        Media::addJsDef(array(
            'krona_coins_change' => $actionOrder->coins_change,
            'krona_coins_conversion' => $actionOrder->coins_conversion,
            'krona_coins_in_cart' => $coins_in_cart * $actionOrder->coins_change,
            'krona_order_rounding' => Configuration::get('krona_order_rounding', null, $this->id_shop_group, $this->id_shop),
            'krona_tax' => $tax,
            'krona_tax_rate' => $tax_rate,
        ));


        $this->context->smarty->assign(array(
            'game_name' => Configuration::get('krona_game_name', $this->context->language->id, $this->id_shop_group, $this->id_shop),
            'loyalty_name' => Configuration::get('krona_loyalty_name', $this->context->language->id, $this->id_shop_group, $this->id_shop),
            'krona_coins_in_cart' => $coins_in_cart * $actionOrder->coins_change,
        ));

        return $this->display(__FILE__, 'views/templates/hook/ProductButtons.tpl');
    }
}

``` third i copy "rightColumnProduct.tpl" the new file "ProductButtons.tpl"

Link to comment
Share on other sites

I have just released a new beta 0.8: https://github.com/eschiendorfer/genzo_krona/releases

It's a huge rewrite with some database changes. That's why you should reset your module. Soon the module is going to be released with 1.0 version. The 0.8 doesn't include many new features, but the backoffice is now using controllers, which will make it easier in the feature to add features. I also tried to restructure the module, so it's a bit less messy :) ;)

Thx to @datakick for implementing krona in his awesome review module: https://github.com/getdatakick/revws

Link to comment
Share on other sites

Thanks, @wakabayashi! I'm testing it now - quite late joining the testing, sorry. I'll do some more in-depth testing later. It looks nice, though! Well thought through.

Some comments and questions to help me understand the module: 1. The footer design on url.com/krona is different than on the default on other pages in my website. Have others noticed this, too? The line spacing is larger (and I actually prefer your design!). 2. I'm currently using the native Customer loyalty and rewards v3.0.2 - by thirty bees. I can choose: Import Core Loyality Points to import the existing points into your module, correct? And then I can disable the native module? 3. I don't know how easy this is to achieve, but in the native module points could have an expiry date. I think that, coupled with an email reminder, can be a great way to get people back into your store. Have you thought about such a feature? 4. The native module also allowed to specify a minimum order amount for a coupon to be used. That could be helpful, too. 5. Will customers see their coupons automatically during the checkout process or do they need to visit url.com/krona? 6. Two tiny spelling bugs: Do you want to use gamifacation with leaderboard, avatar, pseudonym etc --> should be gamifIcation // Do you wanna reward existing user with the account creation reward? Don't forget to save the display name settings first. --> Do you want to (instead of wanna)

Looking forward to testing further!

Link to comment
Share on other sites

@30knees thx for your feedback!

  1. No idea, tbh. But all module files can be overriden in your theme folder, so everbody can design it like it fits best for him. It's not possible to find a perfect design for all themes ;)
  2. Yes you can import them. This feature haven't been tested a lot, since I don't use loyalty module myself. You are right. It makes not much sense, to use native module and mine on the same time. I would decide for one or the other.
  3. I haven't thought seriously about it. Right now it's not planned, since it's not so easy to implement. I have my module would become popular and the feature is asked multiple times, I will think about it.
  4. Well with my module you can use all coupon features, which are available in TB. You just need to setup a "template". Just now I notice, that you are maybe talking about the loyalty points which are converted by the customer. I will improve this way, so you can use a template Coupon as well.
  5. Yes. In future you can set it up, like you prefer.
  6. Will be fixed in the next release.
Link to comment
Share on other sites

@wakabayashi Thanks!

  1. Is this perhaps something you can easily copy from the native loyalty module? It's already in there.
  2. Yep, I meant a minimum order amount otherwise you can't cash in the loyalty points/the coupon that is generated from the loyalty points.
Link to comment
Share on other sites

@30knees in the new release you can use the coupon 'KronaTemplate: Orders' as a template... So all functionalities are available.

For any kind of features which are based on email sending, I will definitely wait for datakicks planned mailstream module. So don't expect this feature to be soon in the module.

Link to comment
Share on other sites

@30knees or anyone else testing this module, Remember to:

1) Go into all Settings tabs and set that stuff up first. 2) Go to Orders and enable/edit your currency. 3) Import your players, with whichever or both options you want. 4) Go to Groups and organize those. 5) Go to Actions and edit/enable the ones you want to use. 6) Then just setup some Levels and you're good to go.

This is how I personally setup the Settings>Orders tab, but you do it however you like.... 0_1521605034924_Capture.PNG

You can setup coupons, here are a couple of mine: 0_1521605965698_Capture.PNG

Just go to setup a cart rule, with the name that starts with ' KronaTemplate: ', and make it however you want, highlighted or not, how long its good for, ect, ect, and have it disabled. Then you can use that with the module, and it will use it as a template when it makes coupons. Very cool.... As you see above I have a Level named High Roller, which is setup to give a coupon of 10% off.

Also, remember to get the latest code at https://github.com/eschiendorfer/genzo_krona

Link to comment
Share on other sites

People are already utilizing the module on my site. Getting points for visiting the site, uploading avatars, submitting reviews, and of course making sales. They have already redeemed points for a voucher as well. I'm so glad you made this module, its soooo much better than the current loyalty program. Thanks again!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...