diff --git a/controllers/BasketController.php b/controllers/BasketController.php index 954acd4..c6e3b73 100755 --- a/controllers/BasketController.php +++ b/controllers/BasketController.php @@ -28,7 +28,7 @@ ]; return $result; } - + public function actionAdd(int $variant_id, int $count) { $response = \Yii::$app->response; @@ -45,7 +45,7 @@ ]; return $result; } - + public function actionSet(int $variant_id, int $count) { $response = \Yii::$app->response; @@ -62,7 +62,7 @@ ]; return $result; } - + public function actionRemove(int $variant_id) { return $this->actionSet($variant_id, 0); diff --git a/web/js/artbox_basket.js b/web/js/artbox_basket.js index d05d49d..2deaafe 100755 --- a/web/js/artbox_basket.js +++ b/web/js/artbox_basket.js @@ -11,6 +11,9 @@ var ArtboxBasket = (function () { }; this._settings = {}; this._settings = ArtboxBasket.mergeObjects(this._defaults, settings); + if (settings['language'] !== undefined) { + this._language = settings['language']; + } this.init(true, true); } Object.defineProperty(ArtboxBasket.prototype, "items", { @@ -43,7 +46,7 @@ var ArtboxBasket = (function () { configurable: true }); ArtboxBasket.prototype.init = function (update_modal, update_cart) { - $.get('/' + this.language + '/' + this._settings['url'], function (data) { + $.get(this.getLanguagePath() + this._settings['url'], function (data) { this._items = data.basket; if (update_modal) { this.updateModal(data.modal, false); @@ -56,7 +59,7 @@ var ArtboxBasket = (function () { }.bind(this)); }; ArtboxBasket.prototype.add = function (variant_id, count) { - return $.post('/' + this.language + '/' + this._settings['url'] + '/add?variant_id=' + variant_id + '&count=' + count, function (data) { + return $.post(this.getLanguagePath() + this._settings['url'] + '/add?variant_id=' + variant_id + '&count=' + count, function (data) { this._items = data.basket; this.updateModal(data.modal, data.cart, true); }.bind(this), 'json').fail(function (xhr, status, error) { @@ -64,7 +67,7 @@ var ArtboxBasket = (function () { }); }; ArtboxBasket.prototype.set = function (variant_id, count) { - return $.post('/' + this.language + '/' + this._settings['url'] + '/set?variant_id=' + variant_id + '&count=' + count, function (data) { + return $.post(this.getLanguagePath() + this._settings['url'] + '/set?variant_id=' + variant_id + '&count=' + count, function (data) { this._items = data.basket; this.updateModal(data.modal, data.cart, true); }.bind(this), 'json').fail(function (xhr, status, error) { @@ -72,7 +75,7 @@ var ArtboxBasket = (function () { }); }; ArtboxBasket.prototype.remove = function (variant_id) { - return $.post('/' + this.language + '/' + this._settings['url'] + '/remove?variant_id=' + variant_id, function (data) { + return $.post(this.getLanguagePath() + this._settings['url'] + '/remove?variant_id=' + variant_id, function (data) { this._items = data.basket; this.updateModal(data.modal, data.cart, true); }.bind(this), 'json').fail(function (xhr, status, error) { @@ -126,5 +129,13 @@ var ArtboxBasket = (function () { } return obj; }; + ArtboxBasket.prototype.getLanguagePath = function () { + if (this.language) { + return '/' + this.language + '/'; + } + else { + return '/'; + } + }; return ArtboxBasket; }()); diff --git a/web/js/artbox_basket.ts b/web/js/artbox_basket.ts index 35e2b9a..16f567e 100755 --- a/web/js/artbox_basket.ts +++ b/web/js/artbox_basket.ts @@ -34,11 +34,14 @@ class ArtboxBasket { constructor(settings: Object = {}) { this._settings = ArtboxBasket.mergeObjects(this._defaults, settings); + if (settings['language'] !== undefined) { + this._language = settings['language']; + } this.init(true, true); } public init(update_modal, update_cart) { - $.get('/' + this.language + '/' + this._settings['url'], function (data) { + $.get(this.getLanguagePath() + this._settings['url'], function (data) { this._items = data.basket; if (update_modal) { this.updateModal(data.modal, false); @@ -52,7 +55,7 @@ class ArtboxBasket { } public add(variant_id, count): JQueryPromise { - return $.post('/' + this.language + '/' + this._settings['url'] + '/add?variant_id=' + variant_id + '&count=' + count, function (data) { + return $.post(this.getLanguagePath() + this._settings['url'] + '/add?variant_id=' + variant_id + '&count=' + count, function (data) { this._items = data.basket; this.updateModal(data.modal, data.cart, true); }.bind(this), 'json').fail(function (xhr, status, error) { @@ -61,7 +64,7 @@ class ArtboxBasket { } public set(variant_id, count): JQueryPromise { - return $.post('/' + this.language + '/' + this._settings['url'] + '/set?variant_id=' + variant_id + '&count=' + count, function (data) { + return $.post(this.getLanguagePath() + this._settings['url'] + '/set?variant_id=' + variant_id + '&count=' + count, function (data) { this._items = data.basket; this.updateModal(data.modal, data.cart, true); }.bind(this), 'json').fail(function (xhr, status, error) { @@ -70,7 +73,7 @@ class ArtboxBasket { } public remove(variant_id): JQueryPromise { - return $.post('/' + this.language + '/' + this._settings['url'] + '/remove?variant_id=' + variant_id, function (data) { + return $.post(this.getLanguagePath() + this._settings['url'] + '/remove?variant_id=' + variant_id, function (data) { this._items = data.basket; this.updateModal(data.modal, data.cart, true); }.bind(this), 'json').fail(function (xhr, status, error) { @@ -126,4 +129,12 @@ class ArtboxBasket { } return obj; } + + private getLanguagePath(): string { + if (this.language) { + return '/' + this.language + '/'; + } else { + return '/'; + } + } } \ No newline at end of file -- libgit2 0.21.4