Ecwid Ecommerce Shopping Cart - Version 4.9.2

Version Description

  • Improvements and fixes for the new "Add product" button in the Wordpress editor. We recently added a tool for inserting a product from your store to any page or post on your site. In this update, we polished the tool look and feel, fixed a few issues and improved performance. To try it, click the "Add product" button in the editor in your Wordpress admin backend.
  • Fixed an issue with the "Screen options" and "Help" Wordpress menus in the page editor in Wordpress admin backend. Those Wordpress functions were slightly affected by the new "Add product" functionality of the Ecwid e-commerce plugin and might not work well. We fixed that. Everything should work properly now.
  • A few fixes for the new integrated search functionality. Feel free to enable and try the new search feature on the plugin settings (Ecwid Store -> Advanced) it will make your store products available in your site regular pages/posts search.
Download this release

Release Info

Developer Ecwid
Plugin Icon 128x128 Ecwid Ecommerce Shopping Cart
Version 4.9.2
Comparing to
See all releases

Code changes from version 4.9.1 to 4.9.2

css/product-popup.css CHANGED
@@ -4856,7 +4856,7 @@ body, html {
4856
  float: right;
4857
  }
4858
 
4859
- .hidden {
4860
  display: none !important;
4861
  visibility: hidden !important;
4862
  }
@@ -5846,14 +5846,21 @@ body, html {
5846
  padding-left: 43px;
5847
  }
5848
 
5849
- #ecwid-product-popup-content .widget-settings .pure-control-group {
5850
  margin: 35px 0px;
 
 
 
 
 
5851
  }
5852
 
5853
- #ecwid-product-popup-content .widget-settings .pure-control-group label {
 
5854
  color: black;
5855
  font-size: 16px;
5856
  font-weight: 400;
 
5857
  }
5858
 
5859
  #ecwid-product-popup-content .add-product .empty-page {
@@ -5862,6 +5869,9 @@ body, html {
5862
  margin: 60px auto 40px;
5863
  padding: 0 20px;
5864
  }
 
 
 
5865
  #ecwid-product-popup-content .add-product .empty-page__term {
5866
  font-style: italic;
5867
  }
4856
  float: right;
4857
  }
4858
 
4859
+ #ecwid-product-popup-content .hidden {
4860
  display: none !important;
4861
  visibility: hidden !important;
4862
  }
5846
  padding-left: 43px;
5847
  }
5848
 
5849
+ #ecwid-product-popup-content .widget-settings .checkbox-option {
5850
  margin: 35px 0px;
5851
+ display: table;
5852
+ }
5853
+
5854
+ #ecwid-product-popup-content .widget-settings .checkbox-option > * {
5855
+ display: table-cell;
5856
  }
5857
 
5858
+
5859
+ #ecwid-product-popup-content .widget-settings .checkbox-option .label {
5860
  color: black;
5861
  font-size: 16px;
5862
  font-weight: 400;
5863
+ line-height: 1.4em;
5864
  }
5865
 
5866
  #ecwid-product-popup-content .add-product .empty-page {
5869
  margin: 60px auto 40px;
5870
  padding: 0 20px;
5871
  }
5872
+ #ecwid-product-popup-content .add-product .empty {
5873
+ cursor: default;
5874
+ }
5875
  #ecwid-product-popup-content .add-product .empty-page__term {
5876
  font-style: italic;
5877
  }
ecwid-shopping-cart.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://www.ecwid.com?source=wporg
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up.
6
  Text Domain: ecwid-shopping-cart
7
  Author: Ecwid Team
8
- Version: 4.9.1
9
  Author URI: http://www.ecwid.com?source=wporg
10
  */
11
 
@@ -2300,7 +2300,8 @@ function ecwid_sync_products_sse() {
2300
  }
2301
 
2302
  function ecwid_format_date( $unixtime ) {
2303
- return date( __( "Y/m/d g:i:s a" ), $unixtime );
 
2304
  }
2305
 
2306
  function ecwid_slow_sync_progress($status) {
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up.
6
  Text Domain: ecwid-shopping-cart
7
  Author: Ecwid Team
8
+ Version: 4.9.2
9
  Author URI: http://www.ecwid.com?source=wporg
10
  */
11
 
2300
  }
2301
 
2302
  function ecwid_format_date( $unixtime ) {
2303
+
2304
+ return date_i18n( get_option('date_format') . ' ' . get_option('time_format'), $unixtime + get_option( 'gmt_offset' ) * 60 * 60 );
2305
  }
2306
 
2307
  function ecwid_slow_sync_progress($status) {
includes/class-ecwid-product-popup.php CHANGED
@@ -109,6 +109,10 @@ HTML;
109
  $data = EcwidPlatform::get('spw_display_params');
110
  }
111
 
 
 
 
 
112
  $data['labels'] = array(
113
  'firstPage' => __( 'First Page', 'ecwid-shopping-cart' ),
114
  'prevPage' => __( 'Previous Page', 'ecwid-shopping-cart' ),
109
  $data = EcwidPlatform::get('spw_display_params');
110
  }
111
 
112
+ if ( !isset( $data['display'] ) ) {
113
+ $data['display'] = array('picture' => 1, 'title' => 1, 'price' => 1, 'addtobag' => 1, 'options' => 1);
114
+ }
115
+
116
  $data['labels'] = array(
117
  'firstPage' => __( 'First Page', 'ecwid-shopping-cart' ),
118
  'prevPage' => __( 'Previous Page', 'ecwid-shopping-cart' ),
includes/class-ecwid-products.php CHANGED
@@ -113,7 +113,6 @@ class Ecwid_Products {
113
 
114
  $product_id = intval( @$_REQUEST['product_id'] );
115
 
116
- $url = $this->_get_post_link();
117
  $post_id = $this->_find_post_by_product_id( $product_id );
118
 
119
  if ($post_id) {
@@ -131,8 +130,14 @@ class Ecwid_Products {
131
  return '';
132
  }
133
 
134
- $url = get_post_meta( $post_id, '_ecwid_url' );
135
- $url = ecwid_get_store_page_url() . $url[0];
 
 
 
 
 
 
136
 
137
  return $url;
138
  }
113
 
114
  $product_id = intval( @$_REQUEST['product_id'] );
115
 
 
116
  $post_id = $this->_find_post_by_product_id( $product_id );
117
 
118
  if ($post_id) {
130
  return '';
131
  }
132
 
133
+ $url = get_post_meta( $post_id, '_ecwid_url', true );
134
+
135
+ if ( strpos( $url, '#!' ) === false ) {
136
+ $ecwid_product_id = get_post_meta( $post_id, 'ecwid_id', true );
137
+ $url = '#!/p/' . $ecwid_product_id;
138
+ }
139
+
140
+ $url = ecwid_get_store_page_url() . $url;
141
 
142
  return $url;
143
  }
js/product-popup.js CHANGED
@@ -15,7 +15,12 @@ jQuery(document).ready(function() {
15
 
16
  populateWidgetParams();
17
  setSearchParams({});
18
- updateSearchParams();
 
 
 
 
 
19
 
20
  popup().addClass('open');
21
 
@@ -70,8 +75,15 @@ jQuery(document).ready(function() {
70
  return false;
71
  });
72
 
73
- jQuery('h1', popup()).click(function() {
 
 
 
 
 
 
74
  jQuery('.media-menu').toggleClass('visible');
 
75
  });
76
 
77
 
@@ -122,6 +134,9 @@ jQuery(document).ready(function() {
122
  });
123
 
124
  jQuery.getJSON(ajaxurl, {action: 'ecwid-save-spw-params', params: params});
 
 
 
125
  };
126
 
127
  var buildShortcode = function() {
@@ -137,15 +152,16 @@ jQuery(document).ready(function() {
137
  params.display[params.display.length] = jQuery(el).data('display-option');
138
  });
139
 
 
 
 
 
 
 
140
  jQuery('input[type=checkbox][data-shortcode-attribute]').each(function(idx, el) {
141
  params[jQuery(el).data('shortcode-attribute')] = jQuery(el).is(':checked') ? 1 : 0;
142
  });
143
 
144
- if (params.display.length > 0) {
145
- params.display = params.display.join(' ');
146
- } else {
147
- params.display = undefined;
148
- }
149
  var params_order = ['id', 'display', 'version', 'show_border', 'show_price_on_button', 'center_align'];
150
 
151
  var shortcode = '[ecwid_product';
@@ -168,6 +184,14 @@ jQuery(document).ready(function() {
168
  return popup().data('currentProduct');
169
  };
170
 
 
 
 
 
 
 
 
 
171
  var setSearchParams = function( params ) {
172
  if (typeof params.page == 'undefined') {
173
  params.page = 1;
@@ -198,6 +222,10 @@ jQuery(document).ready(function() {
198
 
199
  var clickProduct = function() {
200
 
 
 
 
 
201
  if (jQuery(this).hasClass('selected-product')) {
202
  jQuery(this).closest('tbody').find('tr').removeClass('selected-product');
203
  setCurrentProduct(null);
@@ -232,20 +260,28 @@ jQuery(document).ready(function() {
232
 
233
  jQuery('#search-submit').addClass('searching');
234
 
235
- jQuery.getJSON(ajaxurl, data, function(data) {
 
 
 
 
 
 
 
 
236
 
237
- if (Math.ceil(data.total / data.limit) < getSearchParams().page) {
238
- params = getSearchParams();
239
- params.page = 1;
240
- setSearchParams(params);
241
- }
242
 
243
- var enabledPageTemplate = wp.template( 'pagination-button-enabled' );
244
- var disabledPageTemplate = wp.template( 'pagination-button-disabled' );
245
 
246
- var prevPages = '';
 
 
 
 
 
247
  if (getSearchParams() && getSearchParams().page == 1) {
248
- prevPages = disabledPageTemplate( { symbol: '«' } ) + disabledPageTemplate( { symbol: '‹' } );
249
  } else {
250
  prevPages = enabledPageTemplate({
251
  'symbol': '«',
@@ -258,9 +294,8 @@ jQuery(document).ready(function() {
258
  });
259
  }
260
 
261
- var nextPages = '';
262
  if (getSearchParams().page >= Math.ceil(data.total / data.limit)) {
263
- nextPages = disabledPageTemplate( { symbol: '›' } ) + disabledPageTemplate( { symbol: '»' } );
264
  } else {
265
  nextPages = enabledPageTemplate({
266
  'symbol': '›',
@@ -273,37 +308,45 @@ jQuery(document).ready(function() {
273
  'page': Math.ceil(data.total / data.limit)
274
  });
275
  }
 
276
 
277
- var formTemplate = wp.template( 'add-product-form' );
278
 
279
- var tableTemplate = wp.template( 'products-list' );
280
 
281
- var tableHTML = tableTemplate();
282
 
283
- jQuery('.media-frame-content.ecwid-add-product.add-product').empty().append(
284
- formTemplate( {
285
- 'tableHTML' : tableHTML,
286
- 'page': data.offset / data.limit + 1,
287
- 'total_pages': Math.ceil(data.total / data.limit),
288
- 'total_items': data.total + ' items',
289
- 'prev_pages': prevPages,
290
- 'next_pages': nextPages
291
- })
292
- );
293
 
294
- if (data.total > 0) {
295
- for (var i = 0; i < data.items.length; i++) {
296
- addProduct(data.items[i]);
297
- }
298
- } else {
299
- showEmpty(params.keyword);
300
  }
 
 
 
301
 
302
- renderSearchParams();
303
- assignHandlers();
304
- setCurrentProduct(null);
305
- jQuery('#search-submit').removeClass('searching');
306
- });
 
 
 
 
 
 
 
307
  }
308
 
309
 
@@ -329,7 +372,7 @@ jQuery(document).ready(function() {
329
 
330
  jQuery( '.ecwid-add-product.add-product .wp-list-table.products tbody' ).append(emptyTemplate({term:term}));
331
 
332
- jQuery( '.tablenav', popup()).hide();
333
  };
334
 
335
  var updateSearchParams = function(newParams) {
@@ -455,9 +498,37 @@ jQuery(document).ready(function() {
455
 
456
  jQuery('#ecwid-reset-search').click(function() {
457
  setSearchParams({});
458
- updateSearchParams();
459
  });
460
  };
461
 
462
  updateSearchParams();
463
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  populateWidgetParams();
17
  setSearchParams({});
18
+
19
+ if (getInitialSearchData()) {
20
+ buildProductsTable(getInitialSearchData());
21
+ } else {
22
+ updateSearchParams();
23
+ }
24
 
25
  popup().addClass('open');
26
 
75
  return false;
76
  });
77
 
78
+ var closeTopMenuOnExternalClick = function(e) {
79
+ jQuery('.media-menu').toggleClass('visible');
80
+ popup().unbind('click', closeTopMenuOnExternalClick);
81
+ }
82
+
83
+ jQuery('h1', popup()).click(function(e) {
84
+ e.stopPropagation();
85
  jQuery('.media-menu').toggleClass('visible');
86
+ popup().click(closeTopMenuOnExternalClick);
87
  });
88
 
89
 
134
  });
135
 
136
  jQuery.getJSON(ajaxurl, {action: 'ecwid-save-spw-params', params: params});
137
+
138
+ ecwidSpwParams.display = params.display;
139
+ ecwidSpwParams.attributes = params.attributes;
140
  };
141
 
142
  var buildShortcode = function() {
152
  params.display[params.display.length] = jQuery(el).data('display-option');
153
  });
154
 
155
+ if (params.display.length == 0) {
156
+ params.display = 'picture title price options addtobag';
157
+ } else {
158
+ params.display = params.display.join(' ');
159
+ }
160
+
161
  jQuery('input[type=checkbox][data-shortcode-attribute]').each(function(idx, el) {
162
  params[jQuery(el).data('shortcode-attribute')] = jQuery(el).is(':checked') ? 1 : 0;
163
  });
164
 
 
 
 
 
 
165
  var params_order = ['id', 'display', 'version', 'show_border', 'show_price_on_button', 'center_align'];
166
 
167
  var shortcode = '[ecwid_product';
184
  return popup().data('currentProduct');
185
  };
186
 
187
+ var setInitialSearchData = function( data ) {
188
+ popup().data('initialSearchData', data);
189
+ };
190
+
191
+ var getInitialSearchData = function() {
192
+ return popup().data('initialSearchData');
193
+ };
194
+
195
  var setSearchParams = function( params ) {
196
  if (typeof params.page == 'undefined') {
197
  params.page = 1;
222
 
223
  var clickProduct = function() {
224
 
225
+ if (jQuery('.empty-page', this).length > 0) {
226
+ return;
227
+ }
228
+
229
  if (jQuery(this).hasClass('selected-product')) {
230
  jQuery(this).closest('tbody').find('tr').removeClass('selected-product');
231
  setCurrentProduct(null);
260
 
261
  jQuery('#search-submit').addClass('searching');
262
 
263
+ jQuery.getJSON(ajaxurl, data, buildProductsTable);
264
+ }
265
+
266
+ var buildProductsTable = function(data) {
267
+ if (Math.ceil(data.total / data.limit) < getSearchParams().page) {
268
+ params = getSearchParams();
269
+ params.page = 1;
270
+ setSearchParams(params);
271
+ }
272
 
 
 
 
 
 
273
 
274
+ var enabledPageTemplate = wp.template( 'pagination-button-enabled' );
275
+ var disabledPageTemplate = wp.template( 'pagination-button-disabled' );
276
 
277
+ var totalPages = Math.ceil(data.total / data.limit);
278
+
279
+ var prevPages = '';
280
+ var nextPages = '';
281
+
282
+ if (totalPages > 1) {
283
  if (getSearchParams() && getSearchParams().page == 1) {
284
+ prevPages = disabledPageTemplate({symbol: '«'}) + disabledPageTemplate({symbol: '‹'});
285
  } else {
286
  prevPages = enabledPageTemplate({
287
  'symbol': '«',
294
  });
295
  }
296
 
 
297
  if (getSearchParams().page >= Math.ceil(data.total / data.limit)) {
298
+ nextPages = disabledPageTemplate({symbol: '›'}) + disabledPageTemplate({symbol: '»'});
299
  } else {
300
  nextPages = enabledPageTemplate({
301
  'symbol': '›',
308
  'page': Math.ceil(data.total / data.limit)
309
  });
310
  }
311
+ }
312
 
313
+ var formTemplate = wp.template( 'add-product-form' );
314
 
315
+ var tableTemplate = wp.template( 'products-list' );
316
 
317
+ var tableHTML = tableTemplate();
318
 
319
+ jQuery('.media-frame-content.ecwid-add-product.add-product').empty().append(
320
+ formTemplate( {
321
+ 'tableHTML' : tableHTML,
322
+ 'page': data.offset / data.limit + 1,
323
+ 'total_pages': Math.ceil(data.total / data.limit),
324
+ 'total_items': data.total + ' items',
325
+ 'prev_pages': prevPages,
326
+ 'next_pages': nextPages
327
+ })
328
+ );
329
 
330
+ if (data.total > 0) {
331
+ for (var i = 0; i < data.items.length; i++) {
332
+ addProduct(data.items[i]);
 
 
 
333
  }
334
+ } else {
335
+ showEmpty(params.keyword);
336
+ }
337
 
338
+ renderSearchParams();
339
+ assignHandlers();
340
+ setCurrentProduct(null);
341
+ jQuery('#search-submit').removeClass('searching');
342
+
343
+ if (totalPages <= 1) {
344
+ jQuery('.tablenav.bottom', popup()).hide();
345
+ }
346
+
347
+ if (!getInitialSearchData()) {
348
+ setInitialSearchData(data);
349
+ }
350
  }
351
 
352
 
372
 
373
  jQuery( '.ecwid-add-product.add-product .wp-list-table.products tbody' ).append(emptyTemplate({term:term}));
374
 
375
+ jQuery( '.tablenav,.wp-list-table.products thead', popup()).hide();
376
  };
377
 
378
  var updateSearchParams = function(newParams) {
498
 
499
  jQuery('#ecwid-reset-search').click(function() {
500
  setSearchParams({});
501
+ buildProductsTable(getInitialSearchData());
502
  });
503
  };
504
 
505
  updateSearchParams();
506
  });
507
+
508
+ ecwidRenderCheckboxOption = function(data) {
509
+
510
+ if (!this.template) {
511
+ this.template = wp.template( 'checkbox-option' );
512
+ }
513
+
514
+ if (data.section == 'display-options') {
515
+ var name = data.displayOptionName;
516
+ if (!name) {
517
+ name = data.name;
518
+ }
519
+ data.additionalAttributes = 'data-display-option="' + name + '"';
520
+ } else if (data.section == 'shortcode-attributes') {
521
+ var name = data.name;
522
+ data.additionalAttributes = 'data-shortcode-attribute="' + data.name + '"';
523
+ }
524
+
525
+
526
+ if (!this.nextTarget || this.nextTarget == 'right') {
527
+ this.nextTarget = 'left';
528
+ } else {
529
+ this.nextTarget = 'right';
530
+ }
531
+
532
+ jQuery('#ecwid-product-popup-content .widget-settings.' + data.section + ' .widget-settings__' + this.nextTarget)
533
+ .append(this.template(data));
534
+ }
languages/ecwid-shopping-cart-ru_RU.mo CHANGED
Binary file
languages/ecwid-shopping-cart-ru_RU.po CHANGED
@@ -748,6 +748,9 @@ msgstr "Вставить"
748
  msgid "Add Product"
749
  msgstr "Добавить товар"
750
 
 
 
 
751
  msgid "Customize widget"
752
  msgstr "Внешний вид"
753
 
@@ -793,6 +796,12 @@ msgstr "Название или артикул"
793
  msgid "Nothing found for <span class=\"empty-page__term\">\"{{ data.term }}\"</span>"
794
  msgstr "По запросу <span class=\"empty-page__term\">\"{{ data.term }}\"</span> ничего не найдено"
795
 
 
 
 
 
 
 
796
  msgid "https://www.ecwid.com/forums"
797
  msgstr "https://www.ecwid.com/forums/forumdisplay.php?f=10"
798
 
@@ -826,6 +835,9 @@ msgstr "Эквид хранит данные товаров магазина в
826
  msgid "Synchronize products"
827
  msgstr "Синхронизировать товары"
828
 
 
 
 
829
  msgid "Products are successfully synchronized. The product pages are up to date."
830
  msgstr "Товары успешно синхронизированы. Страницы товаров обновлены."
831
 
748
  msgid "Add Product"
749
  msgstr "Добавить товар"
750
 
751
+ msgid "Choose Product"
752
+ msgstr "Выбрать товар"
753
+
754
  msgid "Customize widget"
755
  msgstr "Внешний вид"
756
 
796
  msgid "Nothing found for <span class=\"empty-page__term\">\"{{ data.term }}\"</span>"
797
  msgstr "По запросу <span class=\"empty-page__term\">\"{{ data.term }}\"</span> ничего не найдено"
798
 
799
+ msgid "Try another search."
800
+ msgstr "Попробуйте другой запрос."
801
+
802
+ msgid "Browse all products."
803
+ msgstr "Показать все товары."
804
+
805
  msgid "https://www.ecwid.com/forums"
806
  msgstr "https://www.ecwid.com/forums/forumdisplay.php?f=10"
807
 
835
  msgid "Synchronize products"
836
  msgstr "Синхронизировать товары"
837
 
838
+ msgid "Not synchronized yet"
839
+ msgstr "Не синхронизовано"
840
+
841
  msgid "Products are successfully synchronized. The product pages are up to date."
842
  msgstr "Товары успешно синхронизированы. Страницы товаров обновлены."
843
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: Ecwid
3
  Tags: ecommerce, downloadable products, Facebook ecommerce, online store, paypal, product catalog, shop, shopping cart, store
4
  Requires at least: 3.5
5
  Tested up to: 4.7
6
- Stable tag: 4.9.1
7
 
8
  Powerful, easy to use ecommerce shopping cart. Bank level PCI DSS Level 1 security. iPhone & Android apps. Superb support. Free plan available.
9
 
@@ -149,6 +149,11 @@ You can use Ecwid’s built-in import tools to copy your store products from any
149
  * [Ecwid eCommerce Forums](https://www.ecwid.com/forums/forumdisplay.php?f=19)
150
 
151
  == Changelog ==
 
 
 
 
 
152
  = 4.9.1 =
153
  - **Fixed an issue in the new integrated search functionality** causing javascript errors on site pages where no store widgets are installed. Feel free to enable and try the new search feature on the plugin settings (Ecwid Store -> Advanced)
154
  - **Improvement for the Single Sign On.** If you have Single Sign On (SSO) enabled in the plugin settings and your customer do not have name specified in their profile, the store account will use their nickname as the firstname. This will make store more friendly for your new buyers. (edited)
3
  Tags: ecommerce, downloadable products, Facebook ecommerce, online store, paypal, product catalog, shop, shopping cart, store
4
  Requires at least: 3.5
5
  Tested up to: 4.7
6
+ Stable tag: 4.9.2
7
 
8
  Powerful, easy to use ecommerce shopping cart. Bank level PCI DSS Level 1 security. iPhone & Android apps. Superb support. Free plan available.
9
 
149
  * [Ecwid eCommerce Forums](https://www.ecwid.com/forums/forumdisplay.php?f=19)
150
 
151
  == Changelog ==
152
+ = 4.9.2 =
153
+ - **Improvements and fixes for the new "Add product" button in the Wordpress editor.** We recently added a tool for inserting a product from your store to any page or post on your site. In this update, we polished the tool look and feel, fixed a few issues and improved performance. To try it, click the "Add product" button in the editor in your Wordpress admin backend.
154
+ - **Fixed an issue with the "Screen options" and "Help" Wordpress menus in the page editor in Wordpress admin backend.** Those Wordpress functions were slightly affected by the new "Add product" functionality of the Ecwid e-commerce plugin and might not work well. We fixed that. Everything should work properly now.
155
+ - **A few fixes for the new integrated search functionality.** Feel free to enable and try the new search feature on the plugin settings (Ecwid Store -> Advanced) — it will make your store products available in your site regular pages/posts search.
156
+
157
  = 4.9.1 =
158
  - **Fixed an issue in the new integrated search functionality** causing javascript errors on site pages where no store widgets are installed. Feel free to enable and try the new search feature on the plugin settings (Ecwid Store -> Advanced)
159
  - **Improvement for the Single Sign On.** If you have Single Sign On (SSO) enabled in the plugin settings and your customer do not have name specified in their profile, the store account will use their nickname as the firstname. This will make store more friendly for your new buyers. (edited)
templates/product-popup.php CHANGED
@@ -88,23 +88,30 @@
88
  </script>
89
 
90
  <script type="text/template" id="tmpl-no-products">
91
- <tr>
92
  <td colspan="3">
93
  <div class="empty-page">
94
  <div class="empty-page__title"><?php _e( 'Nothing found for <span class="empty-page__term">"{{ data.term }}"</span>', 'ecwid-shopping-cart' ); ?></div>
95
  <div class="empty-page__suggestions">
96
- <div class="empty-page__suggestions-title"><?php _e( 'Suggestions:', 'ecwid-shopping-cart' ); ?></div>
97
- <ul class="empty-page__suggestions-list">
98
- <li><?php _e( 'Make sure that all words are spelled correctly', 'ecwid-shopping-cart' ); ?></li>
99
- <li><?php _e( 'Try to search by SKU', 'ecwid-shopping-cart' ); ?></li>
100
- <li><a href="#" id="ecwid-reset-search"><?php _e( 'Browse all products', 'ecwid-shopping-cart' ); ?></a></li>
101
- </ul>
102
  </div>
103
  </div>
104
  </td>
105
  </tr>
106
  </script>
107
 
 
 
 
 
 
 
 
 
 
 
 
108
  <div id="ecwid-product-popup-content">
109
  <div class="media-modal wp-core-ui">
110
  <div class="media-modal-content" data-mode="add-product" data-active-dialog="add-product">
@@ -112,12 +119,12 @@
112
  <div class="media-frame wp-core-ui">
113
  <div class="media-frame-menu">
114
  <div class="media-menu">
115
- <a href="#" class="media-menu-item active" data-content="add-product"><?php _e( 'Add Product', 'ecwid-shopping-cart' ); ?></a>
116
  <a href="#" class="media-menu-item" data-content="customize"><?php _e( 'Customize widget', 'ecwid-shopping-cart' ); ?></a>
117
  </div>
118
  </div>
119
  <div class="media-frame-title add-product active">
120
- <h1><?php _e( 'Add Product', 'ecwid-shopping-cart' ); ?><span class="dashicons dashicons-arrow-down"></span></h1>
121
  </div>
122
 
123
  <div class="media-frame-title customize">
@@ -129,73 +136,78 @@
129
 
130
  <div class="media-frame-content ecwid-add-product customize">
131
  <div class="store-settings-wrapper ecwid-search ecwid-minicart ecwid-categories" data-ecwid-widget-hover="">
132
- <div class="widget-settings">
133
  <h3><?php _e( 'Choose product properties to display in widget', 'ecwid-shopping-cart' ); ?></h3>
134
- <div class="widget-settings__left">
135
- <div class="pure-control-group">
136
- <label>
137
- <input type="checkbox" checked="checked" name="picture" data-display-option="picture">
138
- <span><?php _e( 'Picture', 'ecwid-shopping-cart' ); ?></span>
139
- </label>
140
- </div>
141
- <div class="pure-control-group">
142
- <label>
143
- <input type="checkbox" checked="checked" name="title" data-display-option="title">
144
- <span><?php _e( 'Title', 'ecwid-shopping-cart' ); ?></span>
145
- </label>
146
- </div>
147
- <div class="pure-control-group">
148
- <label>
149
- <input type="checkbox" checked="checked" name="price" data-display-option="price">
150
- <span><?php _e( 'Price', 'ecwid-shopping-cart' ); ?></span>
151
- </label>
152
- </div>
153
- </div>
154
- <div class="widget-settings__right">
155
- <div class="pure-control-group">
156
- <label>
157
- <input type="checkbox" checked="checked" name="options" data-display-option="options">
158
- <span><?php _e( 'Options', 'ecwid-shopping-cart' ); ?></span>
159
- </label>
160
- </div>
161
- <div class="pure-control-group">
162
- <label>
163
- <input type="checkbox" name="quantity" data-display-option="qty">
164
- <span><?php _e( 'Quantity', 'ecwid-shopping-cart' ); ?></span>
165
- </label>
166
- </div>
167
- <div class="pure-control-group">
168
- <label>
169
- <input type="checkbox" checked="checked" name="add-to-bag" data-display-option="addtobag">
170
- <span><?php _e( '«Add to bag» button', 'ecwid-shopping-cart' ); ?></span>
171
- </label>
172
- </div>
173
- </div>
174
  </div>
175
- <div class="widget-settings">
176
  <h3><?php _e( 'Appearance', 'ecwid-shopping-cart' ); ?></h3>
177
- <div class="widget-settings__left">
178
- <div class="pure-control-group">
179
- <label>
180
- <input type="checkbox" checked="checked" name="widget_frame" data-shortcode-attribute="show_border">
181
- <span><?php _e( 'Add border', 'ecwid-shopping-cart' ); ?></span>
182
- </label>
183
- </div>
184
- <div class="pure-control-group">
185
- <label>
186
- <input type="checkbox" checked="checked" name="widget_frame" data-shortcode-attribute="center_align">
187
- <span><?php _e( 'Center align on a page', 'ecwid-shopping-cart' ); ?></span>
188
- </label>
189
- </div>
190
- </div>
191
- <div class="widget-settings__right">
192
- <div class="pure-control-group">
193
- <label>
194
- <input type="checkbox" checked="checked" name="outside_widget" data-shortcode-attribute="show_price_on_button">
195
- <span><?php _e( 'Show price inside the "Buy now" button', 'ecwid-shopping-cart' ); ?></span>
196
- </label>
197
- </div>
198
- </div>
 
 
 
 
 
199
  </div>
200
  </div>
201
  </div>
88
  </script>
89
 
90
  <script type="text/template" id="tmpl-no-products">
91
+ <tr class="empty">
92
  <td colspan="3">
93
  <div class="empty-page">
94
  <div class="empty-page__title"><?php _e( 'Nothing found for <span class="empty-page__term">"{{ data.term }}"</span>', 'ecwid-shopping-cart' ); ?></div>
95
  <div class="empty-page__suggestions">
96
+ <?php _e( 'Try another search.', 'ecwid-shopping-cart' ); ?>
97
+ <a href="#" id="ecwid-reset-search"><?php _e( 'Browse all products.', 'ecwid-shopping-cart' ); ?></a>
 
 
 
 
98
  </div>
99
  </div>
100
  </td>
101
  </tr>
102
  </script>
103
 
104
+ <script type="text/template" id="tmpl-checkbox-option">
105
+ <label class="checkbox-option">
106
+ <span>
107
+ <input type="checkbox" checked="checked" name="{{ data.name }}" {{{ data.additionalAttributes }}}>
108
+ </span>
109
+ <span class="label">
110
+ {{ data.label }}
111
+ </span>
112
+ </label>
113
+ </script>
114
+
115
  <div id="ecwid-product-popup-content">
116
  <div class="media-modal wp-core-ui">
117
  <div class="media-modal-content" data-mode="add-product" data-active-dialog="add-product">
119
  <div class="media-frame wp-core-ui">
120
  <div class="media-frame-menu">
121
  <div class="media-menu">
122
+ <a href="#" class="media-menu-item active" data-content="add-product"><?php _e( 'Choose Product', 'ecwid-shopping-cart' ); ?></a>
123
  <a href="#" class="media-menu-item" data-content="customize"><?php _e( 'Customize widget', 'ecwid-shopping-cart' ); ?></a>
124
  </div>
125
  </div>
126
  <div class="media-frame-title add-product active">
127
+ <h1><?php _e( 'Choose Product', 'ecwid-shopping-cart' ); ?><span class="dashicons dashicons-arrow-down"></span></h1>
128
  </div>
129
 
130
  <div class="media-frame-title customize">
136
 
137
  <div class="media-frame-content ecwid-add-product customize">
138
  <div class="store-settings-wrapper ecwid-search ecwid-minicart ecwid-categories" data-ecwid-widget-hover="">
139
+ <div class="widget-settings display-options">
140
  <h3><?php _e( 'Choose product properties to display in widget', 'ecwid-shopping-cart' ); ?></h3>
141
+ <div class="widget-settings__left"></div>
142
+ <div class="widget-settings__right"></div>
143
+ <script type="text/javascript">
144
+ jQuery(document).ready(function() {
145
+ ecwidRenderCheckboxOption.section = 'display-options';
146
+
147
+ ecwidRenderCheckboxOption({
148
+ 'section': 'display-options',
149
+ 'name': 'picture',
150
+ 'label': '<?php _e( 'Picture', 'ecwid-shopping-cart' ); ?>'
151
+ });
152
+ ecwidRenderCheckboxOption({
153
+ 'section': 'display-options',
154
+ 'name': 'options',
155
+ 'label': '<?php _e( 'Options', 'ecwid-shopping-cart' ); ?>'
156
+ });
157
+ ecwidRenderCheckboxOption({
158
+ 'section': 'display-options',
159
+ 'name': 'title',
160
+ 'label': '<?php _e( 'Title', 'ecwid-shopping-cart' ); ?>'
161
+ });
162
+ ecwidRenderCheckboxOption({
163
+ 'section': 'display-options',
164
+ 'name': 'quantity',
165
+ 'label': '<?php _e( 'Quantity', 'ecwid-shopping-cart' ); ?>',
166
+ 'displayOptionName': 'qty'
167
+ });
168
+ ecwidRenderCheckboxOption({
169
+ 'section': 'display-options',
170
+ 'name': 'price',
171
+ 'label': '<?php _e( 'Price', 'ecwid-shopping-cart' ); ?>'
172
+ });
173
+ ecwidRenderCheckboxOption({
174
+ 'section': 'display-options',
175
+ 'name': 'addtobag',
176
+ 'label': '<?php _e( '«Add to bag» button', 'ecwid-shopping-cart' ); ?>'
177
+ });
178
+ });
179
+ </script>
180
+
181
  </div>
182
+ <div class="widget-settings shortcode-attributes">
183
  <h3><?php _e( 'Appearance', 'ecwid-shopping-cart' ); ?></h3>
184
+
185
+ <div class="widget-settings__left"></div>
186
+ <div class="widget-settings__right"></div>
187
+
188
+ <script type="text/javascript">
189
+ jQuery(document).ready(function() {
190
+ ecwidRenderCheckboxOption.nextTarget = 'left';
191
+ ecwidRenderCheckboxOption.section = 'shortcode-attributes';
192
+
193
+ ecwidRenderCheckboxOption({
194
+ 'section': 'shortcode-attributes',
195
+ 'name': 'show_border',
196
+ 'label': '<?php _e( 'Add border', 'ecwid-shopping-cart' ); ?>'
197
+ });
198
+ ecwidRenderCheckboxOption({
199
+ 'section': 'shortcode-attributes',
200
+ 'name': 'show_price_on_button',
201
+ 'label': '<?php _e( 'Show price inside the "Buy now" button', 'ecwid-shopping-cart' ); ?>'
202
+ });
203
+ ecwidRenderCheckboxOption({
204
+ 'section': 'shortcode-attributes',
205
+ 'name': 'center_align',
206
+ 'label': '<?php _e( 'Center align on a page', 'ecwid-shopping-cart' ); ?>'
207
+ });
208
+
209
+ });
210
+ </script>
211
  </div>
212
  </div>
213
  </div>