From 92cd8f04165cb46811bf43db1f4a303cccf8245a Mon Sep 17 00:00:00 2001 From: Konstantin Kolos Date: Tue, 26 May 2020 14:58:41 +0300 Subject: [PATCH] Release 2.0.2 --- language/en-GB/en-GB.mod_jcart_ajax.ini | 67 ++++ language/en-GB/en-GB.mod_jcart_ajax.sys.ini | 8 + language/ru-RU/ru-RU.mod_jcart_ajax.ini | 67 ++++ language/ru-RU/ru-RU.mod_jcart_ajax.sys.ini | 8 + language/uk-UA/uk-UA.mod_jcart_ajax.ini | 67 ++++ language/uk-UA/uk-UA.mod_jcart_ajax.sys.ini | 8 + manifest.xml | 21 ++ media/css/default.css | 251 +++++++++++++++ media/css/default.min.css | 1 + media/images/cart.png | Bin 0 -> 939 bytes media/images/cart_hover.png | Bin 0 -> 985 bytes media/images/loading.gif | Bin 0 -> 2608 bytes media/images/wishlist.png | Bin 0 -> 1246 bytes media/images/wishlist_hover.png | Bin 0 -> 1305 bytes media/js/jcart-ajax.js | 129 ++++++++ mod_jcart_ajax.php | 36 +++ mod_jcart_ajax.xml | 322 ++++++++++++++++++++ tmpl/default.php | 140 +++++++++ 18 files changed, 1125 insertions(+) create mode 100644 language/en-GB/en-GB.mod_jcart_ajax.ini create mode 100644 language/en-GB/en-GB.mod_jcart_ajax.sys.ini create mode 100644 language/ru-RU/ru-RU.mod_jcart_ajax.ini create mode 100644 language/ru-RU/ru-RU.mod_jcart_ajax.sys.ini create mode 100644 language/uk-UA/uk-UA.mod_jcart_ajax.ini create mode 100644 language/uk-UA/uk-UA.mod_jcart_ajax.sys.ini create mode 100644 manifest.xml create mode 100644 media/css/default.css create mode 100644 media/css/default.min.css create mode 100644 media/images/cart.png create mode 100644 media/images/cart_hover.png create mode 100644 media/images/loading.gif create mode 100644 media/images/wishlist.png create mode 100644 media/images/wishlist_hover.png create mode 100644 media/js/jcart-ajax.js create mode 100644 mod_jcart_ajax.php create mode 100644 mod_jcart_ajax.xml create mode 100644 tmpl/default.php diff --git a/language/en-GB/en-GB.mod_jcart_ajax.ini b/language/en-GB/en-GB.mod_jcart_ajax.ini new file mode 100644 index 0000000..dd38ed7 --- /dev/null +++ b/language/en-GB/en-GB.mod_jcart_ajax.ini @@ -0,0 +1,67 @@ +; @package jCart Ajax +; @author Konstantin Kolos +; @copyright Copyright (C) 2019-2020 Jnotes.net.ua. All rights reserved +; @contact http://jnotes.net.ua, admin@jnotes.net.ua +; @license http://gnu.org/licenses/gpl-3.0.html, GNU/GPLv3 + +MOD_JCART_AJAX="jCart Ajax" +MOD_JCART_AJAX_DESC="

jCart Ajax - module for the Joomshopping component that allows to present a cart of products in a pop-up window.

For more information, please visit the following pages:

" + +; Frontend +MOD_JCART_AJAX_CART_IS_EMPTY="

Your cart is empty

" +MOD_JCART_AJAX_CART_IS_EMPTY_DESC="Add your favorite products to your cart." +MOD_JCART_AJAX_PRODUCT_IN_CART="Product in cart" +MOD_JCART_AJAX_CART="Cart" +MOD_JCART_AJAX_GO_TO_CART="Go to cart" +MOD_JCART_AJAX_GO_TO_WISHLIST="Go to wishlist" +MOD_JCART_AJAX_CLEAR_CART="Clear" +MOD_JCART_AJAX_CLEAR_CART_DESC="Are you sure you want to empty your shopping cart?" +MOD_JCART_AJAX_TOTAL_PRODUCTS="Total products:" +MOD_JCART_AJAX_TOTAL_AMOUNT="for total cost" +MOD_JCART_AJAX_ERROR_ADDING_TO_CART="Please select product attributes." +MOD_JCART_AJAX_ERROR_COMPONENT_NOT_INSTALLED="Joomshopping component not found on system. Please install the component or disable the jCart Ajax module." + +; Backend +MOD_JCART_AJAX_FIELDS_PARAMETERS_LABEL="

FIELD PARAMETERS

Additional fields are designed to create several user links to other pages of the site (for example, About shop, Delivery and payment, Return and exchange) and allow you to present the module in a horizontal form (for example, in the Toolbar position) without the cart icon.
" +MOD_JCART_AJAX_ACTIVATE_FIELDS_1_LABEL="Activate fields 1" +MOD_JCART_AJAX_ACTIVATE_FIELDS_2_LABEL="Activate fields 2" +MOD_JCART_AJAX_ACTIVATE_FIELDS_3_LABEL="Activate fields 3" +MOD_JCART_AJAX_ACTIVATE_FIELDS_4_LABEL="Activate fields 4" +MOD_JCART_AJAX_ACTIVATE_FIELDS_5_LABEL="Activate fields 5" +MOD_JCART_AJAX_ACTIVATE_FIELDS_DESC="Enable or disable the use of additional title and address fields for a new page (URL)." +MOD_JCART_AJAX_FIELD_TITLE_LABEL="Page title" +MOD_JCART_AJAX_FIELD_TITLE_DESC="Enter a title for the new page." +MOD_JCART_AJAX_FIELD_URL_LABEL="Page address (URL)" +MOD_JCART_AJAX_FIELD_URL_DESC="Enter the address for the new page (URL)." + +MOD_JCART_AJAX_FIELD_URL_ATTRIBUTE_LABEL="Link Attribute (target)" +MOD_JCART_AJAX_FIELD_URL_ATTRIBUTE_DESC="Select the target attribute value for links to new pages. Please note that this option does not apply to the link to the cart page." +MOD_JCART_AJAX_FIELD_URL_SELF="Open in current window" +MOD_JCART_AJAX_FIELD_URL_BLANK="Open in new window" + +MOD_JCART_AJAX_FIELD_SEPARATOR_LABEL="Page separator" +MOD_JCART_AJAX_FIELD_SEPARATOR_DESC="Enter a separator for new pages (for example, space, | or »)." + +MOD_JCART_AJAX_IMAGE_PARAMETERS_LABEL="

IMAGE PARAMETERS

" +MOD_JCART_AJAX_TEXT_OR_IMAGE_LABEL="Cart icon" +MOD_JCART_AJAX_TEXT_OR_IMAGE_DESC="Select the format of the cart icon: as text, default image, or custom image." +MOD_JCART_AJAX_TEXT_LABEL="Text" +MOD_JCART_AJAX_IMAGE_LABEL="Image" +MOD_JCART_AJAX_IMAGE_SELECT_LABEL="Select image" +MOD_JCART_AJAX_IMAGE_SELECT_DESC="Select an image to display as a cart icon." +MOD_JCART_AJAX_IMAGE_WIDTH_LABEL="Image width" +MOD_JCART_AJAX_IMAGE_WIDTH_DESC="Enter the width of the selected image (in pixels)." +MOD_JCART_AJAX_IMAGE_HEIGHT_LABEL="Image height" +MOD_JCART_AJAX_IMAGE_HEIGHT_DESC="Enter the height of the selected image (in pixels)." + +MOD_JCART_AJAX_IMAGE_WISHLIST_LABEL="Wishlist icon" +MOD_JCART_AJAX_IMAGE_WISHLIST_DESC="Enable or disable the display of the wishlist icon." +MOD_JCART_AJAX_IMAGE_WISHLIST_SELECT_DESC="Select an image to display as a wishlist icon." + +MOD_JCART_AJAX_STYLE_PARAMETERS_LABEL="

STYLE PARAMETERS

" +MOD_JCART_AJAX_STYLE_CSS_LABEL="CSS Style File" +MOD_JCART_AJAX_STYLE_CSS_DESC="Select the module CSS stylesheet. To override the module styles, create a copy of the default.css file in folder media/mod_jcart_ajax/css and select a new file in the parameter field." +MOD_JCART_AJAX_STYLE_ATTRIBUTE_TITLE_LABEL="Tooltip" +MOD_JCART_AJAX_STYLE_ATTRIBUTE_TITLE_DESC="Select a tooltip attribute type for links." +MOD_JCART_AJAX_STYLE_ATTRIBUTE_TITLE="Title (default)" +MOD_JCART_AJAX_STYLE_ATTRIBUTE_DATA_TITLE="Data-title" diff --git a/language/en-GB/en-GB.mod_jcart_ajax.sys.ini b/language/en-GB/en-GB.mod_jcart_ajax.sys.ini new file mode 100644 index 0000000..e322414 --- /dev/null +++ b/language/en-GB/en-GB.mod_jcart_ajax.sys.ini @@ -0,0 +1,8 @@ +; @package jCart Ajax +; @author Konstantin Kolos +; @copyright Copyright (C) 2019-2020 Jnotes.net.ua. All rights reserved +; @contact http://jnotes.net.ua, admin@jnotes.net.ua +; @license http://gnu.org/licenses/gpl-3.0.html, GNU/GPLv3 + +MOD_JCART_AJAX="jCart Ajax" +MOD_JCART_AJAX_DESC="

jCart Ajax - module for the Joomshopping component that allows to present a cart of products in a pop-up window.

For more information, please visit the following pages:

" diff --git a/language/ru-RU/ru-RU.mod_jcart_ajax.ini b/language/ru-RU/ru-RU.mod_jcart_ajax.ini new file mode 100644 index 0000000..a6cc4a3 --- /dev/null +++ b/language/ru-RU/ru-RU.mod_jcart_ajax.ini @@ -0,0 +1,67 @@ +; @package jCart Ajax +; @author Konstantin Kolos +; @copyright Copyright (C) 2019-2020 Jnotes.net.ua. All rights reserved +; @contact http://jnotes.net.ua, admin@jnotes.net.ua +; @license http://gnu.org/licenses/gpl-3.0.html, GNU/GPLv3 + +MOD_JCART_AJAX="jCart Ajax" +MOD_JCART_AJAX_DESC="

jCart Ajax - модуль для компонента Joomshopping, который позволяет представить корзину товаров во всплывающем окне.

Для получения дополнительной информации, пожалуйста, посетите следующие страницы:

" + +; Фронтенд +MOD_JCART_AJAX_CART_IS_EMPTY="

Ваша корзина пуста

" +MOD_JCART_AJAX_CART_IS_EMPTY_DESC="Добавляйте понравившиеся товары в корзину." +MOD_JCART_AJAX_PRODUCT_IN_CART="Товар в корзине" +MOD_JCART_AJAX_CART="Корзина" +MOD_JCART_AJAX_GO_TO_CART="Перейти в корзину" +MOD_JCART_AJAX_GO_TO_WISHLIST="Перейти в лист желаний" +MOD_JCART_AJAX_CLEAR_CART="Очистить" +MOD_JCART_AJAX_CLEAR_CART_DESC="Вы уверены, что хотите очистить корзину товаров?" +MOD_JCART_AJAX_TOTAL_PRODUCTS="Всего товаров:" +MOD_JCART_AJAX_TOTAL_AMOUNT="на сумму" +MOD_JCART_AJAX_ERROR_ADDING_TO_CART="Пожалуйста, выберите атрибуты товара." +MOD_JCART_AJAX_ERROR_COMPONENT_NOT_INSTALLED="Компонент Joomshopping не найден в системе. Пожалуйста, установите компонент или отключите модуль jCart Ajax." + +; Админпанель +MOD_JCART_AJAX_FIELDS_PARAMETERS_LABEL="

ПАРАМЕТРЫ ПОЛЕЙ

Дополнительные поля предназначены для создания нескольких пользовательских ссылок на другие страницы сайта (например, О магазине, Доставка и оплата, Возврат и обмен) и позволяют представить модуль в горизонтальном виде (например, в позиции Toolbar) без иконки корзины товаров.
" +MOD_JCART_AJAX_ACTIVATE_FIELDS_1_LABEL="Активировать поля 1" +MOD_JCART_AJAX_ACTIVATE_FIELDS_2_LABEL="Активировать поля 2" +MOD_JCART_AJAX_ACTIVATE_FIELDS_3_LABEL="Активировать поля 3" +MOD_JCART_AJAX_ACTIVATE_FIELDS_4_LABEL="Активировать поля 4" +MOD_JCART_AJAX_ACTIVATE_FIELDS_5_LABEL="Активировать поля 5" +MOD_JCART_AJAX_ACTIVATE_FIELDS_DESC="Включить или отключить использование дополнительных полей заголовка и адреса новой страницы (URL)." +MOD_JCART_AJAX_FIELD_TITLE_LABEL="Заголовок страницы" +MOD_JCART_AJAX_FIELD_TITLE_DESC="Введите заголовок новой страницы." +MOD_JCART_AJAX_FIELD_URL_LABEL="Адрес страницы (URL)" +MOD_JCART_AJAX_FIELD_URL_DESC="Введите адрес новой страницы (URL)." + +MOD_JCART_AJAX_FIELD_URL_ATTRIBUTE_LABEL="Атрибут ссылок (target)" +MOD_JCART_AJAX_FIELD_URL_ATTRIBUTE_DESC="Выберите значение атрибута target для ссылок на новые страницы. Обратите внимание, что данный параметр не применяется к ссылке на страницу корзины товаров." +MOD_JCART_AJAX_FIELD_URL_SELF="Открывать в текущем окне" +MOD_JCART_AJAX_FIELD_URL_BLANK="Открывать в новом окне" + +MOD_JCART_AJAX_FIELD_SEPARATOR_LABEL="Разделитель страниц" +MOD_JCART_AJAX_FIELD_SEPARATOR_DESC="Введите разделитель для новых страниц (например, пробел, | или »)." + +MOD_JCART_AJAX_IMAGE_PARAMETERS_LABEL="

ПАРАМЕТРЫ ИЗОБРАЖЕНИЙ

" +MOD_JCART_AJAX_TEXT_OR_IMAGE_LABEL="Иконка корзины" +MOD_JCART_AJAX_TEXT_OR_IMAGE_DESC="Выберите формат иконки корзины: в виде текста, изображения по умолчанию или пользовательского изображения." +MOD_JCART_AJAX_TEXT_LABEL="Текст" +MOD_JCART_AJAX_IMAGE_LABEL="Изображение" +MOD_JCART_AJAX_IMAGE_SELECT_LABEL="Выбрать изображение" +MOD_JCART_AJAX_IMAGE_SELECT_DESC="Выберите изображение для отображения в качестве иконки корзины." +MOD_JCART_AJAX_IMAGE_WIDTH_LABEL="Ширина изображения" +MOD_JCART_AJAX_IMAGE_WIDTH_DESC="Введите значение ширины выбранного изображения (в пикселях)." +MOD_JCART_AJAX_IMAGE_HEIGHT_LABEL="Высота изображения" +MOD_JCART_AJAX_IMAGE_HEIGHT_DESC="Введите значение высоты выбранного изображения (в пикселях)." + +MOD_JCART_AJAX_IMAGE_WISHLIST_LABEL="Иконка листа желаний" +MOD_JCART_AJAX_IMAGE_WISHLIST_DESC="Включить или отключить отображение иконки листа желаний." +MOD_JCART_AJAX_IMAGE_WISHLIST_SELECT_DESC="Выберите изображение для отображения в качестве иконки листа желаний." + +MOD_JCART_AJAX_STYLE_PARAMETERS_LABEL="

ПАРАМЕТРЫ СТИЛЕЙ

" +MOD_JCART_AJAX_STYLE_CSS_LABEL="Файл CSS-стилей" +MOD_JCART_AJAX_STYLE_CSS_DESC="Выберите файл CSS-стилей модуля. Для переопределения стилей модуля создайте копию файла default.css в каталоге media/mod_jcart_ajax/css и выберите в поле параметра новый файл." +MOD_JCART_AJAX_STYLE_ATTRIBUTE_TITLE_LABEL="Всплывающая подсказка" +MOD_JCART_AJAX_STYLE_ATTRIBUTE_TITLE_DESC="Выберите тип атрибута всплывающей подсказки для ссылок." +MOD_JCART_AJAX_STYLE_ATTRIBUTE_TITLE="Title (по умолчанию)" +MOD_JCART_AJAX_STYLE_ATTRIBUTE_DATA_TITLE="Data-title" diff --git a/language/ru-RU/ru-RU.mod_jcart_ajax.sys.ini b/language/ru-RU/ru-RU.mod_jcart_ajax.sys.ini new file mode 100644 index 0000000..9153918 --- /dev/null +++ b/language/ru-RU/ru-RU.mod_jcart_ajax.sys.ini @@ -0,0 +1,8 @@ +; @package jCart Ajax +; @author Konstantin Kolos +; @copyright Copyright (C) 2019-2020 Jnotes.net.ua. All rights reserved +; @contact http://jnotes.net.ua, admin@jnotes.net.ua +; @license http://gnu.org/licenses/gpl-3.0.html, GNU/GPLv3 + +MOD_JCART_AJAX="jCart Ajax" +MOD_JCART_AJAX_DESC="

jCart Ajax - модуль для компонента Joomshopping, который позволяет представить корзину товаров во всплывающем окне.

Для получения дополнительной информации, пожалуйста, посетите следующие страницы:

" diff --git a/language/uk-UA/uk-UA.mod_jcart_ajax.ini b/language/uk-UA/uk-UA.mod_jcart_ajax.ini new file mode 100644 index 0000000..e305645 --- /dev/null +++ b/language/uk-UA/uk-UA.mod_jcart_ajax.ini @@ -0,0 +1,67 @@ +; @package jCart Ajax +; @author Konstantin Kolos +; @copyright Copyright (C) 2019-2020 Jnotes.net.ua. All rights reserved +; @contact http://jnotes.net.ua, admin@jnotes.net.ua +; @license http://gnu.org/licenses/gpl-3.0.html, GNU/GPLv3 + +MOD_JCART_AJAX="jCart Ajax" +MOD_JCART_AJAX_DESC="

jCart Ajax - модуль для компонента Joomshopping, який дозволяє представити кошик товарів у спливному вікні.

Для отримання додаткової інформації, будь ласка, відвідайте наступні сторінки:

" + +; Фронтенд +MOD_JCART_AJAX_CART_IS_EMPTY="

Ваш кошик порожній

" +MOD_JCART_AJAX_CART_IS_EMPTY_DESC="Додавайте товари, що сподобалися до кошика." +MOD_JCART_AJAX_PRODUCT_IN_CART="Товар в кошику" +MOD_JCART_AJAX_CART="Кошик" +MOD_JCART_AJAX_GO_TO_CART="Перейти до кошика" +MOD_JCART_AJAX_GO_TO_WISHLIST="Перейти до листа бажань" +MOD_JCART_AJAX_CLEAR_CART="Очистити" +MOD_JCART_AJAX_CLEAR_CART_DESC="Ви впевнені, що бажаєте очистити кошик товарів?" +MOD_JCART_AJAX_TOTAL_PRODUCTS="Всього товарів:" +MOD_JCART_AJAX_TOTAL_AMOUNT="на суму" +MOD_JCART_AJAX_ERROR_ADDING_TO_CART="Будь ласка, оберіть атрибути товару." +MOD_JCART_AJAX_ERROR_COMPONENT_NOT_INSTALLED="Компонент Joomshopping не знайдений в системі. Будь ласка, встановіть компонент або деактивуйте модуль jCart Ajax." + +; Адмінпанель +MOD_JCART_AJAX_FIELDS_PARAMETERS_LABEL="

ПАРАМЕТРИ ПОЛІВ

Додаткові поля призначені для створення декількох посилань на інші сторінки сайту (наприклад, Про магазин, Доставка та оплата, Повернення та обмін) і дозволяють представити модуль в горизонтальному вигляді (наприклад, в позиції Toolbar) без іконки кошика товарів.
" +MOD_JCART_AJAX_ACTIVATE_FIELDS_1_LABEL="Активувати поля 1" +MOD_JCART_AJAX_ACTIVATE_FIELDS_2_LABEL="Активувати поля 2" +MOD_JCART_AJAX_ACTIVATE_FIELDS_3_LABEL="Активувати поля 3" +MOD_JCART_AJAX_ACTIVATE_FIELDS_4_LABEL="Активувати поля 4" +MOD_JCART_AJAX_ACTIVATE_FIELDS_5_LABEL="Активувати поля 5" +MOD_JCART_AJAX_ACTIVATE_FIELDS_DESC="Включити або відключити використання додаткових полів заголовка та адреси нової сторінки (URL)." +MOD_JCART_AJAX_FIELD_TITLE_LABEL="Заголовок сторінки" +MOD_JCART_AJAX_FIELD_TITLE_DESC="Введіть заголовок нової сторінки." +MOD_JCART_AJAX_FIELD_URL_LABEL="Адреса сторінки (URL)" +MOD_JCART_AJAX_FIELD_URL_DESC="Введіть адресу нової сторінки (URL)." + +MOD_JCART_AJAX_FIELD_URL_ATTRIBUTE_LABEL="Атрибут посилань (target)" +MOD_JCART_AJAX_FIELD_URL_ATTRIBUTE_DESC="Оберіть значення атрибута target для посилань на нові сторінки. Зверніть увагу, що даний параметр не застосовується до посилання на сторінку кошика товарів." +MOD_JCART_AJAX_FIELD_URL_SELF="Відкривати в поточному вікні" +MOD_JCART_AJAX_FIELD_URL_BLANK="Відкривати в новому вікні" + +MOD_JCART_AJAX_FIELD_SEPARATOR_LABEL="Роздільник сторінок" +MOD_JCART_AJAX_FIELD_SEPARATOR_DESC="Введіть роздільник для нових сторінок (наприклад, пробіл, | або »)." + +MOD_JCART_AJAX_IMAGE_PARAMETERS_LABEL="

ПАРАМЕТРИ ЗОБРАЖЕНЬ

" +MOD_JCART_AJAX_TEXT_OR_IMAGE_LABEL="Іконка кошика" +MOD_JCART_AJAX_TEXT_OR_IMAGE_DESC="Оберіть формат іконки кошика: у вигляді тексту, зображення за замовчуванням або призначеного користувачем нового зображення." +MOD_JCART_AJAX_TEXT_LABEL="Текст" +MOD_JCART_AJAX_IMAGE_LABEL="Зображення" +MOD_JCART_AJAX_IMAGE_SELECT_LABEL="Обрати зображення" +MOD_JCART_AJAX_IMAGE_SELECT_DESC="Оберіть зображення для відображення у якості іконки кошика." +MOD_JCART_AJAX_IMAGE_WIDTH_LABEL="Ширина зображення" +MOD_JCART_AJAX_IMAGE_WIDTH_DESC="Введіть значення ширини обраного зображення (в пікселях)." +MOD_JCART_AJAX_IMAGE_HEIGHT_LABEL="Висота зображення" +MOD_JCART_AJAX_IMAGE_HEIGHT_DESC="Введіть значення висоти обраного зображення (в пікселях)." + +MOD_JCART_AJAX_IMAGE_WISHLIST_LABEL="Іконка листа бажань" +MOD_JCART_AJAX_IMAGE_WISHLIST_DESC="Включити або відключити відображення іконки листа бажань." +MOD_JCART_AJAX_IMAGE_WISHLIST_SELECT_DESC="Оберіть зображення для відображення у якості іконки листа бажань." + +MOD_JCART_AJAX_STYLE_PARAMETERS_LABEL="

ПАРАМЕТРИ СТИЛІВ

" +MOD_JCART_AJAX_STYLE_CSS_LABEL="Файл CSS-стилів" +MOD_JCART_AJAX_STYLE_CSS_DESC="Оберіть файл CSS-стилів модуля. Для перевизначення стилів модуля створіть копію файлу default.css в каталозі media/mod_jcart_ajax/css і оберіть в полі параметра новий файл." +MOD_JCART_AJAX_STYLE_ATTRIBUTE_TITLE_LABEL="Спливна підказка" +MOD_JCART_AJAX_STYLE_ATTRIBUTE_TITLE_DESC="Оберіть тип атрибута спливної підказки для посилань." +MOD_JCART_AJAX_STYLE_ATTRIBUTE_TITLE="Title (за замовчуванням)" +MOD_JCART_AJAX_STYLE_ATTRIBUTE_DATA_TITLE="Data-title" diff --git a/language/uk-UA/uk-UA.mod_jcart_ajax.sys.ini b/language/uk-UA/uk-UA.mod_jcart_ajax.sys.ini new file mode 100644 index 0000000..16f9e57 --- /dev/null +++ b/language/uk-UA/uk-UA.mod_jcart_ajax.sys.ini @@ -0,0 +1,8 @@ +; @package jCart Ajax +; @author Konstantin Kolos +; @copyright Copyright (C) 2019-2020 Jnotes.net.ua. All rights reserved +; @contact http://jnotes.net.ua, admin@jnotes.net.ua +; @license http://gnu.org/licenses/gpl-3.0.html, GNU/GPLv3 + +MOD_JCART_AJAX="jCart Ajax" +MOD_JCART_AJAX_DESC="

jCart Ajax - модуль для компонента Joomshopping, який дозволяє представити кошик товарів у спливному вікні.

Для отримання додаткової інформації, будь ласка, відвідайте наступні сторінки:

" diff --git a/manifest.xml b/manifest.xml new file mode 100644 index 0000000..17f2dca --- /dev/null +++ b/manifest.xml @@ -0,0 +1,21 @@ + + + + + mod_jcart_ajax + module + 2.0.2 + http://jnotes.net.ua/ext/jcart-ajax + + https://github.com/Kostelano/jCart-Ajax-Joomshopping/releases/download/2.0.2/mod_jcart_ajax_2.0.2.zip + + + stable + + + http://jnotes.net.ua +
Updates
+ + 0 +
+
diff --git a/media/css/default.css b/media/css/default.css new file mode 100644 index 0000000..bbf24e0 --- /dev/null +++ b/media/css/default.css @@ -0,0 +1,251 @@ +/** + * @package jCart Ajax + * @author Konstantin Kolos + * @copyright Copyright (C) 2019-2020 Jnotes.net.ua. All rights reserved + * @contact http://jnotes.net.ua, admin@jnotes.net.ua + * @license http://gnu.org/licenses/gpl-3.0.html, GNU/GPLv3 +**/ + +/* TEXT or IMAGE or IMAGE SELECT */ +.jc-img-cart { + display: inline-block; + text-align: right; + background: url(/media/mod_jcart_ajax/images/cart.png) no-repeat scroll 0 0; + width: 64px; + height: 64px; +} +.jc-img-cart-select, +.jc-img-wish-select {display: inline-block; text-align: right} + +.jc-img-cart .jc-qt-product { + position: relative; + top: 4px; + left: 2px; +} +.jc-img-cart .jc-qt-product, +.jc-img-cart-select .jc-qt-product { + display: inline-block; + text-align: center; + font-size: small; + color: #fff; + background-color: #c74044; + width: 25px; + height: 25px; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + -o-border-radius: 50%; + -ms-border-radius: 50%; + border-radius: 50%; +} +.jc-img-wish { + display: inline-block; + background: url(/media/mod_jcart_ajax/images/wishlist.png) no-repeat scroll 0 0; + width: 64px; + height: 64px; +} +.jc-img-wish span, +.jc-img-wish-select span { + display: inline-block; + width: 0; + height: 0; + overflow: hidden; +} +.jc-img-cart:hover {background: url(/media/mod_jcart_ajax/images/cart_hover.png) no-repeat scroll 0 0} +.jc-img-wish:hover {background: url(/media/mod_jcart_ajax/images/wishlist_hover.png) no-repeat scroll 0 0} + +.jc-content { + opacity: 0; + visibility: hidden; + z-index: 99; + position: absolute; + margin: 10px 0 0 0; + width: 400px; + max-width: 500px; + background-color: #fff; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + -o-border-radius: 4px; + -ms-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 0 20px 0 #ccc; + -webkit-box-shadow: 0 0 20px 0 #ccc; + -o-box-shadow: 0 0 20px 0 #ccc; + -ms-box-shadow: 0 0 20px 0 #ccc; + box-shadow: 0 0 20px 0 #ccc; + -moz-transition: all 0.1s ease-out 0.1s; + -webkit-transition: all 0.1s ease-out 0.1s; + -o-transition: all 0.1s ease-out 0.1s; + -ms-transition: all 0.1s ease-out 0.1s; + transition: all 0.1s ease-out 0.1s; +} +.jc-cart-text, +.jc-img-cart, +.jc-img-cart-select {cursor: pointer} + +.jc-cart-text:hover, .jc-cart-text:focus, .jc-cart-text:active, +.jc-qt-product:hover, .jc-qt-product:focus, .jc-qt-product:active {text-decoration: none} + +.jc-cart-text:hover + .jc-qt-product + .jc-content, +.jc-img-cart:hover + .jc-content, +.jc-img-cart-select:hover + .jc-content, +.jc-qt-product:hover + .jc-content, +.jc-content:hover {opacity: 1; visibility: visible} + +/* LIST */ +.jc-shop {line-height: 24px} +.jc-list-empty, +.jc-list-product {padding: 20px} +.jc-list-empty h1, +.jc-list-empty h2, +.jc-list-empty h3, +.jc-list-empty h4, +.jc-list-empty h5 {text-transform: uppercase} +.jc-rows {padding: 0 5px 0 0; max-height: 400px; overflow-y: auto} +.jc-row {padding: 0 0 5px 0; border-bottom: 1px dashed #ccc} +.jc-row:last-child {border: 0} +.jc-row + .jc-row {margin-top: 15px} +.jc-img-product { + display: block; + float: left; + margin: 5px 15px 0 0; + width: 100px; + height: 100px; +} +.jc-img-product img {max-width: 100px; max-height: 100px} +.jc-attr {margin: 5px 0 0 0} +.jc-control {clear: both; padding: 20px 0 20px 20px} +.jc-remove { + display: inline-block; + margin: 0 10px 0 0; + vertical-align: middle; + text-align: center; + color: #fff; + background-color: #2d5a71; + width: 25px; + height: 25px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -o-border-radius: 2px; + -ms-border-radius: 2px; + border-radius: 2px; +} +.jc-remove:hover, +.jc-remove:focus, +.jc-remove:active { + text-decoration: none; + color: #fff; + background-color: #1e3d4d; +} +.jc-inputbox { + margin: 0 3px !important; + text-align: center; + width: 30px; +} +.jc-price { + float: right; + padding: 5px 5px 0 0; + font-size: 20px; + font-weight: bolder; +} +.jc-price span { + margin: 0 10px 0 0; + color: #2d5a71; +} +.jc-hr { + margin: 0; + border: 0; + height: 2px; + background-color: #ccc; + background-image: -moz-linear-gradient(left, #fff, #ccc, #fff); + background-image: -webkit-linear-gradient(left, #fff, #ccc, #fff); + background-image: -o-linear-gradient(left, #fff, #ccc, #fff); + background-image: -ms-linear-gradient(left, #fff, #ccc, #fff); +} +.jc-total { + position: relative; + padding: 20px 0 5px 0; + text-align: center; + text-transform: uppercase; +} +.jc-total-qt {color: #c74044} +.jc-btn-center {margin: 15px 0 0 0; text-align: center} + +/* ADD TO CART */ +.jc-in-cart-list { + display: inline-block; + position: relative; + padding: 10px 0 0 0; + white-space: nowrap; +} +.jc-list-added, +.jc-in-cart-added { + position: absolute; + top: 5px; + left: -7px; + padding: 5px; + color: #fff; + background-color: #8ac187; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + -o-border-radius: 4px; + -ms-border-radius: 4px; + border-radius: 4px; +} +.jc-in-cart {margin: 0 0 0 5px} +.jc-in-cart-added { + top: 0; + left: 0; + padding: 5px 10px; +} +.jc-loading { + opacity: 1; + position: absolute; + top: 17px; + left: 165px; + background: url(/media/mod_jcart_ajax/images/loading.gif) no-repeat #fff; + width: 31px; + height: 31px; +} +.jc-hidden {display: none} + +/* TOOLTIP */ +[data-title] {position: relative} +[data-title]:after { + content: attr(data-title); + opacity: 0; + visibility: hidden; + z-index: 999; + position: absolute; + bottom: 2.3em; + left: 50%; + padding: 2px 8px; + font-size: small; + font-weight: lighter; + white-space: nowrap; + color: #444; + background-image: -moz-linear-gradient(top, #fff, #ddd); + background-image: -webkit-linear-gradient(top, #fff, #ddd); + background-image: -o-linear-gradient(top, #fff, #ddd); + background-image: -ms-linear-gradient(top, #fff, #ddd); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -o-border-radius: 2px; + -ms-border-radius: 2px; + border-radius: 2px; + -moz-box-shadow: 0 0 5px #ccc; + -webkit-box-shadow: 0 0 5px #ccc; + -o-box-shadow: 0 0 5px #ccc; + -ms-box-shadow: 0 0 5px #ccc; + box-shadow: 0 0 5px #ccc; +} +[data-title]:hover:after { + opacity: 1; + visibility: visible; + -moz-transition: all 0.2s ease-out 0.5s; + -webkit-transition: all 0.2s ease-out 0.5s; + -o-transition: all 0.2s ease-out 0.5s; + -ms-transition: all 0.2s ease-out 0.5s; + transition: all 0.2s ease-out 0.5s; +} +.jc-img-wish:after, +.jc-img-wish-select:after {bottom: 5em} diff --git a/media/css/default.min.css b/media/css/default.min.css new file mode 100644 index 0000000..0b11edc --- /dev/null +++ b/media/css/default.min.css @@ -0,0 +1 @@ +.jc-img-cart{display:inline-block;text-align:right;background:url(/media/mod_jcart_ajax/images/cart.png) no-repeat scroll 0 0;width:64px;height:64px}.jc-img-cart-select,.jc-img-wish-select{display:inline-block;text-align:right}.jc-img-cart .jc-qt-product{position:relative;top:4px;left:2px}.jc-img-cart .jc-qt-product,.jc-img-cart-select .jc-qt-product{display:inline-block;text-align:center;font-size:small;color:#fff;background-color:#c74044;width:25px;height:25px;-moz-border-radius:50%;-webkit-border-radius:50%;-o-border-radius:50%;-ms-border-radius:50%;border-radius:50%}.jc-img-wish{display:inline-block;background:url(/media/mod_jcart_ajax/images/wishlist.png) no-repeat scroll 0 0;width:64px;height:64px}.jc-img-wish span,.jc-img-wish-select span{display:inline-block;width:0;height:0;overflow:hidden}.jc-img-cart:hover{background:url(/media/mod_jcart_ajax/images/cart_hover.png) no-repeat scroll 0 0}.jc-img-wish:hover{background:url(/media/mod_jcart_ajax/images/wishlist_hover.png) no-repeat scroll 0 0}.jc-content{opacity:0;visibility:hidden;z-index:99;position:absolute;margin:10px 0 0;width:400px;max-width:500px;background-color:#fff;-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;-ms-border-radius:4px;border-radius:4px;-moz-box-shadow:0 0 20px 0 #ccc;-webkit-box-shadow:0 0 20px 0 #ccc;-o-box-shadow:0 0 20px 0 #ccc;-ms-box-shadow:0 0 20px 0 #ccc;box-shadow:0 0 20px 0 #ccc;-moz-transition:all .1s ease-out .1s;-webkit-transition:all .1s ease-out .1s;-o-transition:all .1s ease-out .1s;-ms-transition:all .1s ease-out .1s;transition:all .1s ease-out .1s}.jc-cart-text,.jc-img-cart,.jc-img-cart-select{cursor:pointer}.jc-cart-text:hover,.jc-cart-text:focus,.jc-cart-text:active,.jc-qt-product:hover,.jc-qt-product:focus,.jc-qt-product:active{text-decoration:none}.jc-cart-text:hover + .jc-qt-product + .jc-content,.jc-img-cart:hover + .jc-content,.jc-img-cart-select:hover + .jc-content,.jc-qt-product:hover + .jc-content,.jc-content:hover{opacity:1;visibility:visible}.jc-shop{line-height:24px}.jc-list-empty,.jc-list-product{padding:20px}.jc-list-empty h1,.jc-list-empty h2,.jc-list-empty h3,.jc-list-empty h4,.jc-list-empty h5{text-transform:uppercase}.jc-rows{padding:0 5px 0 0;max-height:400px;overflow-y:auto}.jc-row{padding:0 0 5px;border-bottom:1px dashed #ccc}.jc-row:last-child{border:0}.jc-row + .jc-row{margin-top:15px}.jc-img-product{display:block;float:left;margin:5px 15px 0 0;width:100px;height:100px}.jc-img-product img{max-width:100px;max-height:100px}.jc-attr{margin:5px 0 0}.jc-control{clear:both;padding:20px 0 20px 20px}.jc-remove{display:inline-block;margin:0 10px 0 0;vertical-align:middle;text-align:center;color:#fff;background-color:#2d5a71;width:25px;height:25px;-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px;border-radius:2px}.jc-remove:hover,.jc-remove:focus,.jc-remove:active{text-decoration:none;color:#fff;background-color:#1e3d4d}.jc-inputbox{margin:0 3px!important;text-align:center;width:30px}.jc-price{float:right;padding:5px 5px 0 0;font-size:20px;font-weight:bolder}.jc-price span{margin:0 10px 0 0;color:#2d5a71}.jc-hr{margin:0;border:0;height:2px;background-color:#ccc;background-image:-moz-linear-gradient(left,#fff,#ccc,#fff);background-image:-webkit-linear-gradient(left,#fff,#ccc,#fff);background-image:-o-linear-gradient(left,#fff,#ccc,#fff);background-image:-ms-linear-gradient(left,#fff,#ccc,#fff)}.jc-total{position:relative;padding:20px 0 5px;text-align:center;text-transform:uppercase}.jc-total-qt{color:#c74044}.jc-btn-center{margin:15px 0 0;text-align:center}.jc-in-cart-list{display:inline-block;position:relative;padding:10px 0 0;white-space:nowrap}.jc-list-added,.jc-in-cart-added{position:absolute;top:5px;left:-7px;padding:5px;color:#fff;background-color:#8ac187;-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;-ms-border-radius:4px;border-radius:4px}.jc-in-cart{margin:0 0 0 5px}.jc-in-cart-added{top:0;left:0;padding:5px 10px}.jc-loading{opacity:1;position:absolute;top:17px;left:165px;background:url(/media/mod_jcart_ajax/images/loading.gif) no-repeat #fff;width:31px;height:31px}.jc-hidden{display:none}[data-title]{position:relative}[data-title]:after{content:attr(data-title);opacity:0;visibility:hidden;z-index:999;position:absolute;bottom:2.3em;left:50%;padding:2px 8px;font-size:small;font-weight:lighter;white-space:nowrap;color:#444;background-image:-moz-linear-gradient(top,#fff,#ddd);background-image:-webkit-linear-gradient(top,#fff,#ddd);background-image:-o-linear-gradient(top,#fff,#ddd);background-image:-ms-linear-gradient(top,#fff,#ddd);-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px;border-radius:2px;-moz-box-shadow:0 0 5px #ccc;-webkit-box-shadow:0 0 5px #ccc;-o-box-shadow:0 0 5px #ccc;-ms-box-shadow:0 0 5px #ccc;box-shadow:0 0 5px #ccc}[data-title]:hover:after{opacity:1;visibility:visible;-moz-transition:all .2s ease-out .5s;-webkit-transition:all .2s ease-out .5s;-o-transition:all .2s ease-out .5s;-ms-transition:all .2s ease-out .5s;transition:all .2s ease-out .5s}.jc-img-wish:after,.jc-img-wish-select:after{bottom:5em} \ No newline at end of file diff --git a/media/images/cart.png b/media/images/cart.png new file mode 100644 index 0000000000000000000000000000000000000000..ac5dea7bcaca5a1cbc5a249b961ba5fd7591083d GIT binary patch literal 939 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 IM6N<$f+-zGk^lez literal 0 HcmV?d00001 diff --git a/media/images/wishlist_hover.png b/media/images/wishlist_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..97aecfc9d96b69ba10167ec678bd68e0693aca68 GIT binary patch literal 1305 zcmV+!1?KvRP)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uz1pGibPRCr$Pnqh=gQ546Ah=_=Yh=_=Yz7*TOH*@cdAtGAQr@ls?Vp$?0A|m!v z#C}>LT|Ia;lXWC|WW_I4Zy>fqC^Y*;=?mg$;bI(2Z zzAZ%}kw_#Gi9{liNMryO%H=bS#7<<1oyijOv5}f3{-Vr5_5{CmeRNkokBuE{rsfKs zf2!}Zt~I$%?OT-l*{C_EkMBQ?(MlBxerlxlch{1bbr>?9UA%ZmU*FX$~@Ue(u&C#%(t!kE`Br7%jVnQA7L>&R078#{n@Z?n@?hn2#nMV8b~w;HyK+k4-SmKcU> z6>mZJ$NQ7=ep_Lj=%o|eVcRhNy{p5l&0Bj?Zw&`3=tmIcP5WG?OQXE?21!ZmbG`i! z81-@g9E`uC;=Z9ys7t3J0&j=-k{d8+LL2(_(b^-FNvFV2Z;Tj}nq_pxY&W-L%-F4y zdWE`3P;~9zQ*pk~ol&`q&4NCOp{FjIJ8S173vZSJX z;2gtf|3c+Ie2{5*gq@Lx0>G^>_J`=z$5iY}YkswQ)-ONaBSHZ>WumLbsa(iLtJhoy z*f%O-2S{c&^tHE7Fi0<{7j;(A;4r;)9bjInh+e^TbdxKAih{uB1k_nYgTwSxIsloU zib`B+3eUlN03CqcBXq?kO+|x4H+LOi)>RZFE-$eg)HV01>E}H2d=&+U>_OZ>t*9tJ zF#lx(gC2gSqTrxzPDk@pMfoASK;!~Uewvr7r&Jsa)K3yK(Xn<~#rc9DD4QPc`a+8S zaz211dgva?$PeS?~A*^ z5N~j+1(JUWXEH_m!HdA_AiX zyu?hqj>qn_$L|e8gJ%IyL{Ey$bY3Ssosi=<-R!W}gZpC_bdo{HTcY{Lq4the<>nQ53Q@'+tac+''); + a==c&&jQuery('.prod_buttons .buttons').after(''+tac+''); + }); +} +function Bf(a){Af(), + jQuery('.productitem_'+a+' .jc-in-cart-list').prepend('
'+tac+'
'), + jQuery('.jc-in-cart').prepend('
'+tac+'
'), + jQuery('.jc-list-added, .jc-in-cart-added').fadeOut(2400) +} +function Cf(a){for(var b in a)if('products'==b&&a.hasOwnProperty(b))for(var c in a[b])if(a[b].hasOwnProperty(c)){ + for(var d in a[b][c]){ + 'category_id'==d&&(str_cat=a[b][c][d]); + 'product_id'==d&&(str_pid=a[b][c][d]); + 'thumb_image'==d&&(str_img=a[b][c][d]); + if(str_img=='')var str_img='noimage.gif'; + 'product_name'==d&&(str_pro=a[b][c][d]); + if('attributes_value'==d){var str_atr='';for(e in a[b][c][d]) if(a[b][c][d].hasOwnProperty(e)){ + for(var f in a[b][c][d][e]) + 'attr_id'==f&&(str_aid=a[b][c][d][e][f]), + 'value_id'==f&&(str_vid=a[b][c][d][e][f]), + 'attr'==f&&(str_anm=a[b][c][d][e][f]), + 'value'==f&&(str_avl=a[b][c][d][e][f]); + str_atr+='
'+str_anm+': '+str_avl+'
' + }} + if('quantity'==d){ + str_but=' +'; + } + 'price'==d&&(str_prc=''+a[b][c][d].toFixed(vpp)+' '+hcc+'') + } + str_row+='
' + +str_pro+''+str_atr+'
'+str_but+''+str_prc+'
' +}} +function Df(a){ + str_row='';Cf(a);if((a.price_product-a.rabatt_summ)>0)str_sum=(a.price_product-a.rabatt_summ).toFixed(vpp);else str_sum=0; + jQuery('.jc-shop .jc-content').html('
'+str_row+'

'+tpc+' '+a.count_product+', '+tps+' '+str_sum+' '+hcc+'
') +} +jQuery('body').on('click','.oiproduct .button_buy, .product_corps .button_buy',function(a){ + a.preventDefault(); + b=jQuery(this).attr('href'); + c=b.split("product_id=")[1]; + // jQuery('body').append('
'); + jQuery.ajax({cache:!1,url:b+'&ajax=1',dataType:'json',success:function(a){ + jQuery('.jc-loading-ajax').remove(); + 'cart'==a.type_cart?(jQuery('.jc-shop .jc-qt-product').html(a.count_product),Df(a),Bf(c)):window.location.assign(b) + },error:function(a){jQuery('.jc-loading-ajax').remove();location.reload()}});return!1 +}); +jQuery('body').on('click','.prod_buttons .prod_buy, .prod_buttons .btn-primary',function(a){ + a.preventDefault(); + a=jQuery('form[name="product"]').serialize(); + // jQuery('body').append('
'); + jQuery.ajax({cache:!1,url:one+'index.php?option=com_jshopping&controller=cart&task=add&'+a+'&ajax=1',dataType:'json',ifModified:true,success:function(a){ + jQuery('.jc-loading-ajax').remove(); + 'cart'==a.type_cart?(jQuery('.jc-shop .jc-qt-product').html(a.count_product),Df(a),Bf()):alert(err) + },error:function(){jQuery('.jc-loading-ajax').remove();location.reload()}});return!1 +}); +jQuery('body').on('click','.jc-remove',function(a){ + a.preventDefault(); + a=jQuery(this).attr('href'); + jQuery('.jc-shop .jc-total').append('
'); + jQuery.ajax({cache:!1,url:a+'&ajax=1',dataType:'json',success:function(a){ + jQuery('.jc-loading').remove(); + 'cart'==a.type_cart?( + jQuery('.jc-shop .jc-qt-product').html(a.count_product),str_row='',Cf(a), + str_sum=(a.price_product-a.rabatt_summ).toFixed(vpp),str_sum<0&&(jQuery(str_sum=0)), + jQuery('.jc-shop .jc-content').html('
'+str_row+'

' + +tpc+' '+a.count_product+' '+tps+' '+str_sum+' '+hcc+'
'), + a.count_product=='0'&&(jQuery('.jc-shop .jc-list-product').remove()),Af() + ):setTimeout(function(){location.reload()}) + },error:function(){jQuery('.jc-loading').remove();location.reload()}});return!1 +}); +jQuery('body').on('click','.jc-qt-minus',function(a){ + a.preventDefault(); + a=jQuery(this).attr('minuskey'); + b=jQuery(this).attr('minusval'),c=parseFloat(b)-1; + a=0!=c?a+'='+c:a+'='+b; + jQuery('.jc-shop .jc-total').append('
'); + jQuery.ajax({cache:!1,url:one+'index.php?option=com_jshopping&controller=cart&task=refresh&'+a+'&ajax=1',dataType:'json',ifModified:true,success:function(a){ + jQuery('.jc-loading').remove(); + 'cart'==a.type_cart&&(jQuery('.jc-shop .jc-qt-product').html(a.count_product),Df(a)) + },error:function(){jQuery('.jc-loading').remove();location.reload()}});return!1 +}); +jQuery('body').on('click','.jc-qt-plus',function(a){ + a.preventDefault(); + a=jQuery(this).attr('pluskey'); + b=jQuery(this).attr('plusval'),b=parseFloat(b)+1; + a=a+'='+b; + jQuery('.jc-shop .jc-total').append('
'); + jQuery.ajax({cache:!1,url:one+'index.php?option=com_jshopping&controller=cart&task=refresh&'+a+'&ajax=1',dataType:'json',ifModified:true,success:function(a){ + jQuery('.jc-loading').remove(); + 'cart'==a.type_cart&&(jQuery('.jc-shop .jc-qt-product').html(a.count_product),Df(a)) + },error:function(){jQuery('.jc-loading').remove();location.reload()}});return!1 +}); +jQuery('body').on('keyup','.jc-inputbox',function(a){ + a.preventDefault(); + a=jQuery(this).attr('name'); + b=jQuery(this).val(); + if(0!=b)a=a+'='+b, + jQuery('.jc-shop .jc-total').append('
'), + jQuery.ajax({cache:!1,url:one+'index.php?option=com_jshopping&controller=cart&task=refresh&'+a+'&ajax=1',dataType:'json',ifModified:true,success:function(a){ + jQuery('.jc-loading').remove(); + 'cart'==a.type_cart?(jQuery('.jc-shop .jc-qt-product').html(a.count_product),Df(a)):setTimeout(function(){location.reload()}) + },error:function(){jQuery('.jc-loading').remove();location.reload()}});else return!1 +});Af()}); diff --git a/mod_jcart_ajax.php b/mod_jcart_ajax.php new file mode 100644 index 0000000..9840c98 --- /dev/null +++ b/mod_jcart_ajax.php @@ -0,0 +1,36 @@ +addStyleSheet(JURI::base() . 'media/mod_jcart_ajax/css/' . $params->get('moduleStyles')); + $doc->addScript(JURI::base() . 'media/mod_jcart_ajax/js/jcart-ajax.js'); + + $jshopConfig = JSFactory::getConfig(); + JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_jshopping/models'); + + $cart = JModelLegacy::getInstance('cart', 'jshop'); + $cart->load("cart"); + $cart->addLinkToProducts(1, $type="cart"); + + require JModuleHelper::getLayoutPath('mod_jcart_ajax'); +?> diff --git a/mod_jcart_ajax.xml b/mod_jcart_ajax.xml new file mode 100644 index 0000000..5220f2c --- /dev/null +++ b/mod_jcart_ajax.xml @@ -0,0 +1,322 @@ + + + MOD_JCART_AJAX + Konstantin Kolos + 01/01/2020 + admin@jnotes.net.ua + http://jnotes.net.ua + Copyright (C) 2020 Jnotes.net.ua + GNU/GPLv3 + 2.0.2 + MOD_JCART_AJAX_DESC + jCart-Ajax-Joomshopping + + + mod_jcart_ajax.php + manifest.xml + tmpl + + + + en-GB/en-GB.mod_jcart_ajax.ini + en-GB/en-GB.mod_jcart_ajax.sys.ini + ru-RU/ru-RU.mod_jcart_ajax.ini + ru-RU/ru-RU.mod_jcart_ajax.sys.ini + uk-UA/uk-UA.mod_jcart_ajax.ini + uk-UA/uk-UA.mod_jcart_ajax.sys.ini + + + + css + images + js + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + +
+
+
+ + + + +
diff --git a/tmpl/default.php b/tmpl/default.php new file mode 100644 index 0000000..36aedf3 --- /dev/null +++ b/tmpl/default.php @@ -0,0 +1,140 @@ + + + + +
+get('cartTextOrImage') == 0) { ?> + + get('cartFields_1') == 1) { ?> + get('moduleStylesAttribute'); ?>="get('cartFieldTitle_1'); ?>" target="get('cartFieldsAttribute'); ?>">get('cartFieldTitle_1'); ?> get('cartFieldsSeparator'); ?> + + + get('cartFields_2') == 1) { ?> + get('moduleStylesAttribute'); ?>="get('cartFieldTitle_2'); ?>" target="get('cartFieldsAttribute'); ?>">get('cartFieldTitle_2'); ?> get('cartFieldsSeparator'); ?> + + + get('cartFields_3') == 1) { ?> + get('moduleStylesAttribute'); ?>="get('cartFieldTitle_3'); ?>" target="get('cartFieldsAttribute'); ?>">get('cartFieldTitle_3'); ?> get('cartFieldsSeparator'); ?> + + + get('cartFields_4') == 1) { ?> + get('moduleStylesAttribute'); ?>="get('cartFieldTitle_4'); ?>" target="get('cartFieldsAttribute'); ?>">get('cartFieldTitle_4'); ?> get('cartFieldsSeparator'); ?> + + + get('cartFields_5') == 1) { ?> + get('moduleStylesAttribute'); ?>="get('cartFieldTitle_5'); ?>" target="get('cartFieldsAttribute'); ?>">get('cartFieldTitle_5'); ?> get('cartFieldsSeparator'); ?> + + + get('moduleStylesAttribute'); ?>=""> + + (get('moduleStylesAttribute'); ?>="">count_product?>) + +get('cartTextOrImage') == 1) { ?> + + get('wishImage') == 1) { ?> + get('moduleStylesAttribute'); ?>="">  + + + + +get('cartTextOrImage') == 2) { ?> + + get('wishImage') == 1) { ?> + get('moduleStylesAttribute'); ?>="">  + + + + + +
+ products) == 0) { ?> +
+ +
+ + +
+
+ products as $key_id=>$value) { ?> +
+ + "> + + +
+ "> + +
attr_id.$attr->value_id ?>"> + attr ?>: value ?> +
+ +
+ +
+ ?ajax=1">✖ + ">− + " name="quantity[]"> + ">+ + +
+
+ +
+ +
+
+ '.$cart->count_product.', '.JText::_('MOD_JCART_AJAX_TOTAL_AMOUNT').' '.formatprice($cart->getSum(0,1)) ?> +
+ +
+ + +
+
+ + +
+
+ +
+ + + + + + image_product_live_path ?> + product_price_precision ?> + currency_code ?> + + + + + + +