Show Posts

Topics - OneMore

Pages: [1] 2

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:
<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:
<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?


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.


General Support / How to know which layout a product is using?
« on: February 24, 2024, 03:06:25 PM »

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.

Development Help Needed / (Solved) How to set blurb as meta description
« on: February 24, 2024, 02:22:13 PM »

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.

Edit head.tpl and add the "elseif" clause as follows.
Code: [Select]
<?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:
Code: [Select]
$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:
Code: [Select]
private $blurb;
Code: [Select]
public function setBlurb($blurb){
$this->blurb = $blurb;
Code: [Select]
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.

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:
Code: [Select]
<?php echo str_replace('.00','.&ndash;',$price); ?>

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:
Code: [Select]
section#categorymenu > nav.subnav > ul.categorymenu > li:last-child > a + div.subcategories {

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

I wanted to have:
Weight TitleWeight UnitValue

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.

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!

New Features Discussion / Related categories
« on: 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.

How-to questions / How to translate names of currencies?
« on: 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 ?

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.

Built-in Features / Thoughts for a modified default category layout
« on: December 27, 2023, 06:51:22 AM »

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
Code: [Select]
<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.


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.

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:

Code: [Select]
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.

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.

Pages: [1] 2

Powered by SMFPacks Social Login Mod