Jump to content

Welcome, Guest!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

wakabayashi

Free Module: Loyalty Points [genzo_krona]

Recommended Posts

@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?

Share this post


Link to post
Share on other sites

@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

Share this post


Link to post
Share on other sites

@datakick I also installed the modifications to the wishlist module. Works like a charm! Thank you so much!!!

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

Which type are you chosing? I just tested it on my site and it worked :S

Are you talking about points or coins?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

@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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Ich habe es jetzt gerade noch einmal mit multilang probiert, hat auch funktioniert. Wie sieht denn der Kunde im Backoffice aus?

Share this post


Link to post
Share on other sites

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 ;)

Share this post


Link to post
Share on other sites

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 ;)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Nice :classic_rolleyes: Does the module work well for you? It's been a long time I have focused on this module :classic_unsure:

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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>

 

Share this post


Link to post
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...