Showing ideas with status New.
Show all ideas
In order to display customer data on pages cached in the full page cache (Varnish or built in), the Magento framework and Magento customer module provide a number of related tools that enable this feature. Some details are outlined in the official documentation found at http://devdocs.magento.com/guides/v2.1/config-guide/cache/cache-priv-priv.html Creating such a dynamic section on a cached page requires the use of two interfaces: * Magento\Customer\CustomerData\SectionPoolInterface * Magento\Customer\CustomerData\SectionSourceInterface The interface Magento\Customer\CustomerData\SectionPoolInterface is only referenced in the configuration file etc/frontend/di.xml, but the interface Magento\Customer\CustomerData\SectionSourceInterface has to be implemented in a custom class. These interfaces currently are not marked with the @api annotation. Please add this annotation so the feature can be used in custom modules. This actually also extends to the JavaScript "classes" Magento_Customer/js/customer-data and Magento_Ui/js/lib/core/element/element (a.k.a uiElement). Please also mark these as stable so the feature can be used as described in the documentation. Thank you!
... View more
See more ideas labeled with:
I really love the Magento command-line tool, however I would like to see the command line tool integrated in Linux / Mac. By doing that we could extend the native functionalities and be able to use the magento command with those new commands from any project. Problems Right now, if you want to add new commands to manage your Magento 2 installations, you have to add a new module with the code for the new commands to the project. So, if several community members contribute with different commands, the result is that you have several modules containing all those commands. For the same reason that the item above, if you create new commands to add new cool features, the code for those features should be added to every single Magento 2 project (as a result, more code in the codebase of those projects). If the command-line is included in the Magento 2 codebase (in the projects), it's very hard to extend and maintain for the reasons mentioned above. Magerun2 is the best example of how powerful and useful is a global command-line tool: https://github.com/netz98/n98-magerun2. Suggestions Since I've been contributing with the community by creating a command-line tool for Mac (https://github.com/guarinogabriel/Mac-CLI), I have a couple of suggestions to improve the Magento 2 command-line tool: Release it as the Magento command-line tool in Github: It could be a separate project in Github, so the community can focus on contributing specific features/improvements to the CLI. Make it global: The Magento installer could install the tool in the /usr/local/bin/ folder to make the command-line tool global in the system. Auto-complete features: The perfect example of this is the SAWS command line tool (https://github.com/donnemartin/saws): Magento 2 could use the global magento command-line tool: One of the goals of the Magento 2 command-line tool is to replace the shell scripts from Magento 1 and use commands in Magento 2 instead. Those commands could be appended to the global command line tool. So, if you run the magento command from the project folder, the commands from that project will be appended to the global commands. I'd love contributing with this idea by creating a pull request and start working on the global command-line tool if the Magento team and the community like it.
... View more
In some custom modules the IP address of the current visitor is required (e.g. for GeoIp lookups or access control). The class \Magento\Framework\HTTP\PhpEnvironment\RemoteAddress provides this feature, however it is not marked as stable. In order to be able to use the class within third party modules, it would be nice to have a method that is blessed with the @api annotation.
... View more
Feature request from springimport, posted on GitHub Sep 12, 2016
What about new api method like [DELETE] /V1/carts/{cartId}/items .
I think this is desired method.
Documentation quoteCartItemRepositoryV1.
... View more
Feature request from magexo, posted on GitHub Sep 15, 2016
Product options HTML is generated in two ways:
by options template
by swatch-renderer.js (if you have any swatch attribute on product)
What does it mean?
extending look of swatches mean complex rewrite of JS renderer (to be able upgrade later)
if you have any product without any swatch attr (quite usual), you have to also modify options template (doubled work)
Ideas what to do?
merge logic into UI component
some kind of inheritance from non-swatch to swatch approach
get rid of HTML generation with JS string concats!
Main objective?
streamlined customization
better extendability
M2 approach
... View more
first of all let me tell you the Magento order flow its very hard to understand and of course hard to use because its time consuming we wont something easy and efficient. here is the scenario, there is wholesale company with 80 + employees ? does that sound familiar? magento has the option to create users and set permissions for users that its okay. but this built in feature has to be extended to make it useful here is how: on the admin page when new customers are registered admin should b e able to assign an admin user (employee) for this customer this admin user will handle all inquires including orders and support for this customer that means that this user will also apper on the order grid in the admin attached is a picture of what I mean, Mr. Magento should do it as default if they want to be at the top of the ecommerce tire of this Im tirded of this mage thing and looking for the real new era of commerce! feature request for orders #1 able to edit orders without creating a new one this should be a default in magento. customer order 10 items but then change hes mind he only needs 5 magento "edit" creates a new order wtf? customer card was declined new card is available how to update without creating a new order uh? customer order overnight shipping but the shipping its not avaiilabe for that region need to be changed how to change that without creating a new order uh? #2 able to print packing slip without changing order status the order has been received but payment has not, its a large order that takes time to prepare (package) but the packing slip can't be printed unless there is an invoice wtf? #3 able to issue a discount on order total (coupons sucks) the total its $10,000 i want to issue $800.00 discount or 8% discount how does your magento handles that ah?? #4 able to add and change payment status (invoice status) lets say card was declined how does magenta handles that? ... processing status... but there is a lot more orders in the same status its time consuming to look for it #5 able to take partial payments lets say the invoice its $100,000 customer deposit 60 % of the invoice the balance its $40,000 how to handle that in magento ah?
... View more
See more ideas labeled with:
I have big issue in magento 2 backend. When editing product which has custom options with different prices. After saving the product custom options price is changing automaticaly: My magento version is Magento CE 2.1 Example "custom option 1" price is 1500.00 After save: Expected result: custom option price should be 1500.00 Actual result: custom option price is 1.00 Is there any solution for this issiue?
... View more
See more ideas labeled with:
Feature request from fooman, posted on GitHub Apr 19, 2016
Expected result
When a new Magento 2.x version is released a merchant can upgrade immediately
Actual result
When a new Magento 2.x version is released a merchant needs to wait for extension providers/ SIs to assess what changes have made it into this release
Currently it seems the only time a module's version number can change is when the Magento 2 project releases. From an external developer's stand point a better approach would be for the modules to change their version number the moment a version number affecting change is merged into develop. This allows an external developer to follow development between releases without having to wait until the final avalanche of version number increases on release day and then having to play catch up with all changes in a short period of time.
As a further suggestion the following policy would help extension developers prepare for an upcoming release:
At the end of the penultimate sprint before release a Release Candidate is tagged (or earlier). From there until final release only patch level fixes are allowed on the Magento module level (if a fix is required that is breaking a new Release Candidate would be added).
... View more
Feature request from markoshust, posted on GitHub Sep 07, 2015
There is no documentation (or reference to other documentation) on implementing date & time selectors from the admin pattern library:
http://devdocs.magento.com/guides/v2.0/pattern-library/getting-user-input/date_time_selector/date_time_selector.html
... View more
Feature request from tzyganu, posted on GitHub Jul 06, 2016
The class \Magento\Eav\Model\Entity\Attribute has as a dependency an instance of \Magento\Catalog\Model\Product\ReservedAttributeList .
This is wrong in my opinion.
Besides the fact that it introduces a circular dependency because EAV module now depends on the Catalog module and the Catalog module already depends on the EAV module.
But this circular dependency is not the main problem here (others might disagree).
The main problem is that the Catalog Product is not the only EAV entity in the application.
There are also Categories, Customers and Customer addresses.
This means that when I add an attribute for these entities Magento checks if there is a getter for that attribute name in the product model class.
This also restricts me when creating my own EAV entity to have attributes like price (and others).
I think the dependecy \Magento\Catalog\Model\Product\ReservedAttributeList should be replace with an interface ReservedAttributeListInterface that should reside in the EAV module with a single method isReservedAttribute and I can specify via di.xml the implementation used as dependency for each class that extends \Magento\Eav\Model\Entity\Attribute .
... View more
Feature request from dnadle, posted on GitHub Aug 11, 2016
Preconditions
Magento 2.1.0
Steps to reproduce
Add a product attribute with multiple select input type and define several options (values).
Choose a sku set some values for the attribute.
GET the sku with /V1/products/{sku}
Wrap the returned JSON body with { "product": <JSON GET result> }.
PUT the sku with /V1/products/{sku}
Edit the JSON body and set the attribute value to [] (empty array).
PUT the sku again.
Expected result
The unchanged results of a GET should PUT without errors.
A multi select attribute with a single option with id "123" selected should be sent as ["123"].
Multiple options selected should look like ["123","456"].
Putting a an empty array should clear all the selected options for the attribute.
Actual result
Putting an unchanged GET returns errors on the multiselect attribute: { "message": "Error occurred during \"custom_attributes\" processing. Attribute \"occasion\" has invalid value. Invalid type for value: \"string\". Expected Type: \"string[]\"." }
If the attribute has a single option, it is sent as "123", not ["123"].
If the attribute has multiple options, it is sent as "123,456", not ["123","456"].
Putting an empty array does not remove whatever options are selected.
... View more
Feature request from TommyKolkman, posted on GitHub Aug 24, 2016
Magento widgets strip special characters like a "+".
If I add something like:
{{widget type="Elephant\CFTextAndImage\Block\Widget\CFTextAndImage" language="nl_nl" title_default="++Hallo++"}}
The plusses are stripped. Now, in this case that's not that much of a problem, but in some cases we use base64 values there. When the base64 value has a plus, the value is instantly corrupted.
I've tried to track it down and came to the conclusion that there is a problem with the following file:
https://github.com/magento/magento2/blob/develop/lib/internal/Magento/Framework/Filter/Template.php
The problem is in the tokenizer.
/**
* Return associative array of parameters.
*
* @param string $value raw parameters
* @return array
*/
protected function getParameters($value)
{
$tokenizer = new Template\Tokenizer\Parameter();
$tokenizer->setString($value);
$params = $tokenizer->tokenize();
foreach ($params as $key => $value) {
if (substr($value, 0, 1) === '$') {
$params[$key] = $this->getVariable(substr($value, 1), null);
}
}
return $params;
}
The $value, before added to the tokenizer is still correct. Afterwards, however, it's missing the plusses.
Now, I've tried writing up my own replacement for the tokenizer as quick fix, but that won't do. Can you guys fix this?
Temp fix (via di.xml of course):
// $params = $tokenizer->tokenize();
$params = array();
$count = 0;
$widget_values = explode( '"', $value );
$param_key = '';
foreach( $widget_values as $widget_value ){
if( $count == 2 ){
$count = 0;
}
if( $count == 0 ){
// It's a key
$param_key = trim( rtrim( $widget_value, '=' ) );
} else {
// It's a value
$params[ $param_key ] = trim( $widget_value );
}
$count++;
}
... View more
Feature request from heldchen, posted on GitHub Sep 08, 2016
Preconditions
CE 2.1.1
Steps to reproduce
try to customise the address format in the mail footer
Expected result
you can customise the address format in the mail footer, for example putting the zip code in front of the city, as used in some European countries
Actual result
you cannot (easily) customise the address format as it is hardcoded:
/**
* Format address in a specific way
*
* @param DataObject $storeInfo
* @param string $type
* @return string
*/
public function format(DataObject $storeInfo, $type = 'html')
{
$this->eventManager->dispatch('store_address_format', ['type' => $type, 'store_info' => $storeInfo]);
$address = $this->filterManager->template(
"{{var name}}\n{{var street_line1}}\n{{depend street_line2}}{{var street_line2}}\n{{/depend}}"
. "{{var city}}, {{var region}} {{var postcode}},\n{{var country}}",
['variables' => $storeInfo->getData()]
);
if ($type == 'html') {
$address = nl2br($address);
}
return $address;
}
sure, we could use an interceptor and completely forgo the current implementation, but really? at the least please add the template string into the event so it could be manipulated in an observer...
... View more
Feature request from tstamplis, posted on GitHub Sep 08, 2016
Because Mangento (2.1.0 in this case) does $0 card authorizations on payflow pro now for credit card transactions, it is costing merchants .30 cents PER card authorization, on top of the .30 cent authorization attached to the actual sale. This adds up to hundreds of dollars per month in additional fees just because of this new way Magento handles payflo pro integration.
I would request the ability to disable this "feature" so merchants that do not want to increase their processing fees for the sake of this method of authorization have the option to opt out.
... View more
Idea: Admin Functionality to remove decimals on price globally on the site (like prestashop, opencart) Example of a thousand 1.000 This will affect how magento works globally, in some countries is not necessary decimals and others is even ilegal.
... View more
See more ideas labeled with:
Feature request from 5mehulhelp5, posted on GitHub Feb 25, 2015
I think Google Shopping api is going to expire soon but i show in magento 2 we are using still a V1 so it's better if we can Update that to V2.......
... View more
Feature request from navarr, posted on GitHub Jun 21, 2016
Feature Request:
Rather than override the success.phtml file, add the ability to create child blocks that can add buttons to the toolbar after checkout success.
Steps to reproduce
Install Magento 2.1 (in any shape)
Decide that you want to add an additional button in the toolbar on Checkout Success
Investigate the template to see if it is looking for additional blocks
Expected result
Become overjoyed with the ability to add blocks and insert additional buttons in this very handy space (through server-side rendering) for having them
Actual result
Become saddened with the lack of such an ability, and instead add a block to appear after the success block, rendering your button awkwardly underneath the other button - or alternatively change the entire success template
... View more
Feature request from bubach, posted on GitHub Apr 02, 2015
Need lots more features regarding languages and currencies between stores/shops. Right now you can be forced to duplicate whole translations and massive duplication for url-redirects based on language if you want to support the same language but inside different websites. Also using USD/EUR/GBP with the same english translation can be a pain if you set up the websites/shops in certain ways.
... View more
Feature request from vizjerai, posted on GitHub Apr 15, 2015
I noticed that there is an option to select a website for the group prices and it would be nice to be able to set a price for all groups. That way we can set a price differently on one site vs another one.
... View more
Feature request from chasteIT, posted on GitHub Mar 26, 2015
Can we get a Magento2 demo of the frontend and admin (with sample data) that is updated?
This would enable many people who can’t install the platform to contribute feature requests and requests for improvements. There are many frontend developers and merchants who would have great suggestions for Magento2 development, and getting those requests sooner rather than later would help Magento2 developers prioritize items, combine similar projects, etc.
Also, I think the more technically capable among us would benefit from having a functioning install for comparison purposes.
Lastly, if this demo is updated regularly, it would be a great place to showcase Magento2 progress. That is, each update could list of changes like a simplified version of Magento's release notes.
... View more