Jump to content
thirty bees forum

Free Module: Loyalty Points [genzo_krona]


Recommended Posts

Posted

@datakick Thank you so much! I am getting a 502 error when I try to access your Price alert module however. I don't use it personally, but I was thinking that the referral program module could be a good integration too. The Price alert is a great idea.

I understand that TB might not want to manage integration with community modules. It is additional work and support.

UPDATE: @datakick I finally managed to get my hands on the Price alert module. Awesome module BTW. I have version 1.0.11, however I cannot find it in the actions of Krona. Do I have the right version?

Posted

@movieseals did you update from older version? If so, you'll need to reset the module (so the new hook get registered). Just make sure you reset only the parameters. If you reset everything, you'd loose price alerts data

0_1531761444685_4283a29f-1dbf-4317-b4ab-216d5ed477e6-image.png

Posted

Glad I could help, fortunately integrating krona is not very hard, with most modules it can be done in hour or two. I'll add support to Send to a Friend Module v2.0.1 later this week. Are there any other community modules that would be good candidates for integration?

  • 1 month later...
Posted

I have done a little change. Could you test, if this fixes your issue? I can't test it myself easily, since I am not using this feature: https://github.com/eschiendorfer/genzo_krona/commit/df5049a3958881356fc5f9ca67cc172f2404c5e5

Posted

@wakabayashi Thank you. So far I had only tested the points with the individual add. It did not work for the coins either.

Since you wrote that there are no problems with you, I have started another attempt. This I have done in a test shop with only one language and it worked perfectly. It seems like it does not work for me with multiple languages in the shop to individually add points or coins.

Posted

@wakabayashi

yes i have - clear cache etc - shop with multiple language wont work on my tests, single language no problem with individual points and or coints i dont know if i have another problem with this - i will continue to test it

Posted

first days only with points tried. the "individual" points themselves are shown in the list, only the total number of points has not changed. I tried that with the coins and did not work. in another test shop with only one language the points of the total number are added only not in the shop with several languages

better german now

ersten tage nur mit punkten versucht. die "individuellen" punkte an sich werden in der liste gezeigt, nur die gesamtanzahl der punkte hat sich nicht verändert. das habe ich nun auch mit den coins probiert und auch nicht funktioniert. in einem anderen testshop mit nur einer sprache werden die punkte der gesamtanzahl addiert nur nicht beim shop mit mehreren sprachen

Posted

mit nur einer sprache wird die gesamtanzahl der points und coins korrekt angezeigt - im multilangshop nicht muß ich wohl nochmal alle einstellungen durchsehen, wenn es bei dir funktioniert bisher ja nur test noch nicht live - somit habe ich keine panik damit ;)

Posted

oder ich muss mal schauen/probieren, dass ich evtl andere optionen von den anderen modulen nutzen kann um manuell/individuell punkte oder coins hinzufügen kann wie zb geburtstagsmodul/revws/etc die nicht aktiv sind :D werd ich heut aber nicht mehr testen ;)

Posted

absolute sorry - my mistake :( my test with version 1.0.3 and the problems - update to 1.1.0 => it works now very good great - thanks something went wrong that I have the older version installed.

i need holidays

Posted

suggestion

Admin area Player list/history Course of the points and coins of a player

modules / genzo_krona / controllers / admin / AdminGenzoKronaPlayersController.php

``` $idcustomer = Tools::getValue('idcustomer');

    $fields_list = array(
        'id_history' => array(
            'title' => 'ID',
            'align' => 'center',
            'class' => 'fixed-width-xs',
            'alias' => 'h',
            'filter_type' => 'int',
        ),
        'title' => array(
            'title' => $this->l('Action'),
            'align' => 'left',
        ),
        'message' => array(
            'title' => $this->l('Message'),
            'align' => 'left',
        ),
        'change' => array(
            'title' => $this->l('Change'),
            'align' => 'center',
            'class' => 'fixed-width-xs',
            'filter_type' => 'int'
        ),
        'url' => array(
            'title' => 'Url',
            'align' => 'left',
            'remove_onclick' => true,
        ),
    );

```

to

``` $idcustomer = Tools::getValue('idcustomer');

    $fields_list = array(
        'id_history' => array(
            'title' => 'ID',
            'align' => 'center',
            'class' => 'fixed-width-xs',
            'alias' => 'h',
            'filter_type' => 'int',
        ),
        'title' => array(
            'title' => $this->l('Action'),
            'align' => 'left',
        ),
        'message' => array(
            'title' => $this->l('Message'),
            'align' => 'left',
        ),
        'change' => array(
            'title' => $this->l('Change'),
            'align' => 'center',
            'class' => 'fixed-width-xs',
            'filter_type' => 'int'
        ),
        'date_add' => array(
            'title' => 'Date',
            'align' => 'left',
        ),
        'url' => array(
            'title' => 'Url',
            'align' => 'left',
            'remove_onclick' => true,
        ),
    );

```

i add this before 'url' => array( 'date_add' => array( 'title' => 'Date', 'align' => 'left', ),

0_1535245140723_e93c3f63-bdf9-4c9b-a1fd-85e899846238-image.png

  • 5 months later...
Posted (edited)

i changed the module a little bit for me - now i can search with customer-email at the backoffice module - genzo krona - players list

modules / genzo_krona / controllers / admin / AdminGenzoKronaPlayersController.php

my changes

$this->_select = 'c.`firstname`, c.`lastname`';

to

$this->_select = 'c.`firstname`, c.`lastname`, c.`email` ';

 

this (public function __construct..... )

        $fields_list['lastname'] = array(
            'title' => $this->l('Lastname'),
            'align' => 'left',
            'filter_type' => 'string',
            'filter_key' => 'c!lastname'
        );

            $fields_list['pseudonym'] = array(
                'title' => $this->l('Pseudonym'),
                'align' => 'left',
            );

to

        $fields_list['lastname'] = array(
            'title' => $this->l('Lastname'),
            'align' => 'left',
            'filter_type' => 'string',
            'filter_key' => 'c!lastname'
        );

        $fields_list['email'] = array(
            'title' => $this->l('Email'),
            'align' => 'left',
            'filter_type' => 'string',
            'filter_key' => 'c!email'
        );

            $fields_list['pseudonym'] = array(
                'title' => $this->l('Pseudonym'),
                'align' => 'left',
            );

 

 

and this (public function renderList)

        $fields_list['lastname'] = array(
            'title' => $this->l('Lastname'),
            'align' => 'left',
            'filter_type' => 'string',
            'filter_key' => 'c!lastname'
        );

        if ($this->is_gamification && Configuration::get('krona_pseudonym', null, $this->id_shop_group, $this->id_shop)) {
            $fields_list['pseudonym'] = array(
                'title' => $this->l('Pseudonym'),
                'align' => 'left',
            );
        }

to

        $fields_list['lastname'] = array(
            'title' => $this->l('Lastname'),
            'align' => 'left',
            'filter_type' => 'string',
            'filter_key' => 'c!lastname'
        );

        $fields_list['email'] = array(
            'title' => $this->l('Email'),
            'align' => 'left',
            'filter_type' => 'string',
            'filter_key' => 'c!email'
        );

        if ($this->is_gamification && Configuration::get('krona_pseudonym', null, $this->id_shop_group, $this->id_shop)) {
            $fields_list['pseudonym'] = array(
                'title' => $this->l('Pseudonym'),
                'align' => 'left',
            );
        }

 my image result 

and complete .php-file

genzo.png

AdminGenzoKronaPlayersController.php

Edited by colorful-ant
  • Like 2
  • 2 months later...
Posted (edited)
On 7/16/2018 at 8:49 AM, datakick said:

I've also integrated my own Price alert module

Below is my little modification of css and tpl files for great PriceAlert module. I'm changed static bell icon to ringing bell. 🙂

Edited by Adik
Posted

pricealert.css
 

#pricealert-button-launch_text {
    font-weight: 700;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background-color: transparent;
    border-color: transparent;
    margin: auto;
    outline: 0;
    cursor: pointer;
    display: block;
    padding-top: 5px;
}

#pricealert-button-launch:before {
    content: "\f0a2";
    font: 400 15px/31px "FontAwesome";
    color: #fff;
    background: #929292;
    width: 30px;
    text-align: center;
    display: inline-block;
    height: 30px;
    margin: 0 6px 0 0;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    border-radius: 50px;
}

#pricealert-button-launch{
  display:block;
  float: left;
  width: 40px;
  height: 40px;
  font-weight: 700;
  margin: auto;
  color: #9e9e9e;
  -webkit-animation: ring 4s .7s ease-in-out infinite;
  -webkit-transform-origin: 50% 4px;
  -moz-animation: ring 4s .7s ease-in-out infinite;
  -moz-transform-origin: 50% 4px;
  animation: ring 4s .7s ease-in-out infinite;
  transform-origin: 50% 4px;
}

@-webkit-keyframes ring {
  0% { -webkit-transform: rotateZ(0); }
  1% { -webkit-transform: rotateZ(30deg); }
  3% { -webkit-transform: rotateZ(-28deg); }
  5% { -webkit-transform: rotateZ(34deg); }
  7% { -webkit-transform: rotateZ(-32deg); }
  9% { -webkit-transform: rotateZ(30deg); }
  11% { -webkit-transform: rotateZ(-28deg); }
  13% { -webkit-transform: rotateZ(26deg); }
  15% { -webkit-transform: rotateZ(-24deg); }
  17% { -webkit-transform: rotateZ(22deg); }
  19% { -webkit-transform: rotateZ(-20deg); }
  21% { -webkit-transform: rotateZ(18deg); }
  23% { -webkit-transform: rotateZ(-16deg); }
  25% { -webkit-transform: rotateZ(14deg); }
  27% { -webkit-transform: rotateZ(-12deg); }
  29% { -webkit-transform: rotateZ(10deg); }
  31% { -webkit-transform: rotateZ(-8deg); }
  33% { -webkit-transform: rotateZ(6deg); }
  35% { -webkit-transform: rotateZ(-4deg); }
  37% { -webkit-transform: rotateZ(2deg); }
  39% { -webkit-transform: rotateZ(-1deg); }
  41% { -webkit-transform: rotateZ(1deg); }

  43% { -webkit-transform: rotateZ(0); }
  100% { -webkit-transform: rotateZ(0); }
}

@-moz-keyframes ring {
  0% { -moz-transform: rotate(0); }
  1% { -moz-transform: rotate(30deg); }
  3% { -moz-transform: rotate(-28deg); }
  5% { -moz-transform: rotate(34deg); }
  7% { -moz-transform: rotate(-32deg); }
  9% { -moz-transform: rotate(30deg); }
  11% { -moz-transform: rotate(-28deg); }
  13% { -moz-transform: rotate(26deg); }
  15% { -moz-transform: rotate(-24deg); }
  17% { -moz-transform: rotate(22deg); }
  19% { -moz-transform: rotate(-20deg); }
  21% { -moz-transform: rotate(18deg); }
  23% { -moz-transform: rotate(-16deg); }
  25% { -moz-transform: rotate(14deg); }
  27% { -moz-transform: rotate(-12deg); }
  29% { -moz-transform: rotate(10deg); }
  31% { -moz-transform: rotate(-8deg); }
  33% { -moz-transform: rotate(6deg); }
  35% { -moz-transform: rotate(-4deg); }
  37% { -moz-transform: rotate(2deg); }
  39% { -moz-transform: rotate(-1deg); }
  41% { -moz-transform: rotate(1deg); }

  43% { -moz-transform: rotate(0); }
  100% { -moz-transform: rotate(0); }
}

@keyframes ring {
  0% { transform: rotate(0); }
  1% { transform: rotate(30deg); }
  3% { transform: rotate(-28deg); }
  5% { transform: rotate(34deg); }
  7% { transform: rotate(-32deg); }
  9% { transform: rotate(30deg); }
  11% { transform: rotate(-28deg); }
  13% { transform: rotate(26deg); }
  15% { transform: rotate(-24deg); }
  17% { transform: rotate(22deg); }
  19% { transform: rotate(-20deg); }
  21% { transform: rotate(18deg); }
  23% { transform: rotate(-16deg); }
  25% { transform: rotate(14deg); }
  27% { transform: rotate(-12deg); }
  29% { transform: rotate(10deg); }
  31% { transform: rotate(-8deg); }
  33% { transform: rotate(6deg); }
  35% { transform: rotate(-4deg); }
  37% { transform: rotate(2deg); }
  39% { transform: rotate(-1deg); }
  41% { transform: rotate(1deg); }

  43% { transform: rotate(0); }
  100% { transform: rotate(0); }
}

pricealert.tpl

<p class="buttons_bottom_block no-print">
  <a href="#" id="pricealert-button-launch" onclick='window.PriceAlert(true); return false' rel="nofollow"</a>
  <a href="#" id="pricealert-button-launch_text" onclick='window.PriceAlert(true); return false' rel="nofollow" title="{l s='Alert me when price drops' mod='pricealert'}">
    {l s='Alert me when price drops' mod='pricealert'}
  </a>
  <div id="pricealert-dialog"></div>
</p>
<script type="text/javascript">
  var priceAlertData={$priceAlertData|json_encode nofilter};
  var priceAlertUrl="{$priceAlertUrl}";
</script>

 

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...