Feature request from aholovan, posted on GitHub Aug 23, 2016
Looks like 'elementNameType' validator is very strict. I've got an exception in dev mode:
0 (Magento\Framework\Config\Dom\ValidationException): Element 'block', attribute 'name': [facet 'pattern'] The value '4d072daa2b95b9d3fd3995d2faaf2993' is not accepted by the pattern '[a-zA-Z][a-zA-Z\d-_.]*'.
Line: 645
... View more
Feature request from aleron75, posted on GitHub Jun 13, 2016
This is a nice to have requirement born from poking with Magento 2 runtime: there isn't an AppInterface implementation for PHP scripts using Magento runtime.
Indeed the bin/magento is a SymfonyApplication and doesn't implement the AppInterface .
Here is the article which originated this thought: http://aleron75.com/2016/06/10/let-s-poke-with-magento-2-runtime/
Thank you!
... View more
Feature request from flancer64, posted on GitHub Jun 15, 2016
Hello,
there is protected property "select" in AbstractSearchResult that is never used
/**
* @var \Magento\Framework\DB\Select
*/
protected $select;
... and there is 'query' property in the constructor that is not defined:
public function __construct(
\Magento\Framework\DB\QueryInterface $query,
...
) {
$this->query = $query;
...
}
I suppose this code:
/**
* @var \Magento\Framework\DB\Query
*/
protected $query;
should be instead of 'select' property.
... View more
Feature request from Marko-M, posted on GitHub Aug 16, 2016
Preconditions
Magento 2 version 2.1.0
Use \Magento\Framework\Url::getUrl() from secure area of the store
Steps to reproduce
Make sure code is executed in secure area of the store (HTTPS)
Generate URL in code
/**
* @var \Magento\Framework\Url
*/
protected $url;
...
$this->url->getUrl(
'test/test/test',
[
'_secure' => false
]
)
Resulting URL is https://example.com/test/test/test
Expected result
Make sure code is executed in secure area of the store (HTTPS)
Generate URL in code
/**
* @var \Magento\Framework\Url
*/
protected $url;
...
$this->url->getUrl(
'test/test/test',
[
'_secure' => false
]
)
Resulting URL is http://example.com/test/test/test
Reason behind such behavior is:
https://github.com/magento/magento2/blob/2.1.0/lib/internal/Magento/Framework/Url.php#L364-L366
where code assumes that if current request is secure, requested url should be secure as well, regardless to '_secure' parameter saying otherwise.
... View more
Feature request from SamTay, posted on GitHub Apr 13, 2016
Product::isInStock is misleading. This does not check if product is in stock, but just checks if enabled.
Product::getQty does not look for qty key in the correct place. Perhaps in some parts of the app, qty is set on the Product::_data array directly, but my screenshot shows that this is not the case in the product/price/amount/default.phtml template. Because this is the implementation of the SaleableInterface, this is a problem for abstraction.
... View more
Feature request from zinittest, posted on GitHub Apr 25, 2016
Steps to reproduce
Create CSV file for customer import with gender fields filled with valid values (Male, Female, ...).
Choose "Customers Main File", "Add/Update Complex Data" options.
Import data.
Expected result
Gender data is properly saved.
Actual result
None of imported customers have gender info saved. DB fields in customer_entity . gender column are filed with zeroes or nulls.
P. S. Probably error occurs because gender data are not replaced with corresponding constant values on data preparation step (https://github.com/magento/magento2/blob/develop/app/code/Magento/CustomerImportExport/Model/Import/Customer.php#L403), so system is trying to insert string values to DB column of integer type. I was able to import gender data with following ugly piece of code inserted before new customer check https://github.com/magento/magento2/blob/develop/app/code/Magento/CustomerImportExport/Model/Import/Customer.php#L406:
if (false !== strpos($entityRow['gender'], 'Male')) {
$entityRow['gender'] = 1;
} elseif (false !== strpos($entityRow['gender'], 'Female')) {
$entityRow['gender'] = 2;
} else {
$entityRow['gender'] = 3;
}
Of course it requires more proper fix.
... View more
Feature request from paales, posted on GitHub May 04, 2016
https://github.com/magento/magento2/blob/develop/app/code/Magento/Catalog/Block/Product/View/Options/Type/Select.php
It currently renders the HTML in the block, would be nice if is rendered in a template. That would make customization a lot easier.
... View more
Feature request from pynej, posted on GitHub May 05, 2016
We have everything configured and can see the approval response from PayFlow in the debug log, but the fronted/spiny wheel never goes away an no order is ever created.
No errors or the logs or in the browser console.
Here is the approval response in the log:
'request' =>
array (
'user' => '****',
'vendor' => '****',
'partner' => '****',
'pwd' => '****',
'verbosity' => 'HIGH',
'BNCODE' => 'Magento_Cart_Community',
'tender' => 'C',
'trxtype' => 'A',
'amt' => 0,
'createsecuretoken' => 'Y',
'securetokenid' => '108d7c2cecc18c90046869377181****',
'returnurl' => 'https://crowehorwath.superior.org/paypal/transparent/response/',
'errorurl' => 'https://crowehorwath.superior.org/paypal/transparent/response/',
'cancelurl' => 'https://crowehorwath.superior.org/paypal/transparent/cancel/',
'disablereceipt' => 'TRUE',
'silenttran' => 'TRUE',
'firstname' => 'Jeremy',
'lastname' => 'Pyne',
'street' => '****',
'city' => 'Kentwood',
'state' => 'MI',
'zip' => '49512',
'country' => 'US',
'email' => 'jpyne@****',
'shiptofirstname' => 'Jeremy',
'shiptolastname' => 'Pyne',
'shiptostreet' => '****',
'shiptocity' => 'Kentwood',
'shiptostate' => 'MI',
'shiptozip' => '49512',
'shiptocountry' => 'US',
),
'result' =>
array (
'result' => '0',
'securetoken' => 'Plgu0x5uu60Krhc0Km3IL****',
'securetokenid' => '108d7c2cecc18c90046869377181****',
'respmsg' => 'Approved',
'result_code' => '0',
),
I'v tried in test and production, with precompiled code and without, in developer mode and production. No luck and no errors anywhere.
Running Magento 2.0.4, Apache 2.4, PHP 5.6.20.
... View more
Feature request from flancer64, posted on GitHub Jun 08, 2016
Hello,
I create new stock object in case there is no stock with given ID (I know that ID is autoincremented value, this is code to create test data):
try {
/** @var \Magento\CatalogInventory\Api\StockRepositoryInterface $mageRepoStock */
$stock = $mageRepoStock->get(self::DEF_STOCK_ID);
} catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
/** @var \Magento\Framework\ObjectManagerInterface $manObj */
$stock = $manObj->create(\Magento\CatalogInventory\Model\Stock::class);
$stock->setStockId(self::DEF_STOCK_ID); // this string should be removed to create new object
} finally {
$stock->setStockName('Stock Name');
$mageRepoStock->save($stock);
}
There is no errors in this code and no new object is created. New object will be created if I remove following string from code:
$stock->setStockId(self::DEF_STOCK_ID);
I debugged code and found that updateObject is called instead of saveNewObject in \Magento\Framework\Model\ResourceModel\Db\AbstractDb::save method:
if ($this->isObjectNotNew($object)) {
$this->updateObject($object);
} else {
$this->saveNewObject($object);
}
This is a code for isObjectNotNew :
protected function isObjectNotNew(\Magento\Framework\Model\AbstractModel $object)
{
return $object->getId() !== null && (!$this->_useIsObjectNew || !$object->isObjectNew());
}
I suppose we need additional validation in isObjectNotNew method or we need a error message.
OK, I will remove the ID setter from code but this behavior is not expected - no result and no error.
... View more
Feature request from wienczny, posted on GitHub Jun 13, 2016
According to the Swagger documentation "extension_attributes" is a reference to an attributes object. If there are no extension attributes the API returns an empty array [] . This is illegal according to the Swagger documentation. It has to be either null if there is no object attached or an object {} .
I found this using the Java Swagger client and a product request:
{
"id": 1,
"sku": "test",
"name": "Test",
"attribute_set_id": 4,
"price": 12,
"status": 1,
"visibility": 4,
"type_id": "simple",
"created_at": "2016-04-30 11:02:24",
"updated_at": "2016-06-10 12:47:19",
"weight": 5,
"extension_attributes": [],
"product_links": [],
"options": [],
"media_gallery_entries": [],
"tier_prices": [],
"custom_attributes": [
{
"attribute_code": "meta_title",
"value": "Test"
},
{
"attribute_code": "meta_keyword",
"value": "Test"
},
{
"attribute_code": "meta_description",
"value": "Test "
},
{
"attribute_code": "category_ids",
"value": [
"2",
"3"
]
},
{
"attribute_code": "options_container",
"value": "container2"
},
{
"attribute_code": "required_options",
"value": "0"
},
{
"attribute_code": "has_options",
"value": "0"
},
{
"attribute_code": "url_key",
"value": "test"
},
{
"attribute_code": "tax_class_id",
"value": "2"
}
]
}
I had to modify the swagger definition because of #2310 to get this far.
... View more
Feature request from mackelito, posted on GitHub Jun 09, 2016
Steps to reproduce
Add items to the cart thru the rest API and inspect the result of the xhr
Expected result
Response should be the cart. Same as when requesting '/rest/V1/guest-carts/29c8ee939e3a6146518e7340dfef75eb/totals'
Actual result
The response is the product that we just added. eg:
{"item_id":52,"sku":"MH01-XS-Black","qty":1,"name":"Chaz Kangeroo Hoodie-XS-Black","price":52,"product_type":"simple","quote_id":"569"}
--
If we don´t get the totals as response we need to make twice as many requests..
One for adding item to the cart and then
One to get the cart totals.
It would be way smoother to get the cart totals as the response when adding to the cart.
... View more
Feature request from grasdaggel, posted on GitHub Jun 10, 2016
We need to delete the whole pub/static/frontend-folder if we want to have CSS changes and stuff available on the site.
So we do the following:
$ rm -rf var/cache/ var/generation/ var/page_cache/ pub/static/
$ php-cli bin/magento setup:upgrade
$ php-cli bin/magento setup:static-content:deploy de_DE
Here comes the problem. If you delete the backend folder in pub/static Magento tries to allocate the requested URL (i.e. login page for backend) for the en_US language, even if the only user in the backend has selected that his main language is de_DE.
Magento simply tries to access files that are not there and that are not needed to be compiled (in our case: German). There should be an setting in the backend that sets the main language for the whole store to a specific language which get then called by default. This prevents unnecessary white pages.
... View more
Feature request from karanbhomiagit, posted on GitHub Jun 29, 2016
Steps to reproduce
Install Magento from develop branch.
Try creating a simple product by making a call to REST API POST /V1/products.
[Example]
{ "product": { "sku": "atoi-item", "name": "atoi-item", "status": "1", "type_id": "simple", "visibility": "4", "attribute_set_id": "4", "price": "3", "custom_attributes": [ { "attribute_code": "description", "value": "descreeeeeeption" }, { "attribute_code": "category_ids", "value": [ "1", "2" ] } ] } }
I get a response : Status code 400.
Body : {
"message": "Unable to save product"
}
Expected result
Error message in the response body should be more specific.
There are so many field values that are required to be set on the request JSON, there is no way for the person making the request to identify where the request went wrong.
Actual result
[Example] Error message appears: "Unable to save product".
... View more
Feature request from paales, posted on GitHub Jul 29, 2016
Preconditions
Magento 2.1.0
Steps to reproduce
Setup 50 stores, with 50 seperate root categories with each their own subcategories.
Import products using the importer, 200 should be enough
Expected result
It does a little bit less than 14000 queries for 200 products ;)
Actual result
[Screenshot, logs]
... View more
Feature request from tkn98, posted on GitHub Jul 28, 2016
Array keys cast to integer on string SKUs that could represent a PHP integer, however the Mysql comparison is string based for which - to prevent a cast in Mysql - it needs string quotes. These string quotes then need again the $sku as string.
This is fixed by casting to string.
Background: If you import many records with SKU that are numeric strings, Mysql performance is impacted negatively.
... View more
Feature request from fooman, posted on GitHub Aug 05, 2016
UI Components are not easy to use - for an intro see http://alanstorm.com/magento_2_introducing_ui_components
... View more
Feature request from allanpaiste, posted on GitHub Aug 04, 2016
Currently it's not possible to create an 'image' EAV attribute for category as the code in many places has been hardcoded to talk only with attribute that is explicitly been named 'image'.
This PR addresses that problem by steering the code towards more generic approach to the whole situation by detecting all matching attributes via backendModel check.
Related issue: https://github.com/magento/magento2/issues/5438
... View more
Feature request from ednacool, posted on GitHub Aug 04, 2016
Special Price From Date to Date not coming on configurable products at backhand i wanna show deal price via this but unfortunately this is not coming Magento ver 2.1.0
... View more