Showing ideas with status New.
Show all ideas
Feature request from alankent, posted on GitHub Jan 30, 2015
The complete suite of Magento developer documentation will consist of content from multiple sources. There are guides that the documentation writing team are developing (such as at http://devdocs.magento.com), more traditional online documentation generated from PHP Doc comments, and potentially other automatically generated documentation on REST/SOAP APIs and similar.
This issue is an invitation for the community to help with the PHP Doc aspect of documentation generation. There are several aspects to this work:
Try some different tools to see which are best able to support Magento. This relates to usability of output, speed and robustness of the tool, etc.
One proposal is to not generate documentation for all classes, but instead restrict the published documentation to only those classes and methods that the Magento team recommends being used. Such classes and methods could be annotated by “@api”. As such, it is desirable for the tool to be able to use @api as a flag of what to include in the generated output. This may involve modifying an existing tool as there may be no PHP Doc generation tools today that support this functionality.
Support for official Magento branding is also important. The core team can apply this branding (most likely following the same style and themes as the current documentation site). The objective is to take into account this requirement when selecting which tool to use.
Incorporation of documentation generation into the current documentation publishing on GitHub is desirable, but not mandatory.
An interesting future question is whether content developed by tech writers and PHP generated documentation can be merged. For example, having sample code linked to from the PHP Doc, or having links from guides to PHP Doc (without hard coding URLs to a specific web site). It is desirable to generate a single set of documentation that included both PHP Doc and guides.
In general, the goal is to get something up relatively quickly and deliver a useful short term result, restricted to PHP Doc. To set expectations, it may be this tool is temporary until replaced by a more encompassing solution for all documentation.
The goal is to lower the barrier to people exploring the Magento 2 code base today. Once the PHP Doc documentation is published, a desirable side effect is to then encourage greater contribution to improve the quality of the PHP Doc comments within the code base.
... View more
Feature request from airbone42, posted on GitHub Feb 16, 2015
Hi,
I just stumbled over the createObject function which has a massive switch to decide how an object should be created, depending on the amount of arguments.
switch (count($args)) {
case 1:
return new $type($args[0]);
case 2:
return new $type($args[0], $args[1]);
case 3:
return new $type($args[0], $args[1], $args[2]);
case 4:
return new $type($args[0], $args[1], $args[2], $args[3]);
case 5:
return new $type($args[0], $args[1], $args[2], $args[3], $args[4]);
case 6:
return new $type($args[0], $args[1], $args[2], $args[3], $args[4], $args[5]);
case 7:
return new $type($args[0], $args[1], $args[2], $args[3], $args[4], $args[5], $args[6]);
case 8:
return new $type($args[0], $args[1], $args[2], $args[3], $args[4], $args[5], $args[6], $args[7]);
case 9:
return new $type(
$args[0], $args[1], $args[2], $args[3], $args[4], $args[5], $args[6], $args[7], $args[8]
);
case 10:
return new $type(
$args[0], $args[1], $args[2], $args[3], $args[4], $args[5], $args[6], $args[7], $args[8], $args[9]
);
case 11:
return new $type(
$args[0],
$args[1],
$args[2],
$args[3],
$args[4],
$args[5],
$args[6],
$args[7],
$args[8],
$args[9],
$args[10]
);
case 12:
return new $type(
$args[0],
$args[1],
$args[2],
$args[3],
$args[4],
$args[5],
$args[6],
$args[7],
$args[8],
$args[9],
$args[10],
$args[11]
);
case 13:
return new $type(
$args[0],
$args[1],
$args[2],
$args[3],
$args[4],
$args[5],
$args[6],
$args[7],
$args[8],
$args[9],
$args[10],
$args[11],
$args[12]
);
case 14:
return new $type(
$args[0],
$args[1],
$args[2],
$args[3],
$args[4],
$args[5],
$args[6],
$args[7],
$args[8],
$args[9],
$args[10],
$args[11],
$args[12],
$args[13]
);
case 15:
return new $type(
$args[0],
$args[1],
$args[2],
$args[3],
$args[4],
$args[5],
$args[6],
$args[7],
$args[8],
$args[9],
$args[10],
$args[11],
$args[12],
$args[13],
$args[14]
);
default:
$reflection = new \ReflectionClass($type);
return $reflection->newInstanceArgs($args);
}
So PHP 5.6 added a new operator, also named the splat operator in other languages to unpack arguments, so whenever you decide to change the min. version to 5.6 this massive switch could be replaced by this simple line:
return new $type(...$args);
... View more
Feature request from matinict, posted on GitHub Aug 26, 2015
magento 2 customer address Bangladesh State/Province/District not showing as like as United States.
I add Manually on database as :
For District:
INSERT INTO directory_country_region ( country_id , code , default_name ) VALUES
('BD', 'BD-BAG', 'Bagerhat'),
('BD', 'BD-BAN', 'Bandarban'),
('BD', 'BD-BAR', 'Barguna'),
('BD', 'BD-BRI', 'Barisal'),
('BD', 'BD-BHO', 'Bhola'),
('BD', 'BD-BOG', 'Bogra'),
('BD', 'BD-BRA', 'Brahmanbaria'),
('BD', 'BD-CHA', 'Chandpur'),
('BD', 'BD-CHI', 'Chittagong'),
('BD', 'BD-CHU', 'Chuadanga'),
('BD', 'BD-COM', 'Comilla'),
('BD', 'BD-COX', 'Coxs Bazar'),
('BD', 'BD-DHA', 'Dhaka'),
('BD', 'BD-DIN', 'Dinajpur'),
('BD', 'BD-FAR', 'Faridpur'),
('BD', 'BD-FEN', 'Feni'),
('BD', 'BD-GAI', 'Gaibandha'),
('BD', 'BD-GAZ', 'Gazipur'),
('BD', 'BD-GOP', 'Gopalganj'),
('BD', 'BD-HAB', 'Habiganj'),
('BD', 'BD-JAM', 'Jamalpur'),
('BD', 'BD-JES', 'Jessore'),
('BD', 'BD-JHA', 'Jhalokati'),
('BD', 'BD-JHE', 'Jhenaidah'),
('BD', 'BD-JOY', 'Joypurhat'),
('BD', 'BD-KHA', 'Khagrachhari'),
('BD', 'BD-KHU', 'Khulna'),
('BD', 'BD-KIS', 'Kishoreganj'),
('BD', 'BD-KUR', 'Kurigram'),
('BD', 'BD-KUS', 'Kushtia'),
('BD', 'BD-LAK', 'Lakshmipur'),
('BD', 'BD-LAL', 'Lalmonirhat '),
('BD', 'BD-MAD', 'Madaripur'),
('BD', 'BD-MAG', 'Magura'),
('BD', 'BD-MAN', 'Manikganj'),
('BD', 'BD-MEH', 'Meherpur'),
('BD', 'BD-MOU', 'Moulvibazar'),
('BD', 'BD-MUN', 'Munshiganj'),
('BD', 'BD-MYM', 'Mymensingh'),
('BD', 'BD-NAO', 'Naogaon'),
('BD', 'BD-NAR', 'Narail'),
('BD', 'BD-NRG', 'Narayanganj'),
('BD', 'BD-NRS', 'Narsingdi'),
('BD', 'BD-NAT', 'Natore'),
('BD', 'BD-NAW', 'Nawabganj'),
('BD', 'BD-NET', 'Netrakona'),
('BD', 'BD-NIL', 'Nilphamari '),
('BD', 'BD-NOA', 'Noakhali'),
('BD', 'BD-PAB', 'Pabna'),
('BD', 'BD-PAN', 'Panchagarh'),
('BD', 'BD-PAT', 'Patuakhali'),
('BD', 'BD-PIR', 'Pirojpur'),
('BD', 'BD-RAJ', 'Rajbari'),
('BD', 'BD-RJB', 'Rajshahi'),
('BD', 'BD-RAN', 'Rangamati'),
('BD', 'BD-RNP', 'Rangpur'),
('BD', 'BD-SAT', 'Satkhira'),
('BD', 'BD-SHA', 'Shariatpur'),
('BD', 'BD-SHE', 'Sherpur'),
('BD', 'BD-SIR', 'Sirajganj'),
('BD', 'BD-SUN', 'Sunamganj'),
('BD', 'BD-SYL', 'Sylhet'),
('BD', 'BD-TAN', 'Tangail'),
('BD', 'BD-THA', 'Thakurgaon');
INSERT INTO directory_country_region_name ( locale , region_id , name )
SELECT 'en_US', tmp.region_id, tmp.default_name FROM directory_country_region
AS tmp WHERE tmp.country_id='BD';
... View more
Feature request from mage2pro, posted on GitHub Sep 19, 2015
See https://github.com/magento/magento2/blob/444e252d40b3a5d5cca3468a9819743af8ed3513/app/code/Magento/Backend/view/adminhtml/templates/widget/grid.phtml#L54-L56
https://github.com/magento/magento2/blob/444e252d40b3a5d5cca3468a9819743af8ed3513/app/code/Magento/Backend/view/adminhtml/templates/widget/grid/extended.phtml#L65-L67
Surely Magento 2 must distinguish the singular and plural cases.
... View more
Feature request from mage2pro, posted on GitHub Sep 21, 2015
The dropdown «Page Layout» on admin category page is untranslatable due to Magento 2 core bug:
My fix: https://mage2.pro/t/74
... View more
Feature request from mage2pro, posted on GitHub Sep 22, 2015
You can translate order statuses manually in «Stores» → «Order Status» admin section.
But it is inconvenient because:
you must do it manullay for each new Magento installation
it works for a single language but does not work for multistore Magento installation with multiple languages.
My fix for automatical translation: https://mage2.pro/t/76
... View more
Feature request from wojtekn, posted on GitHub Sep 21, 2015
There is a class \Magento\Catalog\Setup\CategorySetup which takes care of setup for catalog_product and catalog_category entities.
This name is confusing and better name would be CatalogSetup .
... View more
Feature request from mage2pro, posted on GitHub Nov 20, 2015
As I understand, the preference should be avoided, and in 99% cases a usage of preference is an extension's developer fault (a lack of skill with plugins, observers, and other techniques) and in the remain 1% cases it is Magento 2 core fault (for example, if the problem core method is static or protected and there is no other way to change the system behaviour, see https://github.com/magento/magento2/issues/2265#issuecomment-154351312 and https://github.com/magento/magento2/issues/2202#issuecomment-151599087).
Anyway, I think, the system should warn the administrator that the installation could break other extensions.
... View more
Feature request from simbus82, posted on GitHub Nov 19, 2015
Magento 2 stable.
If i'm editing a new product and go to "add video", if i have not entered a YouTube API Key, when i click this link, magento load the configuration page and i lose all data entered in the new product.
This link need to:
open in a news windows/tab
or
notify that i'm leaving a not saved products
or
save product that i'm editing and go to configuration page.
Thanks
... View more
Feature request from markoshust, posted on GitHub Sep 10, 2015
If you go to Admin > Reports > Customers > New, and just click Refresh, it appears to show all dates from 1/1/01 to present.
It shows a row for each date, whether or not there is data for this date. Since I only have one customer record:
it is showing me 5477 unneeded rows. I believe this page would render a lot quicker and be easier to read if it just showed you the rows that have data. It may also be a good idea to default the "Refresh" button to a tighter time span, such as YTD.
... View more
Feature request from rklerck, posted on GitHub Sep 09, 2015
We've added 85000 products with rest, this takes 14 hours. This seems fair because of a request for each product. But when we remove the products all at once in the backend, it takes 28 hours!!
... View more
Feature request from markoshust, posted on GitHub Dec 09, 2015
Current action:
I can click Submit Order without selecting a shipping method.
Desired action:
I should not be able to click Submit Order until a shipping method is selected.
Additional Notes:
If a shipping method is selected, I do receive an error after the form submission that a shipping method wasn't selected. However, this is undesired as it requires a full page refresh and resubmission.
v2.0.0
... View more
Feature request from Flyingmana, posted on GitHub Sep 20, 2015
while we already have an Interface for Blocks ( BlockInterface ), there is still a place, which enforces usage of the abstract Block class ( \Magento\Framework\View\Element\AbstractBlock ).
https://github.com/magento/magento2/blob/develop/lib/internal/Magento/Framework/View/Layout/Generator/Block.php#L261-L265
While its not a problem to extend from there, I think it is not necessary for all Blocks
... View more
Feature request from vesan-83, posted on GitHub Jan 13, 2016
Actually this problem is actual for Magento 1 but I see it's still not fixed for Magento 2.
Refresh index is based on queue which is filled by triggers which adds entities to the queue even if entity values were not updated.
Lot of projects have custom modules like product import and other modules which do something with product attributes, for example, disable products without images so that SQL query match many rows but change only few of them so that triggers can generate queue faster than refresh index manage it.
It can be fixed easily by adding to the triggers "IF !(NEW.value <=> OLD.value)" condition.
... View more
Feature request from mc388, posted on GitHub Mar 14, 2016
Steps to reproduce
Install Magento v2.0.2
Create a new API method
Change method phpdoc from @return \Magento\Sales\Api\Data\OrderInterface Order interface to @return OrderInterface Order interface and add a use statement for Magento\Sales\Api\Data\OrderInterface
Call the new API method
Expected result
API should return an OrderInterface object
Actual result
Class OrderInterface does not exists
I think the issue is in Magento\Framework\Reflection\TypeProcessor->getGetterReturnType . You just read the @return flag but ignore the use statement.
... View more
Feature request from ihor-sviziev, posted on GitHub Aug 23, 2016
I have CORS requests issue with fonts when I using CDN. In order to fix it I'm changing my .htaccess. During deployment I do composer install. After that my changes were reverted.
Preconditions
Magento 2.1.0 installed via composer
Base Static URL is CDN domain (CloudFront in my case)
Steps to reproduce
Install Magento 2 via composer
Change your file pub/static/.htaccess (as example add Header set Access-Control-Allow-Origin "*" )
Remove vendor directory
Do composer install
Expected result
My pub/static/.htaccess file should not be overridden.
Actual result
My pub/static/.htaccess file is overridden and my changes were reverted.
Possible solutions:
Do not add this file to map listing in composer.json of magento2-base package, move it to magento/product-community-edition package
Add ability to override htaccess
... View more
Feature request from zhiyicai, posted on GitHub Jul 21, 2016
The JPG compression on Magento 2.1 is very strong, so that the quality of product images get really bad in Catalog and Product view. How can I change the Image compression for JPG's in Magento 2.1 ?
... View more
Feature request from vesan-83, posted on GitHub Aug 18, 2016
"composer install" command overwrite modifications in mapped files (files from composer.json -> extra.map node of magento/magento2-base module).
Preconditions
Magento 2.1.0
Steps to reproduce
Clone the project where any of mapped file is customized e.g. pub/index.php or dev/tools/grunt/configs/themes.js
Run "composer install"
Expected result
Customized file will stay customized so that "composer install" will not touch existing files.
Actual result
Customized file is replaced by default one
... View more