Hi Team, We are showing out of stock products, and in the case of configurable products price is not displayed if all children are out of stock even if Display Out of Stock Products is set to "yes". Can we have an option to display price for these type of products? Thanks SJ
... View more
See more ideas labeled with:
Status:
Investigating
Submitted on
08-30-2016
01:00 PM
Submitted by
apiuser
on
08-30-2016
01:00 PM
Feature request from nyov, posted on GitHub Dec 08, 2014
If for some reason the backend broke and the styles/scripts can't be found (in this instance I messed up the base url), there is no fixing things from the backend because settings can't be saved anymore.
It would be nice if Javascript wasn't essential there.
(edit; or, if necessary, inline for this one instance)
... View more
Status:
Investigating
Submitted on
08-30-2016
12:58 PM
Submitted by
apiuser
on
08-30-2016
12:58 PM
Feature request from rtull, posted on GitHub Apr 04, 2016
In the "rules" interfaces in the admin panel (see Customer Segments or Promotions) selected objects show their ID, not a friendly name. This makes it very difficult in the admin to assess what values have been selected in a rules section because the IDs shown are not comprehend-able. Without loading the full selection list / grid interface, an admin user has no idea which specific items they have selected.
For example, selecting a particular category as a filter criteria show the category ID, not the category name. An admin user would have no idea which category this is without loading the category selector - which both time-consuming and non-obvious.
Recommend displaying admin text values instead of IDs to improve human administrator comprehension and admin speed of use.
Example Screenshot: http://files.classyllama.com/c689cb8e/mage2_admin_id.png
... View more
Status:
Investigating
Submitted on
08-30-2016
12:37 PM
Submitted by
apiuser
on
08-30-2016
12:37 PM
Feature request from ihor-sviziev, posted on GitHub Dec 09, 2013
As example for now we should make reindex Products flat for all websites. When we have many products(10000+) and we copied added all products to new website, reindex process is really very slow. Should be great have ability reindex flat data for specific store/website.
... View more
Status:
Investigating
Submitted on
08-30-2016
12:37 PM
Submitted by
apiuser
on
08-30-2016
12:37 PM
Feature request from alexdrupal, posted on GitHub Feb 11, 2014
Hi Folks!
Does magento has plural support for translations?
If no, I think it should be added to the todo list of Magento2 team.
At least, Zend framework having plural support since 1.6
Thanks!
... View more
Status:
Investigating
Submitted on
08-30-2016
12:36 PM
Submitted by
apiuser
on
08-30-2016
12:36 PM
Feature request from erikhansen, posted on GitHub May 16, 2014
Currently, the "template path hint" feature displays the template name and block class name.
Fabrizio Branca's Aoe_TemplateHints module extends the native Magento 1.x template path hint functionality to add much more information to the hints including:
Block name (very useful)
Parent block names
Module
Caching status
Here is a screenshot from his blog post, visualizing what this could look like:
I propose that this functionality be built into Magento 2. If Magento accepts this proposal, I may be willing to build this functionality and then issue a pull request to have it incorporated into Magento 2.
... View more
Status:
Investigating
Submitted on
08-30-2016
12:33 PM
Submitted by
apiuser
on
08-30-2016
12:33 PM
Feature request from johngrogg, posted on GitHub Jul 21, 2015
Are there any plans to add access to Orders when authenticated by a customer? Perhaps on something like GET /V1/orders/mine , similar to GET /V1/carts/mine ?
That seems to be one of the few remaining missing end-points for the purposes of a full shopping experience (you can already manage account info through GET /V1/customers/me , but you can't access order data currently).
... View more
Status:
Investigating
Submitted on
08-30-2016
12:32 PM
Submitted by
apiuser
on
08-30-2016
12:32 PM
Feature request from minhluan259, posted on GitHub Nov 19, 2015
Please make content editor support html5 tags
... View more
Status:
Investigating
Submitted on
08-30-2016
12:29 PM
Submitted by
apiuser
on
08-30-2016
12:29 PM
Feature request from rasmuswikman, posted on GitHub May 26, 2016
Steps to reproduce
Edit product with custom options with more than 20 options
Expected result
Options draggable
Actual result
Can't drag options between pages
... View more
Status:
Investigating
Submitted on
08-30-2016
12:28 PM
Submitted by
apiuser
on
08-30-2016
12:28 PM
Feature request from daniel-ifrim, posted on GitHub Aug 19, 2016
Preconditions
Current version used by Magento is depreacted and not maintained anymore.
May we have the new version of it in the next Magento releases ?
Current version used by Magento:
https://github.com/magento/magento2/blob/develop/lib/web/jquery/jquery.cookie.js
in:
https://github.com/magento/magento2/blob/develop/lib/web/mage/cookies.js
Link to deprecated lib:
https://github.com/carhartl/jquery-cookie
Link to new lib:
https://github.com/js-cookie/js-cookie
Thank you
... View more
Status:
Investigating
Submitted on
08-30-2016
12:28 PM
Submitted by
apiuser
on
08-30-2016
12:28 PM
Feature request from Vinai, posted on GitHub Aug 20, 2016
PHP7 allows methods to declare return types.
For example:
interface FooInterface
{
public function bar(): int;
}
This feature of PHP7 (and others) is not used by the Magento 2 core code, since it still supports the old PHP version 5.6.
However, code written for specific Magento 2 instances known to be running on PHP7, may already utilize the many features PHP7 provides under certain circumstances (e.g. compilation and ObjectManager compliance).
Magento 2 currently uses the PHP testing library PHPUnit version 4.1.
PHPUnit 4.1 can not create mocks of classes with methods specifying return types.
This feature was added to PHPUnit version 5 (more specifically, phpunit-mock-objects version 3, which is a dependency of PHPUnit 5).
As an external developer, I would like to be able to write PHP7 code if my client uses it.
Also, I would like to be able to easily test my code using the testing library bundled with Magento 2.
This would be possible by an update of the bundled testing library to PHPUnit 5.
Preconditions
PHP7
A Magento 2 installation (any version, beta to current develop HEAD).
Steps to reproduce
A module containing a class or interface with a method using a PHP7 return type.
A test that attempts to mock such the class or interface.
Expected result
PHPUnit creates the mock
Actual result
The mock PHPUnit 4.1 generates is not compatible with the PHP7 code and PHP throws an exception.
PHP Fatal error: Declaration of Mock_CollectorInterface_c5f77d44::collectForModule(string $moduleDir) must be compatible with VinaiKopp\Example\Src\CollectorInterface::collectForModule(string $moduleDir): string in .../vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php(290)
There already have been multiple issues where developers attempted to use PHP7 specific features with Magento 2. This is just the latest in this chain. I believe in order to stay current Magento 2 will have to be adjusted to be fully compatible with PHP7 features.
This can be done in multiple steps however, I think nobody expects the Magento core to make this big move immediately. Updating PHPUnit to allow third party developers to already utilize some PHP7 features would be a relatively easy to do step in that direction.
In fact, I think it would benefit the Magento core code, too, since some of the new features added in PHPUnit 5 are to show warnings when using bad practices in tests, such as mocking non-existent methods.
Such warnings for for example highlight the use of concrete instance methods when the mocked dependency is an interface. This allows developers to catch such cases and either extend the interface or fix the constructor dependency to be on the concrete instance (this is not a backward compatibility break as the code defacto already has this dependency - it just was hidden so far).
... View more
Status:
Investigating
Submitted on
08-30-2016
12:04 PM
Submitted by
apiuser
on
08-30-2016
12:04 PM
Feature request from ihor-sviziev, posted on GitHub May 13, 2014
In Magento 1 we have really great custom module - AOE Scheduler. This module is open source and it allow see what cron job is planned, ability to start, schedule, disable some jobs from admin, etc. I think something similar should be inside magento 2 from box.
... 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 sIiiS, posted on GitHub Jan 10, 2016
Can anything be done to define "decimals, precision, etc" or force the script to automatically detect "options" based on the locale during setup?
For example in Persian:
precision is "0" not "2" ... ex. 5 is correct not 5.00
decimals is "0" not "4" ... ex. 20 is correct not 20.0000
script is "Arabext" not "Latn",
currency position is "Right" not "Left",
etc!
... View more
Status:
Investigating
Submitted on
08-30-2016
12:02 PM
Submitted by
apiuser
on
08-30-2016
12:02 PM
Feature request from Khaleel, posted on GitHub Jan 11, 2016
Hi
I want to raise some issues on the hideous and bloated Media uploader for Magento 2 and shoot the person who built this pile of crap.
Cannot upload SVG images
Poor UI and UX
No indication of uploaded content
Firefox has thousands of issues including JS issues with not allowing the upload option to show
The upload button is text and should be made to a button
No history tracking
It does not even work half the time in Chrome or Firefox. Since the last update the design has also broken and why does it scale full screen to to the right?
... View more
Status:
Investigating
Submitted on
08-30-2016
12:00 PM
Submitted by
apiuser
on
08-30-2016
12:00 PM
Feature request from stasleo, posted on GitHub Apr 14, 2016
There is no way currently to specify sort order for tabs added by module at frontend product page. Magento2 just loads tabs from A to Z by its module name.
For example, our extension adds "Product Questions" tab to a product page: http://magento2pq.demo2.aheadworks.com/cassius-sparring-tank.html
Its position is 1st and there is no any attribute to place it at some other position. It is obvious that most of our clients would prefer to make "Description" tab appearing first.
... View more
Status:
Investigating
Submitted on
08-30-2016
11:59 AM
Submitted by
apiuser
on
08-30-2016
11:59 AM
Feature request from kanduvisla, posted on GitHub May 30, 2016
Steps to reproduce
Create a configurable product
Give it's child-products different FPT values
Add the product to the cart
Expected result
That the product in the cart has the FPT applied of the child product
Actual result
The FPT of the parent product (configurable) is applied instead.
... View more
Feature request from mzeis, posted on GitHub Feb 12, 2015
Some extensions log useless stuff that pollutes the logs.
The problem could be avoided if Magento as well as the extension vendors would pay more attention to the log levels already provided and use them accordingly (e.g. differentiate between debug output and real information / notices / warnings / errors).
As it may not be possible to force using the correct log levels it would be nice to have an option in the System Configuration to disable logging. One of many possible ways to solve this in the UI would be to have a multi-select listing all modules in the installation.
... View more
Feature request from ffrodoe, posted on GitHub Sep 29, 2015
For example try to translate "Meta Keywords" attribute label.
... View more
Feature request from markoshust, posted on GitHub Dec 09, 2015
After sending tracking number information for a shipment to a customer, it should log that the tracking information was emailed to the customer below the Submit Comment button just like a standard shipping history record.
... View more
Feature request from mttjohnson, posted on GitHub Dec 14, 2015
I've been digging into how logging works in Magento in order to accommodate adding logging into a module I'm working on.
It looks like there is a little bit of discussion on #2641 regarding how to improve the usability of logging in Magento.
I logged an issue #2529 that identifies a problem with Magento's use of Monolog with multiple handlers specified in di.xml. I provided a workaround to utilize multiple handlers with Monolog 1.16.0 to make it possible to specify multiple handlers in the di.xml so that Monolog recognizes them correctly. I also noted that the fix to Monolog that allows it to handle associative arrays properly would cause some duplicate logging the way that Magento has implemented the use of logging.
A few other people like #2058 have run into some of the difficulty in figuring out how to utilize logging in Magento or work around it.
I had the need for some logging in a module I'm working on, and I implemented a custom Logger that extends Monolog\Logger and then I inject an instance my logger using DI into any class that I want to utilize the custom logger, in a similar way to how Magento injects Psr\Log\LoggerInterface for any class that needs access to log information. The custom logger extends Monolog\Logger but doesn't add anything to the implementation, I basically utilize the class so I can specify it's type in di.xml with an array of handlers and processors to instantiate the object with similar to how Magento is using Monolog.
I wanted to have some control to turn off logging, or specify in the Magento Admin Configuration what level of detail to log. I added some code to the handler constructor to conditionally add a custom processor to my handler that includes the store_id in the log record if I have configuration settings set to log a lot of additional details to the log records. I implemented a custom handler that extends the Magento\Framework\Logger\Handler\System hander and I overwrote the isHandling() method to check config settings and determine if it should be logging information or not. I also overwrote the write() method to check config settings and conditionally alter the amount of additional context details to include in the log record that is written.
I also had certain log messages that I was wanting to log to both a database table and to a log file. I wrote a separate custom handler for writing log records to a database table using a simple custom Model in my module. This way I can have structured information logged to a table when an event occurs and have other pieces of code interact with that event information rather than the information getting burried into a log file.
The way I implemented the use of my custom logger, I pass additional details across via the context array and my handlers will either include or exclude certain context keys into the log records depending on the level of detail the configuration settings specify.
$this->myCustomLogger->info(
'response from external web api call',
[ /* context */
'request' => var_export($request, true),
'response' => var_export($response, true),
'processing_time' = var_export($processingTime, true),
]
);
$this->myCustomLogger->info(
'decision was programmatically determined',
[ /* context */
'input' => var_export($input, true),
'event_circumstances' => var_export($whatHappened, true),
'action_taken' = var_export($howItWasResolved, true),
'manual_adjustment_needed' = var_export($detailsOfManualAdjustmentToBeMadeLater, true),
]
);
I figure that during development and testing of my module, the logging details will be useful, but during production we would want to keep logging to a minimum of necessary details. The additional context data gives me relevant information to try and diagnose a situation when the module is deployed somewhere, and there is the ability to control if it is logging, where, and how much detail it logs based on configuration settings in the admin. In the event that some issue is occurring with the module in production, additional details could be logged temporarily to collect more details to better diagnose and analyze an issue to isolate it.
Having two custom handlers for my custom logger allows me to have one log entry anywhere my code needs to log something, and I can control how I want the handlers to process the log records via configuration settings in the admin. If for some reason I wanted to add a third handler for something like Loggly to aggregate log details somewhere else it would be pretty simple to add to my custom logger.
Being able to use Monolog and implement additional logic in the handlers allows me to control the logging more specifically and seems to work well, but I'm basically doing almost all of this outside of anything built into Magento for logging.
I don't see anything in Magento that allows me to control logging much, if it writes logs, where it writes, or how much it logs. It looks like out of the box it is set to always log everything to files whenever the logger is called to write a record.
It seems like there should be some kind of allowance for managing different loggers in Magento, and each logger have it's own set of handlers and processors. I wouldn't want my custom handlers trying to process or filter out logging events throughout the rest of Magento, or even some other custom 3rd party module. Monolog has the ability to identify different loggers by the logger's name which is also referred to as a channel. Symfony appears to use channels to organize multiple loggers and provide a relationship to the part of the application being logged. The separate loggers can share the same handler that writes to a file, but each logger has the option to specify their own file path. Some loggers may write to the same file, but other could write to a separate file. Organizing and managing multiple loggers would allow a lot more flexibility in Magento so that as a module developer I could add my own logger to some manager and specify a few things in my custom logger to have it control if, when, and what it should be logging, and where.
Instead of having separate handlers for writing System, Debug, Exception logs, you could have separate loggers each with their own channel/name for System, Debug, and Exception logs. Each logger could manage what handlers it uses to write the log files, and pass into each handler details like where it is supposed to write. If you wanted to aggregate logs centrally, you can just add an additional handler to each logger that will write/forward log records to the aggregator. Treating a handler more like a generic type of how things are getting written would probably be more flexible than having separate handlers for each file getting logged. Monolog is expecting to iterate through all handlers in the logger's list until a handler specifies that it shouldn't bubble the record onto the next handler in the list.
I'm still struggling with wrapping my head around how to deal with adhering to the simplicity and common implementation of PSR-3 and having a bit more control organizing logs together in related groups (channel) so that each group can have additional control or processing based on the group. If Magento was managing multiple loggers for us, how would we specify which logger gets instantiated and passed into a class as an implementation of Psr\Log\LoggerInterface or should something else be passed in that gives us the ability to specify which logger/channel we want, and that object delivers us the Psr\Log\LoggerInterface implementation that we log against? Is it important that we inject Psr\Log\LoggerInterface into our class for PSR-3, or is it merely important that any log activity be against an implementation of Psr\Log\LoggerInterface allowing for the use of multiple implementations of Psr\Log\LoggerInterface to manage the organization and grouping of various log activity?
... View more