Magento 2 allows developers test their code (unit, integration ... ). I have noticed that It is not common among developers to wirte tests (small amount questions in froums). I think that separating programming question from test related questions would bringing testing more out and might increase its popularity.
... View more
See more ideas labeled with:
I need to make a discount by producto when users buy Only 10 . But the discount is also aplyed when user buys 11. How can i solve this?
... View more
Let me give some reasons as to why you'd want to release more often than you do today: a) bugfixes take a very long time to reach mainstream, frustrating users; this is one of the many commits I've yet to see in official releases: link; currently, this is the main reason M2 gets on the bad side of people; b) because of the above, there's a continuous pressure from us - the users -, to actually ship the bugfixes; that can't be good for your health, M2 core devs; c) new features take a long time to release, making the userbase move to friggin' WP-Commerce, because boredom; d) such long release cycles means that a big amount of code is added to the mainline at once, which makes for a very unstable/dangerous upgrade process every. blasted. time; I've yet to see the developer who can't wait to upgrade the M2 codebase of an ongoing project; e) everybody's doing it, and it works for them (from the Linux kernel, to the main browsers); I'm sure it can work for M2, as well. You've been improving, merging more community PRs. Great. But can you please release them, too? PS: Ending on a fun note, this is the worst forum app I've seen lately. ;)
... View more
See more ideas labeled with:
present di.xml file contains preferences,plugins,types,virtualtypes.i think its better to create separate file for each concept. advantages: present no idea.i will try to figure it out.just suddenly i got idea like this.because magento following for other xml files like this.for example routes.xml,events.xml.
... View more
See more ideas labeled with:
There should option in admin end, where the store owner can enable upload functionality in forms like create account form, product review form and contact us form. Also it should have the option of selecting what types of files can uploaded. This can improve the user engagement.
... View more
See more ideas labeled with:
Magento 2 REST API get website_ids for product Please provide additional GET REST API method on catalogProductWebsiteLinkRepositoryV1 to allow us to retrieve the website_ids for an sku. Or instead include the website_ids for an sku in catalogProductRepositoryV1 get /V1/products/{sku}
... View more
Products ordered report does not show simple (child) products of configurable products When I run the "Products Ordered" report in Magento 2, configurable products show up as a single product, where the sales of all its child products were summed up. (example: if I sell chocolate bunnies in milk, dark and ivory I don't see sales for each of those chocolate types; I only see a total for all chocolate bunnies sold). Is there a way to change this so that only the child (simple) products are shown in the report with their sold quantities? We are currently using version 2.0.7 community edition.
... View more
See more ideas labeled with:
Hi, I've see as of April 7, 2017 that Magento is rolling out a B2B Cloud for the Enterprise edition. I wonder if this is being considered, or some iteration, for the Community edition? I think this would be a great addition.
... View more
See more ideas labeled with:
Feature request from samc2810, posted on GitHub Jul 05, 2016
I asked this question in the community already but no one seems to know the solution. so I ll try my luck here:
Magento 1 had a very cool feature that one could configure store-config in the app/etc/local.xml instaed of the DB. e.g.
<stores>
<admin>
<web>
<unsecure>
<base_url>http://admin.localhost.de/</base_url>
</unsecure>
<secure>
<base_url>http://admin.localhost.de/</base_url>
</secure>
</web>
</admin>
<de>
<web>
<unsecure>
<base_url>http://store-de.localhost.de/</base_url>
</unsecure>
<secure>
<base_url>http://store-de.localhost.de/</base_url>
</secure>
</web>
</de>
<en>
<web>
<unsecure>
<base_url>http://store-en.localhost.de/</base_url>
</unsecure>
<secure>
<base_url>http://store-en.localhost.de/</base_url>
</secure>
</web>
</en>
</store>
is there any way to achieve this in M2? The reason is that we want to use the same DB for our dev and local systems. but, it seems that one can save the base_url in the db only.
Thanx and Cheers
Sam
... View more
Feature request from CNanninga, posted on GitHub Oct 28, 2015
Because the primary product list template contains all HTML for each product directly in the loop within this template, this means that the ability for a module to inject additional content for each product usually requires overriding this entire template.
Several hooks should be provided within the main loop of app/code/Magento/Catalog/view/frontend/templates/product/list.phtml to allow for this kind of content injection. (Such as "before" and "after" hooks for logical pieces of the product presentation, such as image, name, etc.)
See the product list template in the rwd/default theme of Magento 1 for an example. The core text list "name.after" was added to this block, and within the template all children of "name.after" are looped through, the individual product set on them, and their HTML output.
Something similar would achieve the appropriate purpose in M2. Containers for each of these "hooks" would be the appropriate choice. The solution differs from the above example from M1 in a couple of respects:
1) The logic of looping through the core text list children and setting the appropriate data was never best contained within the template in the first place. It would be cleaner were this logic contained in a block method.
2) Containers, not being objects, don't offer a direct way to retrieve their child block objects and manipulate the data on them before outputting (that I know of).
What I suggest is a generic way for specifying data that should be set on child blocks when they are being output. Thus these hooks could be output within the product list loop something like this:
echo $block->getChildHtml('before_name_container', true, array('product' => $_product))
But this would require modifications to the signatures of, or creating other versions of, Magento\Framework\View\Element\AbstractBlock::getChildHtml, Magento\Framework\View\Layout::renderElement, Magento\Framework\View\Layout::renderNonCachedElement, etc. So before working on a pull request to introduce any such changes, I wanted to open this issue for discussion. Is this on the right track, or are there other suggestions for a way to achieve this objective?
... View more
Feature request from sbrendtro, posted on GitHub Mar 24, 2017
Opening this issue, referencing #7983, as it still needs to be properly addressed.
Whenever there is a decline of any sort from Braintree, the message is not passed back to the user. Rather, the end user simply sees "An error occurred on the server. Please try to place the order again." This makes no sense, as it wasn't a server error... it was a processor decline of some sort.
We have seen this issue for "Invalid Credit Card Number", "Voice Authorization Required", and others. Pretty much any time Braintree doesn't approve the transaction, it will look like a server error to the end user. This needs to be fixed. I would do it myself, but I am having trouble figuring out exactly where in the code to override the response.
As @joni-jones mentioned, "Magento provides only high-level errors by design it allows to make an application more secure." This may be true, but telling the end user that the error is on the server, rather than an issue with the card they provided, is not acceptable. We're losing enough business over this that we're already looking at switching to another payment gateway.
Steps to Reproduce
Check out with Braintree payment option
Give any payment info that will cause a decline
Expected Result
Either:
The response message directly from Braintree. (While this may not be the best error message 100% of the time, it certainly is better than the current error shown to the user.) This should come from the Braintree response object (response->params->message)
'The payment method was declined. Please check your payment details.' (If a generic message is indeed preferable, as @jani-jones mentioned in #7983)
... View more
Currently the rest API doesn't send a websiteId attribute when you request a product.This would be really usefull for developers.
... View more
Mag V2 is missing the magentoInfo method that is available in Mag V1 APIs. Please add this to Mag V2 REST and SOAP APIs. It is necessary for feature validation when writing third party integrations.
... View more
When i have two classes. One extending the other. class Foo {
//Some code
}
class Bar extends Foo {
//Some other code
} It's common practice to pass Bar instance to functions that requires instance of Foo. For example: magicFunction(Foo $instanceOfFoo){
....
}
$instanceOfBar = new Bar();
$result = magicFunction($instanceOfBar); But, auto-generated factory of Bar doesn't extend from Foo autogenerated factory, so you can't do this: magicFunction(FooFactory $instanceOfFooFactory){
....
}
$instanceOfBarFactory = new BarFactory(....);
$result = magicFunction($instanceOfBarFactory); I think that auto-generated factory of class, that extends some other class, should extend the other class factory as well.
... View more
See more ideas labeled with:
While there are multiple threats a modern Magento application faces, one of the weakest from a security standpoint is the ability to run arbitrary commands without application level authentication via the command line. It seems to me the bin/magento command should require a user to be authenticated with the Magento application prior to execution of a command for a fully installed system. Whether that is achieved via user/pass or other method is up for discussion, just as long as the CLI was treated similarly to the web from an authentication point of view. I understand that there are many ways to discount the need for such a feature, but given the power of the bin/magento command (and n98-magerun2) it seems prudent to authenticate (and log) actions. This might be enforced at the framework / API level in order to help shell / CLI commands and n98-magerun inherit the same security stance. Adding additional devdocs / publishing best practices on security hardening a Magento installation would also be nice to see. Thank you for listening, Hardy Johnson Technical Lead Copious, Inc. hardyj@copiousinc.com
... View more
Magento 2 2-step checkout is very limiting for stores who want/need to add content. For example, we have many shipping methods and upgrade options to choose from that require explanation. The Magento 2 platform simplifies the checkout so much that my Address/Shipping Methods page will be very long and complicated. It would be much more accommodating for both store owners and end-users if Addresses, Shipping Methods and Payment info were separated into 3 different pages (and with the ability to add content header and footers) to allow for directions, time tables and shipping advice. Customers need information to decide whether or not they will place their order - for example and most importantly - to know when they will get their order.
... View more
Right now, if there is an error during the setup:di:compile process, all those errors are displayed in the output of the command-line.
Those errors are displayed with red background and they are repeated multiple times.
It would be great if we can see just the message that there were errors during compilation.
In addition to that, we could see the path to the log file and the number of errors that have been logged.
That would keep the command-line output clean, and the error information in a log file to debug.
... View more
See more ideas labeled with:
Feature request from spipu, posted on GitHub Feb 28, 2017
Hi,
I generate the di with the following command :
bin/magento setup:di:compile
If a error occurs, it display the reflexion error, but it does not give the name of the class that has the error.
Example: just change the asked type of a parameter of any constructor class to one type that does not exist, and launch the di compilation. You will have that kind of error:
[ReflectionException]
Class Smile\Map\Model\Map\string does not exist
The verbose mode does not help.
A good think could be to change this line:
https://github.com/magento/magento2/blob/2.1/lib/internal/Magento/Framework/Code/Reader/ClassReader.php#L36
by this one:
$message = $e->getMessage().' on ['.$className.']';
Regards,
Laurent
... View more
Problem is when thirdparty system wanted to update product's inventory then they require to send API call to update each products. So it calls cache flush method everytime that uses too much memory if thirdparty wanted to update 100o skus. So I would suggest if have API call to update stock inventory which accepts skus in batch then it saves CPU memory.
... View more
From what I can see, the emails sent using the "Send this product to a friend" functionality are the only emails in which the customer can set an arbitrary "From" email address. I propose that the "From" email is a pre-configured Magento email identity, in keeping with all other usages of the email framework. This will allow 3rd party email deliverability services such as SendGrid, & Mandrill to deliver the email, as most services require correct SPF/DKIM records for sending domains. I'm sure it would have a positive effect on spam filters as well. We can set the "Reply-To" mail header to the customer's email address, to allow replies to continue as usual. I'm happy to create a pull request for this functionality, if desired.
... View more
See more ideas labeled with: