Given that the current invoice, shipment and credit memo PDFs look the same as in Magento 1 and PDF's are always a bit of a nightmare to customize for the merchants: I suggest to replace the PDFs with a html2pdf tool. Actually the preview of the invoice looks already really nice in the backend, so this could just be converted to pdf. This would maybe also help the problem Hirokazu Nishi mentioned in his tweet: "Magento2 still use LinLibertine font. It’s only for Alphabets. To change PDF font, we still have to rewrite some classes..." This idea resulted from a tweet/discussion here: https://twitter.com/hirokazu_nishi/status/770282916819578881 https://twitter.com/rescueAnn/status/770338589326635008 https://twitter.com/benmarks/status/770339381995384832
... View more
See more ideas labeled with:
Hi everyone,
In most of the pages in Magento, we can find the "State/Province" before the "Country" field. Since the "State/Province" depends on the country, that is confusing since the customer has go to next field and select the country, and then go back to the previous field and select the state/province.
This is not correct in the most important page in the storefront, the onepage checkout:
And you can also see the wrong order in some pages of the admin panel:
In other pages, like the shopping cart page, the order is correct:
It would be better if the country can be selected first, then the state/province and finally the ZIP/Postal Code (just like the shopping cart page).
... View more
See more ideas labeled with:
Status:
Investigating
Submitted on
08-30-2016
01:10 PM
Submitted by
apiuser
on
08-30-2016
01:10 PM
Feature request from CRYX2, posted on GitHub Sep 16, 2015
Hello, I've not found any options to use multiple selection (for the same attribute) for layered navigation. In Magento 1 this options was very frustrating, now is implemented?
... View more
Feature request from acidreian666, posted on GitHub Jul 15, 2016
Steps to reproduce
Install Magento 2.1.zip from magento.com
Add Click Add Simple Product.
Click Advanced Pricing.
Expected result
Display a Textbox for MSRP.
Special Price
Special Price From
Cost
Tier Price
--
Actual result
--
Special Price
Special Price From
Cost
Tier Price
Missing MSRP input Textbox.
changing location of MSRP under Default Attribute set from Advanced Pricing to something else End result nothing still not showing up under any Group within "Add New Product"
Sorry if this is a duplicate I searched but i feel I'm the only person experiencing this.
... View more
Feature request from darrenjennings, posted on GitHub Oct 23, 2016
On latest mangeto version, would love to see TinyMCE upgraded and maintained since Magento is several versions behind latest TinyMCE. https://www.tinymce.com/
Newest version should include integration with image uploading/resizing/editing, magento widget/variable insertion etc.
I've attempted to upgrade the core myself so as to offer a PR, but it broke too many things along the way. :)
... View more
Status:
Investigating
Submitted on
08-30-2016
12:31 PM
Submitted by
apiuser
on
08-30-2016
12:31 PM
Feature request from erikhansen, posted on GitHub Jan 07, 2016
This issue covers what I consider to be two major usability issues with messages:
1. Error message hides after 5 seconds
When error messages are displayed on the frontend, they disappear after 5 seconds (this is controlled by the onHiddenChange method in app/code/Magento/Ui/view/frontend/web/js/view/messages.js ). If a user is not paying attention, if they are a slow reader, or if the error message is long, they message may disappear before they read the entire message. My recommendation would be to NOT hide the message but to leave it on the page until the user takes some other action that causes the message to be hidden.
Here is an example of an error message that will hide after 5 seconds:
@mttjohnson did some digging into what happens when there is an error with a payment method in the checkout process. It looks like the payment methods use the Magento_Ui/js/modal/alert component to display an alert-style modal that doesn't go away until the user closes it. The red error message I displayed above occurs when there is an exception thrown by Magento when progressing from Shipping > Billing, so it may not warrant an alert style popup, but it should at least persist on the page and not hide. This is what the alert-style popup looks like:
2. Error messages may display outside of current viewport
If a user is a on a small screen device, there are many situations where they will never see an error message. For example, if they're on the "Shipping" step of the checkout process and an error message is added, they may not see the error message get added to the top of the page. My suggestion would be to either smooth scroll the user up to the error message, display the error message next to the button they used to submit, or come up with a notification system that display notifications on top of all content.
... View more
One big issue I find when working with UI Components is that you end up writing deeply nested xml trees. These quickly become hard to read, and are really unmanageable. I'd like to propose two new XML nodes to be introduced: alias and referenceAlias. These would provide a mechanism for reducing the amount of XML I need to write and manage when working with nested components. Consider the following: <?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="checkout.root">
<arguments>
<argument name="jsLayout" xsi:type="array">
<item name="components" xsi:type="array">
<item name="checkout" xsi:type="array">
<item name="children" xsi:type="array">
<item name="steps" xsi:type="array">
<item name="children" xsi:type="array">
<item name="shipping-step" xsi:type="array">
<item name="children" xsi:type="array">
<item name="shippingAddress" xsi:type="array">
<item name="component" xsi:type="string">Ashsmith_Checkout/js/view/shipping</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</argument>
</arguments>
</referenceBlock>
</body>
</page> It's deeply nested, and all to common when all you want to do is replace a component or alter it's configuration in some way. The alias and referenceAlias solution would result in XML that looks like this: <?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<alias name=checkout_step_shipping_address path=“checkout.root/arguments/jsLayout/components/checkout/children/steps/children/shipping-step/children/shippingAddress” />
<referenceAlias name="checkout_step_shipping_address">
<item name="component" xsi:type="string">Ashsmith_Checkout/js/view/shipping</item>
</referenceAlias>
</body>
</page> Immediately we have less depth, and can still get the job done. Our XML is easier to read and can be quickly understood by anyone jumping in. Furthermore, these aliases could be defined by the Magento core. They would serve as invaluable extension points for developers. Even better this feature request would not introduce any breaking changes. I go over this in a little more detail (and my reasoning behind it) over on my blog: www.ashsmith.io/magento2/suggestions-to-improve-ui-components/
... View more
See more ideas labeled with:
Status:
Investigating
Submitted on
08-30-2016
12:37 PM
Submitted by
apiuser
on
08-30-2016
12:37 PM
Feature request from tanya-soroka, posted on GitHub Jan 17, 2014
Multi-node inventory
Multi-node inventory functionality will introduce support for multiple warehouses, management of product stock per website and warehouse, order processing through drop shippers and vendors. It will allow set up of multiple shipping origins, flexible shipping configurations, and automatic vendor notifications.
Functional Requirements
Ability to enable/disable shipping from multiple addresses (either you’re your business address or from 3rd party warehouses and suppliers)
Ability to specify the addresses of these warehouses/suppliers
Ability to assign products to different warehouses/suppliers
Ability to manage stocks in different warehouses
Ability to specify preferences for picking up products from warehouses
Ability to automatically define nearest warehouse to customer's destination
Ability to notify warehouse/supplier upon order and/or invoice creation
Ability to create/update email templates to be sent to warehouses/suppliers
Ability to see products assigned to selected warehouse
Ability to see shipments from selected warehouse
Inventory per Website
Provides ability to:
Set up a QTY attributes per website
Specify different inventory levels for each website
Track inventory level for each website
Track low stock for each website
Get a total QTY of the product
This feature entails the following changes:
General settings of inventory Scope should be available under Configuration > Catalog > Inventory Section
Additional rows on Product QTY of Product Grid (for products which are using inventory option)
Updates of Low Stock report
Warehouse Settings
It should be possible to enable and set up Multi-node inventory functionality. As a merchant, I want to have the following options:
Enable/Disable service
Show warehouse information on product page, shopping cart, checkout process, order/invoice/shipment/refund
Select any enabled Shipping service/method per warehouse
Manage Warehouses
The Manage Warehouses tab should appear under System > Store set upon a primary menu. It should contain the following action:
Create / Edit / Delete a new Warehouse.
Filter and search data of Warehouse list.
Provide general information about a warehouse: title and address.
Mass action, such as delete and update.
Admin user should have ability to specify the following warehouse data:
Warehouse contact information and Address
List of assigned Products
Shipping methods data
Sales data (Shipment, Orders, etc.)
Managing Inventory per Product
Alternatively, admin user should be able to specify warehouse/supplier data on the Product Information page and manage inventory per each warehouse individually.
The QTY field of the Inventory section (i.e. general quantity of a product) should display the sum of the numbers entered to the QTY fields per warehouses. It be set for read-only purposes.
Shipping / Delivery Configuration
Store owner should be able to select a shipping method from existing list of vendors (USPS, USP, DHL, FedEx, etc.). Additionally, one can set up a custom shipping method (Drop-shipping) per warehouse. Configuration settings, delivery fee, and delivery time are required on global/warehouse level.
Admin user should have ability to specify ship/delivery option for products from warehouse(s):
Shipping from a nearest warehouse (closest to customer's area)
** When a product that is assigned to multiple warehouses is added to the cart, the nearest warehouse is selected for delivery. Otherwise, product should be delivered from next nearest warehouse where it is available
Shipping from a warehouses with the highest priority
** When a product that is assigned to multiple warehouses is added to the cart, the warehouse with highest priority is selected for delivery. Other warehouses are selected according to the specified priority.
Checkout
Once multi-inventory functionality is enabled, the following delivery scenario should apply:
When ordered product is assigned to a warehouse, the address of a warehouse is considered as a pick-up address for the shipping service provider. Shipping rate to be calculated accordingly.
When ordered product is not assigned to a warehouse, the store address is considered as a pick-up address for the shipping service provider. The shipping rate is to be calculated accordingly.
When ordered products are assigned to multiple warehouses, multiple orders are created. Address of appropriate warehouse is considered as pick-up address for shipping service provider to each of the orders. The shipping rate is to be calculated accordingly for each created order.
Returning Items Assigned to Different Warehouses
Store address to be the return address for products. If Automatically Return Credit Memo Item to Stock feature is enabled, the returned items should affect the general quantity of the product and appropriate Warehouse should be considered as place of their storage.
Displaying the Warehouse/Supplier Information on the Order Review Page in Backend
Order View page should display warehouse/supplier information for every ordered product. The same data should be also displayed on the Invoice, Credit Memo and Shipment pages.
Products should be displayed on separate rows in case these products will be delivered from multiple warehouses.
Notifying Warehouse/Supplier Upon Creation of an Order in Backend
Admin user should be able to manage their notifications. Notifications can be configured to be sent per warehouse when an order/invoice/refund is created.
Creating Email Template for a Warehouse/Supplier
By default, email to a warehouse/supplier should contain all product details (i.e. product name, product parameters, quantity of each item, tracking information, and shipping method details). However, admin user should be able to create their own templates. There it should be ability possible to specify email template that will be used for sending a notification (per warehouse or globally).
Tax Calculation
Depending on tax configuration and local tax laws, tax may be collected for products shipped from a warehouse location and should be included when an order is placed.
Reports
Warehouse data should be updated with reports about Sales and Products, like Orders, Shipment, Low Stock and etc.
... View more
Status:
Investigating
Submitted on
08-30-2016
12:03 PM
Submitted by
apiuser
on
08-30-2016
12:03 PM
Feature request from gigadesign1, posted on GitHub Jan 09, 2016
Improvement suggestion.
I use a lot of configurable products in combination with tier prices.
The configuration of prices used to be in the configurable product in Magento1.
Now in Magento2 when I want to update the tier prices of my product, I have to edit every single simple product.
Since we have a product in 32 different colors and 3 sizes (so 96 simple products), this is not really user-friendly.
The default price can be configured by selecting a attribute in the configurable product.
It would be great if tier prices can be configured there too!
Or at least through mass-updates of attributes.
... View more
Status:
Investigating
Submitted on
08-30-2016
12:35 PM
Submitted by
apiuser
on
08-30-2016
12:35 PM
Feature request from airbone42, posted on GitHub Jan 21, 2015
PHP 5.5 introduced a new password API natively to PHP. http://php.net/manual/en/book.password.php
As using BCRYPT for the default hashing algorithm it's not only more secure than the current implementaiton of md5 and sha256. But will even be automatically maintained with newer PHP versions and does not depend on any maintenance or upgrades by Magento.
So my suggestion is to replace the current hashing implementation in the Encryptor with using native password_hash and password_verify. Especially for an e-commerce system security should have a very high priority.
So rumors tell that Magento 2 will soon raise min. requirements to PHP 5.5, so that would be the best point to integrate this. Anyway if that min. version update might not come there's also a backward compatibility library available at https://github.com/ircmaxell/password_compat which could be used for PHP <5.5.
If Magento needs MD5 and SHA256 for b/c to Magento 1 hashes, I would suggest to move that into a separate module, so new Magento 2 shops without old data don't need to bother about this old hasing algorithms and the code coming with it. Even shops with older Magento 1 data could remove that b/c module after all customers have updated their password over time or by enforcing them after the first login. This reduces amount of code and complexity, buy having these Mage1 b/c modules and migrations optional.
Anyway, would Magento be interested in porting the Encryptor into that way? If it will get accepted I would definitely dig into this and try to create a PR to speed up development.
... View more
Hi Guys, I would like to request a new improvement for the checkout. Currently users could have trouble finding out about invalid fields which disappear above the screen fold. Scenario: User fills out his address information Scrolls down below to submit the form and go to the next step. Hey! The button is not working. Weird... When the invalid fields are not visible because they are above the fold, the end user is not notified of the problems with his information. In some cases the user may be smart enough to scroll up and see if there are invalid fields, but you may understand that not every user is thinking about doing that. Possible solution Automatically scroll to the first invalid field on the page Notification message below the submit form to inform the user that he has to fill out his invalid forms. I am curious about what you guys think of this user experience issue. Cheers, Clarke
... View more
See more ideas labeled with:
Status:
Investigating
Submitted on
08-30-2016
01:11 PM
Submitted by
apiuser
on
08-30-2016
01:11 PM
Feature request from hostep, posted on GitHub May 09, 2015
Hi
This is mostly based on Magento 1 experience, but it looks like not much has changed in Magento 2 currently (testing 0.74.0-beta8).
I'm not a VAT expert, I'm simply getting this from feedback we get from store owners who complain about how bad this is currently implemented in Magento 1. So with Magento 2, it would be a good idea to try to get this right from the start.
Here are some suggestions, please review them, maybe there are better solutions then the ones I'm suggesting ...
If you go through the checkout, you should get instant feedback when you enter a VAT number if it is valid or not, and not after you go through the whole purchase process and it is too late. With the instant feedback you can correct your VAT number before purchasing if you made a typo.
We have experienced a lot of issues with the VAT API service which is currently used in Magento (= VIES VAT number validation), it happens very regularly that the API service is down or times out. So you should think about some kind of way to handle this. Maybe there are alternative API services? Maybe you can do a first preliminary check using regular expressions before going to the API service to lower the load on the service? Maybe add a switch in the backend where store owners can choose what happens when the API service is down: allow the customer to proceed, or let them try again until the API service is back up?
Right now you aren't allowed to enter your country prefix in front of the VAT number, since it uses the country from your address. I believe you should clearly state this in a line of text or in a tooltip or something like that, so the customers know what to enter. Also: it makes a lot more sense to put the VAT number field after the country selector field, because it depends on that value (the same thing applies to the state/region field, but that's another issue).
If others have some opinions about these issues or have other suggestions, please leave a comment, so we can try to improve how Magento 2 handles the EU VAT number validation.
Credit where credit's due: most of these suggestions come from a commercial extension we used a few times in the past: https://www.geissweb.de/eu-vat-enhanced-magento-extension.html, but since the current implementation in Magento is pretty broken, we shouldn't depend on an extension to fix these bugs in Magento I believe?
... View more
Hi, I am facing a problem with configurable products. If you create a configurable product and create some product variations based on lets say color & size, if you change the price and image for a specific variation and select this variation on the configurable product page, the price and image will change. This is a very good feature altough the expected behaviour for me would be that the description and specifications for this selected variation would be shown, in stead of the specifications of the configurable product itself. Why does it change the price and image, but not the description and product specifications? I attached a screenshot to give you an idea of the issue. I also used to have this problem in Magento 1 and found a module for this which solved the problem. However this module is not supported for Magento 2. https://www.magentocommerce.com/magento-connect/sdocp-simple-details-on-configurable-products-1.html Is there a way this can be done programmatically or fixed in the core? Kind regards, Falco
... View more
Feature request from aleron75, posted on GitHub May 10, 2016
Hi,
this is not something which doesn't work but something that doesn't work as expected, so feel free to take it more as a suggestion than as a bug.
As stated in the title, I expected dates saved in UTC just like in Magento 1 but it doesn't seem to work this way in Magento 2.
What's more, the \Magento\Eav\Model\Entity\Attribute\Backend\Time\Created and \Magento\Eav\Model\Entity\Attribute\Backend\Time\Updated attribute backend models don't seem to have the same logic implemented (even if I don't think that any default attribute use them at date).
You can read some considerations and suggestions here: http://magento.stackexchange.com/questions/114706/magento-2-best-practice-to-get-current-date
Thank you
... View more
Status:
Investigating
Submitted on
08-30-2016
12:31 PM
Submitted by
apiuser
on
08-30-2016
12:31 PM
Feature request from tadhgbowe, posted on GitHub Nov 30, 2015
I am creating a new Configurable product via the Admin Panel (based on color). My simple products (children) already exist via a product import. When I click on "Edit Configurations" it takes me down the path of creating new simple variations. I don't want to do this. I simply want to select the existing products.
Interestingly if I go ahead and generate some simple variations via the "Edit Configurations" after the product save I can see a new link "Add Products Manually" beside "Edit Configurations". That's what I want to see the first time around after I inform it that the new configurable product is based on color.
The "Edit Configurations" wizard needs to allow me to select existing products after I've told it what configurable attributes I'm working with e.g. color or size.
Is this a known issue?
Thanks
Tadhg
... View more
Status:
Investigating
Submitted on
08-30-2016
12:01 PM
Submitted by
apiuser
on
08-30-2016
12:01 PM
Feature request from webtekindo, posted on GitHub Feb 10, 2016
It should be nice to have an option in Admin to display price range for configurable products instead of only displaying the minimal price.
50$ - 90$ (minimal price) - (maximal price)
That range may be display on the product listing, and on the product page when no options selected yet
I beleive many companies have use cases on which they use the configurable product type, but price may vary a lot depending on the configurable options.
... View more
Status:
Investigating
Submitted on
08-25-2016
09:36 AM
Submitted by
apiuser
on
08-25-2016
09:36 AM
Feature request from hostep, posted on GitHub Aug 17, 2015
Hi guys
Why is the telephone number still required on a customer address?
We hear from our shop owners that a lot of customers refuse to enter something in there or just enter gibberish.
An ideal solution would be if you could add a configuration option in the backend similar to the Gender , Tax/Vat Number and Date of Birth fields.
So an option for showing the telephone number where you can choose between No , Optional or Required . What do you think?
I had to implement this today into a Magento CE 1.x store and it was kind of a terrible experience, changing stuff in the database, remove the hard coded validation of that field (which is still present btw: https://github.com/magento/magento2/blob/93312cae42824274722fe7a285d5ce8e40f177a1/app/code/Magento/Customer/Model/Address/AbstractAddress.php#L572), ...
Related to https://github.com/magento/magento2/issues/624
... View more
The suggestion is to establish a pattern of adding the following code to deprecated functions: // This is just an example. Write whatever -- something to point people in the right direction.
$sMessage = 'save() has been deprecated in favour of using the usage of repositorties, and the deferral of persistence to the persistence layer. See https://h.dev.magento.com/repositories for further details'
@trigger_error($sMessage, E_USER_DEPRECATED); This can be introduced harmlessly to the stack, and does not actually change any error behaviour, or make the deprecated methods more fragile. However the error handler indicated by set_error_handler() will be called; allowing the surfacing of the deprecated methods. This is useful in a couple of ways: Tests can stub the error handler such that it propagates these error messages and fails tests. This clearly indicates that the code is no longer valid. The error handling function can be modified such that in developer mode these errors are surfaced to the user, and either halt execution or are simply logged to the debug log State of "known violations" can be tracked (perhaps simply with a try_catch in tests, with a skip or the like). This means that any new code must either violate the deprecation intentionally (picked up in review) or fail tests (picked up in CI) This pattern has been previously established by Symfony[2][3] and appears to work as expected there. Such work will allow enforcement of deprecation; something that has proved problematic in the past (particularly in code review where it's not apparent that used functions are deprecated) [1] http://uk.php.net/manual/en/language.operators.errorcontrol.php [2] https://twitter.com/andrewhowdencom/status/900675010641133571 [3] https://github.com/symfony/class-loader/blob/b94aa5c3608cd53444fc4c7a2a506d163eb4a8f3/MapClassLoader.php#L14
... View more
See more ideas labeled with:
In magento 1 X.commerce produced the following guide http://info2.magento.com/rs/magentosoftware/images/magento-extension-developers-guide-v1.0.pdf Its approximately 70 pages long. I found this invaluable in learning how Magento 1 worked. Put simply it was a short guide that produced an extension from start to finish teaching many basic principals of Magento 1 such as: Code setup and configuration - code structure Design setup - templates and layouts Frontend development - database schema, models, output (blocks), routes, helpers, sample data Backend development - admin configuration, routes, models, output (including grids), helpers, ACLs I believe where this guide succeeds is that it carries a single example across many topics. More importantly it has the right level of detail in terms of producing something useful yet not too much to becoming obsolete overnight. And it focuses on magento in terms of PHP development unlike some of the books I've read through which cover a far wider range of topics and often include a few chapters on installation and setup for example. I realise that Magento 2 is technologically more advanced and perhaps this is too difficult to achieve. However reading through the developer docs many areas still seem disjointed (and by this i mean a common example which is carried throughout - not simply a collection of snippets of information) and I feel it would be really helpful if an all-in-one guide extension guide was put together not only for me but to help the greater community. To give you a bit of history I'm a competent Magento 1 developer but I'm finding some Magento 2 concepts difficult to follow. I'll be honest I've seen https://u.magento.com/training/schedule/ and I believe your pricing will stall the adoption of Magento 2
... View more
See more ideas labeled with:
When working with B2B, it is not uncommon for the customer to place large quantities in the basket. In addition to this, it has been noted that certain parts of the site, most notably the checkout, tend to slow down in relation to the amount of items that are added to the basket. The more items added, the slower certain areas become. We suggest refining the code in order to facilitate a large basket quantity, upwards of 200 perhaps, without losing to much time waiting for reloads. Specifically, the more items in the cart, the slower the following seems to process: /Webapi/Rest/Magento\Checkout\Api\TotalsInformationManagementInterface/calculate /checkout/sidebar/updateItemQty /checkout/cart/updatePost /checkout/cart/add /checkout/cart/delete /checkout/sidebar/removeItem
... View more