Jump to content
thirty bees forum

Free Module: Loyalty Points [genzo_krona]


wakabayashi

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?

Link to comment
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?

Link to comment
Share on other sites

  • 1 month later...

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

Link to comment
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

Link to comment
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

Link to comment
Share on other sites

  • 5 months later...

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

  • 2 months later...
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
Link to comment
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>

 

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