News:

AbanteCart v1.4.3 is released.

Main Menu

Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - OneMore

#1
Hi everyone,

My product titles are often long for fitting well in the frontend thumbnails.
I would like to split them in a shorter title and a subtitle.

So, I already added a "subtitle" column to the "product_descriptions" table, and for the admin side, edited "admin/model/catalog/product.php".

But how to add a "subtitle" field in "Catalog > Products" admin page?

I had a look at "admin/view/default/template/pages/catalog/product_list.tpl.", "admin/controller/common/listing_grid.php" and "admin/view/default/template/common/listing_grid.tpl".

I understand that jqGrid is used but could not find where the list of columns for the grid is being set.

Thank you for your help.

(N.B. I am aware of the existence of the blurb column, but I am planning using it for short product descriptions.)
#2
Hello,

I plan selling mostly unique (spare) parts, and items in small quantities, and without quantity discounts, nor priced options.

On the product page, how can one prevent setting a quantity higher than the inventory level being added to the cart?
I would like to control the quantity enterd in the quantity field, as well as disable the "Add to cart" button if the quantity already in cart
plus the quantity mentioned are above the inventory level.

Exploring the source code with the browser development tools, the field is:
Quote<input type="text" name="quantity" id="product_quantity" value="1" placeholder="" class="form-control short" size="3">

If the number of a given product in stock is 3, I would like to modify it to:
Quote<input type="number" min="0" max="3" name="quantity" id="product_quantity" value="1" placeholder="" class="form-control short" size="3">

Doing a grep search,I could find the "product_quantity" string only in ".../templates/embed/js_product.tpl", but modifying the code there was without effect, even after clearing the cache.

So far, I could not find where in the code the "product_quantity" field is generated ...  :-[
Who can help?
#3
Hello,

As a user of AbanteCart 1.2.11, I am currently testing Abantecart 1.3.4 on localhost with PHP 8.2.12.

The storefront had a totally blank page, apart from the welcome message.
(No change if adding a category, a product, and clearing the cache.)

I the template in use was "bootstrap5" instead of "default" one.

I switched the template from "bootstrap5" to the default one, and the storefront displays OK.

Likely are some additional requirements for the bootstrap5 template to display, but this is very confusing for beginners.

I would suggest keeping only the default template in the initial installation, and let people download alternative templates if they want.

Cheers.
#4
Hi,

I am using the default theme and template.

In the list of layouts, I had a custom layout for one product "Product: My product title".
This was likely of an accidental duplicate of "Default product page" when I was experimenting with layouts.
In "Design > Layouts", I could delete the custom layout, and it seems that the product reverted back to using the default product layout.

However, I still have this question: how do I see which layout a product is using?
Apart the product name being listed in the layouts drop list (in "Design > Layout") I cannot see the information about the layout being used in the product page (Layout tab).

Thank you.
#5
Hi,

Here is how you can set the blurb as content for <meta name="description" > on your product pages when there is no meta_description set.
Tested as working with AbanteCart 1.2.11.

1)
Edit head.tpl and add the "elseif" clause as follows.
<?php if ($description) { ?>
<meta name="description" content="<?php echo $description?>" />
<?php } elseif ($blurb) { ?>
<meta name="description" content="<?php echo $blurb?>" />
<?php ?>


2) Add a call to getBlurb() method at line 38 of head.php:
$this->view->assign('description', $this->document->getDescription());
$this->view->assign('blurb', $this->document->getBlurb());


3) Create a private variable $blurb, as well as setBlurb() and getBlurb() functions (i.e. methods) in document.php:
private $blurb;
public function setBlurb($blurb){
$this->blurb = $blurb;
}

public function getBlurb(){
return $this->blurb;
}


4) At line 157 of 'storefront/controller/pages/product/product.tpl', call setBlurb() right after the call that sets the meta_description.
      $this->document->setDescription($product_info['meta_description']);
      $this->document->setBlurb($product_info['blurb']);
#6
In my country, it is common not showing cents for round prices, and replacing them with a dot and a dash, like 59.– instead of 59.00 .

Is this way of displaying prices is commonly understood worldwide or only in my country?

If known at international level, I will implement it in the templates used by my shop with code like:
<?php echo str_replace('.00','.&ndash;',$price); ?>
#7
For those having many categories in the main menu, with — on computers — the last drop down tile beeing displayed beyond the page width, here is how you can bring it back to the left.

In "storefront/view/default/stylesheet/style.css", add:
section#categorymenu > nav.subnav > ul.categorymenu > li:last-child > a + div.subcategories {
  left:-200px;
}
#8
My eCommerce mostly contains small and lightweight objects, so that I wanted the gram (instead of the kilogram) as main weight unit.

According to the documentation about weight:
"The class set to 1.00000 is your base weight class. Any other weights in there need to be a factor of your base class."

So, instead of:


     
     
     
Weight TitleWeight UnitValue
Gramg1000
Kilogramkg1

I wanted to have:


     
     
     
Weight TitleWeight UnitValue
Gramg1
Kilogramkg0.001

But when editing, the "Value" field was read-only.

I could still make the edits by hitting the F12 key in the browser, and using the development tools to remove the "readonly" occurences in the source code for the concerned Value field, and save my edits.

However, I wonder why the lenght and weight value fields were read-only?
As a preventive measure because some extensions would possibly not be properly implemented to handle different main units properly?

Can someone check if also observing this, or if this limitation was only in my shop?

Thank you.
#9
Hi everyone and Happy New Year!

There is a poll "What Version are you using?", but it is eight years old.

As we enter 2024, I would be happy to hear which version(s) you are currently using, and why.



How to fill the following survey

For your answers in this thread, I would suggest that you copy the whole survey, fill it and remove the version-specific questions that are not relevant in your case.

( ) = one possible answer (= radio button)
[ ] = several possible answers

For the pseudo-checkboxes represented by brackets:

  • tick them with a x if or primary importance
  • tick them with a o if of secondary importance
  • use numbers ([3],[ ],[1],[2]) in case you want to prioritize answers by order of importance.


Let's start!

1. Since when are you a user of AbanteCart?

2. How many websites are you managing that use AbanteCart?
- in production: ...
- in development: ...

3. Which kind or user are you currently?

( ) invididual seller with in-house web skills. I installed and adapted AbanteCart to my needs.
( ) employee as IT specialist for a company that uses AbanteCart
( ) webagency or freelance, creating eCommerce websites for others
( ) end user, either self-employed or employee. (The website has been installed and configured by someone other.)
( ) other (please specify)

4. Did you test only one or several versions?
   Which ones and to what extent?

5. Which versions are you currently using?
   (Please specify if your are using them in production or in development.)

6. If you are using version 1.2, for which reason(s)?

Historical reasons:
[ ] Version 1.2 was the most recent available one when I created my website or when I did the last update from a prior version.
[ ] Because this is the version that I installed initially, although newer versions were available.
[ ] Because this version was installed by our IT specialist or web agency.
[ ] Because this is the version that was installed by Softaculous on my web hosting.

Technical reasons
[ ] After some comparative tests with version 1.3, I found that version 1.2 was still better for me. (Please tell when you tested version 1.3.)
[ ] Because they were few translations or extensions for the version 1.3 at the time I installed AbanteCart, version 1.2 was a better choice.
[ ] Because I have customized it a lot and changing would be difficult.
[ ] Some translations that I use are available for the version 1.2 but not yet for the 1.3.
[ ] Some extensions that I use are currently available for the version 1.2, but not the 1.3.
[ ] I find that the catalogue of available extensions globally better for version 1.2 than for version 1.3.
[ ] I find that some extensions are better for version 1.2 than for version 1.3. (Please specify which ones.)
[ ] Because the PHP version that my hosting is using is incompatible with newer versions.
[ ] Stability reason (Please detail.)
[ ] Security reason (Please detail.)

Other reasons
[ ] The size of the community seems larger for this version.
[ ] I prefer version 1.2 to version 1.3 for other reason(s). Please explain: ...

7. If you are using version 1.2, why did you not upgrade to version 1.3?

[ ] My website is okay with version 1.2 and I don't fully feel yet the need to upgrade.
[ ] So far, I  could not find enough time to test newer versions.
[ ] So far, I could not find enough time to migrate the data.
[ ] Upgrading to version 1.3 would be too complex.
[ ] Version 1.3 brings some useless features and/or some useless addtional complexity.
[ ] Other reason that was already mentioned at point 6.

8. If you are using version 1.3, how did you come to this version?

[ ] Version 1.3 was available when I started my eCommerce and I simply decided to select the newest version.
[ ] After some initial tests with versions 1.2 and 1.3, I found that version 1.3 was better for me.
[ ] I upgraded my eCommerce to version 1.3 from a prior version (1.2 or older).
[ ] I am doing it, but this is work in progress and it requires time.

9. If you are using version 1.3, for which reason(s)?

Historical reasons
[ ] It was already available when I created my eCommerce. I simply downloaded the most up-to-date version.
[ ] Because this version was installed by our IT specialist of web agency.
[ ] Because this is the version that was installed by Softaculous on my web hosting.

Technical reasons
[ ] After some comparative with version 1.2, I found that version 1.3 was the best for me. (Please mention when you tested.)
[ ] Some translations that I use are available for the version 1.3 but not for the 1.2
[ ] Some extensions that I use are currently available for the version 1.3 but not for the 1.2.
[ ] I find that the catalogue of available extensions globally better for version 1.3 than for version 1.2.
[ ] I find that some extensions are better in version 1.3 than in version 1.2. (Please specify which ones.)
[ ] Because of the PHP version that my hosting is using is incompatible with older versions.
[ ] Stability reason. (Give detail if necessary.)
[ ] Security reason (Give detail if necessary.)
[ ] Because I prefer the installer of version 1.3 to thus of version 1.2.

Other reasons
[ ] The size of the community seems larger for this version.
[ ] Because I wanted to test it.
[ ] I prefer version 1.3 to version 1.2 for other reason(s). Please explain: ...

10. If you are using version 2.0, for which reason?

[ ] I belong to AbanteCart 2.0 core developer team.
[ ] I am developer of extensions or translations and I am writing them or adapting them to AbanteCart 2.0.
[ ] After some comparative tests, I believe the version 2.0 is the future.
[ ] I am seller and I believe that AbanteCart 2.0 is already good enough for in-production sites.
[ ] I am currently porting my website from version 1.x to version 2.0.
[ ] Other reason. Please describe: ...

11. Is there something this survey missed about AbanteCart versions and that you would like to share?
...


Thank you for sharing!
#10
New Features Discussion / Related categories
December 30, 2023, 07:04:54 AM
A useful new feature that could be implemented is relations between categories.
Something similar to relations between products, without having to link each product individually.

Examples where such feature would be useful:

1) Software > Apple <===> Software > Microsoft > Office for Windows and Mac

2) Supplies > Toners > Some brand > Toners for ABCD  <===>  Peripherals > Printers > Color printers > Some brand > Printer ABCD

3) Notebooks > Dell > Latitude series  <===> Accessories > Notebook Accessories > External power supplies > 19V > Dell

In the first example, Microsoft Office products can be found in both "Software > Apple" and "Software > Microsoft".
For instance "Microsoft Office 2008 for Mac" is in "Software > Apple", whilst "Microsoft Office 2019 for Windows/Mac" is in "Software > Microsoft". Creating "See also" links between these categories would avoid the visitor missing some product.

In the second example, linking the color printer together with the category containing different color cartridges would be easier than creating relation with the different products.

In the third example they may be many different accessories (power supplies, sleeves, ...) for a family of notebooks.
#11
How-to questions / How to translate names of currencies?
December 30, 2023, 06:03:46 AM
Is there a way to translate currency names?

So far as I can see, the "currencies" table only contains one monolingual "title" field describing the currency and there is no "currencies_description" table.

----
N.B. I am using Abantecart 1.211. Possibly was this implemented in later versions ?

#12
This is a suggestion for convenience and clarity of the Weight Based Shipping extension:

on the "Additional settings" tab, reminding weight unit (e.g. Gram) and currency (e.g. Euro) near to the rates fields would be appreciated.
#13
Hello,

I am building my eCommerce and here's a situation that inspired me to consider a different category layout.

As visible in attached pictures, some toner cartridges are for color printers : consequently the misc colors for a same type of cartridge are grouped into subfolders (TN-241, TN-320, TN-325).
On the contrary, the TN-6300 toner cartridge is for black and white printers ; hence no need to create a subfolder for it.

With the actual layout for category pages, a product that is not in a subcategory is shifted downwards on the page (like the TN-6300 cartridge in my example), because the thumbnails for subcategories take quite a lot of place. There is a risk of missing this product: on my laptop, unless I scroll down the page, only the its title is visible, not the picture.
Also, products that are located in sub-categories are not shown.

With the suggested layout, subcategories are displayed smaller in kind of a tooltip, which is attached and more or less centered to the last breadcrumb. The look of this box would be similar to the one used for language selection on multilingual sites, but permanently displayed (not only on mouse-click or mouse-over). If there are many subcategories, an horizontal scroll bar could appear at the bottom of the tooltip.
With this layout, the last breadcrumb is highlighted, and it save us the title, which is a duplicate.
For SEO,  the last tooltip should likely be marked <h1>, but with a custom class to display it correctly.

I would also suggest showing products from subcategories, using recursion ; the number of products that are dislayed can be limited and pagination used.

I think we can also save some space with the "Sort" select list, which could be upper right, as well as the two buttons to select matrix VS list view (not on my mock-up).

So far, I didn't think much about how the suggested layout would behave on mobile devices, but I think the width of the "tooltip" could be adapted accordingly, and using for each subcategory some markup like <div style="max-width:...;display:inline-block;float:left"></div> they would simply stack one over each over.

My mockup is partial as I didn't redesign the product previews.

Thank you for your feedback on these ideas.
#14
Hello,

I am using AbanteCart version 1.2.11 and the French and German translations downloaded from GitHub.

There is a bug when saving products that have a decimal value for length and/or weight in the French and German translations of the admin, where, those fields expect the comma as delimitor of the decimal value, and don't let save the product if using the dot delimitor. (see attached picture)

Other fields like price, width, and height are not concerned by the bug.
Also, the bug occurs only with the translations: the admin is working properly if in English.

I would suggest that the dot (and not the comma) being used as decimal delimitor, at least in the admin.
Although the comma is "officially" the right decimal delimitor in French, the dot is much more common when using softwares and everyone is accustomed to it.
#15
To avoid carriage returns for long category names in the drop menus, simply add this CSS rule to the
"storefront/view/default/stylesheet/style.css" stylesheet:

section#categorymenu div.subcategories ul li a {white-space:nowrap;}

Tested for AbanteCart 1.2.11.
I inserted the text at line 226, just before the ".container-fixed {" selector.
#16
Tested for Abantecart 1.2.11:

1) Optional: disabling the social icons block

  • remove the social icons from the layout  in Design > Layouts > Social icons
    (click the "Enable/Disable" button, then the "Save" button).

  • disable the social icons block: inDesign > Blocks, search for "social" in the "Name" column, and switch the status off the Social icons to Off

2) Edit "storefront/view/default/stylesheet/style.css" and replace "float: left" by "float: right" for blocks 5 to 7, at lines 418 to 426.

3) Optional: If you want to keep the original order these blocks, go to "Design > Layout" and drag and drop the blocks to invert their order.
The block you want the most to the right must be on the left in "Design > Layout". Then click the "Save" button.
#17
Here's how you make all texts of the drop menu lowcase.  (Tested with AbanteCart 1.2.11.)

In file "storefront/view/default/stylesheet/style.css":

Comment out lines 640 and 679 (or remove them):

ul.categorymenu > li > a {
(...)
/* text-transform:uppercase;  (at line 640)*/
(...)
}

.categorymenu li a.menu_home {
(...)
/* text-transform:uppercase;  (at line 679)*/
(...)
}

#18
Hello,

I could install two versions of xampp on localhost, with can be used at the same time:

  • first one running PHP 7.1.33, with Abantecart 1.2.11
  • second one running PHP 8.2.12, with Abantecart 1.3.4

I want to migrate the data (categories / products / zones-to-locations / ressources) from the 1.2.11 version to the 1.3.4, so that I can test the new features.

The shop is multilingual (English, French, German), the translations coming from the repository on GitHub.
There are very few other extensions installed (PayPal) but not configured yet.

I assume the best way is through System > Data > Backup / Restore rather than through System > Data > Import / Export.
Is this the way to go?




#19
Hello,

I am using AbanteCart 1.2.11 for a few weeks and just imported around 140 products from a previous tentative with PrestaShop.

I am the kind of person who likes to get my hands dirty, formatting SQL INSERT queries though a spreadsheet and a code editor.
There were no exceptions this time, and I imported my products through phpMyAdmin.
To create categories, I used AbanteCart's admin.

Here are few ideas coming from my experience with AbanteCart.


1) Please, show SKU everywhere!

SKU numbers are my personal product references in my catalog.
These are my product IDs, way more that the product ID that AbanteCart's gives to products.

I mostly sell spare parts, and most of them have a model.
But the SKU remains the reference that uniquely identifies a product in my inventory (Excel file, a.s.o.). Even the picture names of my products contains the SKU.
I assume that also for those of you selling new items in quantities, the SKU is of vital importance.
Currently, that my products (identified by their SKU) and their prices were imported, I still need to write their name in three languages, and to upload their images.

I applied this quick-fix temporary solution of duplicating the SKU in the "model" field using this SQL query:
UPDATE `ac_products` SET model=sku WHERE (model='' AND sku!='');

It is the only way for me to know who is who.

To my opinion, the SKU should be displayed at the following locations:

  • as a column in the products list
, preferably between the product thumbnail and the "name" field.
  • at top of the General tab, right to the cloning button
  • at top of the Media tab, and of all other products tabs, at a similar location (top left).
The SKU being the "instant identifier" of a product, I suggest these locations in the tabs rather than in the product information header, so that the SKU is more highlighted.


2) Attach a product to a category directly from the product list.
After importing my products, I had to attach them manually to the categories for my AbanteCart shop (which were different from those that I had in Prestashop).
I had to open two tabs in phpMyAdmin, first one with the view described in my answer to Old-Paul about bulk moving products to a different category, and second one showing the records of the 'category_description' table.
By comparing, I could manually edit the category IDs in the first tab, but it was painful.
I would suggest a one character wide droplist in the product list, that upon click would expand itself like a popup, Ajax-load categories, and let pick one. The categories could be listed in a classical drop list, or expandable tree.
A good location for the one-char-wide droplist could be beween the checkbox and the product thumbnail.


3) Add an EAN13 column in the backend, and structured data in the frontend.

Nowadays, EAN numbers as well as structured data (JSON-LD) are essentials to e-commerce.
I would really suggest adding a column for an optional EAN13 number in the main product table as a core feature.

Maybe I missed something, but I could not see JSON-LD data as native in AbanteCart.
There is in the market place a "SEO Rich Snippet Microdata for Products" extension that I didn't test.
Prestashop offers natively a field for EAN (as well as a few ones like ISBN which is limited to books).
I'm not in favor of increasing the number of fields excessively, but EAN sounds to me like a "must have".


4) Save and directly jump to next translation.
When saving a new product, if the shop is multilingual, I would appreciate two buttons: "Save" and "Save and jump to next tranlation".
So, after saving, one could directly be directed to the fields in which to edit the next language without having to select the language in the drop list and wait again that everythings loads.


5) If there are few languages: bar of toggle butttons instead of drop list.
I am aware this would increase code complexity, and reduce the core principle of AbanteCart's scalabily unless the drop list remains, but most shops are likely in just a few languages. In the admin, a bar of toggle buttons rather than a drop list would bring some gain of performance when editing products, categories, a.s.o.


6) Don't resize and don't rename the main product images
All my images are pre-processed and optimized (size, compression, ...) depending on the level of detail needed.
The automatic resizing of pictures to a size of 500 pixels is very painful and makes the zoom-scroll feature almost useless.
Make the resize optional with a toggle button in "System > Settings > Appearance" (set on "Off" by default) near to the suggested image size.
For users that upload unoptimized images, a dialog box could be fired, suggesting a resize and asking them if they accept it.
I will detail this idea more in detail below.


7) Older dashboard pictures were better
It is a personal opinion, but I find the dashboard pictures from version 1.2.11 better than those of version 1.3.4.
Although a bit old-fashioned, they were clearer than those of version 1.3.4.
They were more intuitive, without the need for some further cerebral decyphering.

#20
Hello,

Sometimes I want to give an example about how one can perform things in phpMyAdmin using SQL queries, using the "Insert Code" formatting. In such a case, the forum doesn't let me post, mentioning that external links are not accepted, whilst there is none.

I recently had this issue answering Old-Paul's question about how to batch assign products to categories:
https://forum.abantecart.com/index.php/topic,10534.msg40590.html#new
The patch for me has been using horizontal rules to isolate the code chunks, but this is not optimal.

Also, in the preview, the font size is excessively small for the code.

Thank you.

Forum Rules Code of conduct
AbanteCart.com 2010 -