magento / community-features Goto Github PK
View Code? Open in Web Editor NEWMagento Features Development is an Initiative to Allows Community Memebers Join to Development of Magento Features
Magento Features Development is an Initiative to Allows Community Memebers Join to Development of Magento Features
Original Report: magento/magento2#12634 by @magento-engcom-team
Original Report: magento/magento2#8501 by @umang-ranium
Originally recorded in MAGETWO-87804
Requires Merchant Documentation: Yes
Proposed Release Note:
This feature allows merchants to reindex specific indexes from the Admin Panel. Before this feature, reindexing was only possible from the command line.
π‘ Initial feedback for story provided by Solution Partner Something Digital
As a merchant I want to reindex one or more indexes from the Admin Panel so that I can update my site content without having to use the command line or contact a developer.
In Magento 1, it was possible to reindex one or more indexes from the Admin Panel. This feature was deprecated from the Admin Panel in Magento 2, and it's only possible to reindex sites from the command line using the following commands:
Command | Description |
---|---|
indexer:info |
Shows allowed Indexers |
indexer:reindex |
Reindexes Data |
indexer:reset |
Resets indexer status to invalid |
indexer:set-mode |
Sets index mode type |
indexer:show-mode |
Shows Index Mode |
indexer:status |
Shows status of Indexer |
Many merchants cannot reindex from the command line, for several possible reasons:
Merchants who have to contact a developer or Solution Partner to reindex the site may incur additional development cost.
In the Admin Panel merchants can view Indexes and status through the System > Index Management
menu. This page shows all indexes, along with the description, mode (save/schedule), status, and last updated timestamp for each index. Merchant users can select one, more than one, or all indexes using the selection grid.
A new action should be added named 'Reindex' to the existing action drop-down menu. The existing options are 'Update on Save' and 'Update by Schedule'. If the user selects 'Reindex' a button appears labeled 'Submit'. Next to the button is a status that shows the number of records shown and selected in the grid: 'x records found (x selected)'. When the user clicks 'Submit' the selected indexes are reindexed.
Screenshot showing how feature was possible from M1 Admin Panel:
Screenshot from Magento 2 Admin Panel:
This issue was originally raised in magento/magento2#10426 by @hostep but unfortunately he cannot continue at the current time. The aim is to improve the admin usability for multiple store setups and the selection of cms pages in the store configuration.
Original Report: magento/magento2#11416 by @dmanners
As a customer I can select multiple filters within a filter group so that I can more quickly filter my search results down for price or preferred colors or other such criteria to quickly find what I'm looking to purchase.
Original Report: magento/magento2#11130 by @choukalos
By design, all Magento action controllers should implement \Magento\Framework\App\ActionInterface
. But some crucial request processing behavior (event dispatching, authorisation, etc) resides in classes like \Magento\Framework\App\Action\Action
and \Magento\Backend\App\AbstractAction
. So if an action controller implements the ActionInterface
but does not inherit from one of these "layer supertype" classes, it will lose that crucial behavior.
So, Magento module developers do not have a way to create an action controller without using inheritance. To avoid inheritance (see why), the request processing behavior should be extracted from "layer supertypes". Proposed solution is to move the behavior to action controller plugins.
Action controller should contain only its custom behavior.
AC:
\Magento\Framework\App\ActionInterface
is enough\Magento\Backend\App\AbstractAction
, \Magento\Framework\App\Action\Action
, \Magento\Framework\App\Action\AbstractAction
) are deprecatedOriginal Report: magento/magento2#9582 by @antonkril
Is there any plans to upgrade swagger UI, or anything blocking this currently? See comment here: magento/magento2#7446 (comment)
I was adding a new attribute to a configuration product and I had to leave for a while. When I came back and I keep on working my user session expired. When I clicked on the "Create New Attribute" button, the modal opened and asked me to login. After I inserted my credentials rather than allowing me to keep on working it showed me the admin home panel.
Magento ver. 2.1.9
For credit memo, the terms "adjustment refund" and "adjustment fee" are confusing. They are neither proper accounting terms nor do they make sense. And the impetus to get terms right is because the actions are irreversible and it is easy to make mistakes if terms don't make sense.
Let me state my case.
"Adjustment Refund"
Any figure entered here is added to the refund total. There are hardly any case which you need to refund a customer more than what he paid for. And the term isn't intuitive at all to tell you what it does is to add the amount to the refund total. Further, to do a partial refund, it makes sense that you are finding a field that says "adjustment to refund", and the closest you have is "Adjustment Refund", which sounds like what you want to do here except it doesn't -- it adds the amount to the refund total.
"Adjustment Fee"
Any figure entered here is subtracted to the refund total. This is actually how you would do a partial refund. However, very few people will understand what is the meaning of an adjustment fee. A partial refund is a partial refund. You would say "I got a partial refund". You wont say "I got a full refund but charged an adjustment fee" -- which is exactly what the box really mean. Because nobody will understand the latter statement, nobody will understand this term "adjustment fee".
The solution is simple.
Provide a box that says "refund" and populate it with the default full product price. Then the admin can choose to refund less than the product price or more than the product price (which I state is rare but yes we may want to allow that to happen).
Then finally, the last line should be "Total amount to refund" instead of "subtotal". And this should be javascript binded to change according to the amounts entered.
Exactly because the process is 1) Very important because you are dealing with money, 2) Irreversible and 3) Error prone at present, therefore it is important to change it and improve with the above recommended features.
Magento version 2.1.8
Attempt a refund
Refunding makes sense.
Refunding doesn't make sense.
Original Report: magento/magento2#9053 by @calvintwr
All options for CLI have a predefined value, or are booleans and are solvable by 1/0. This particular option has none and is activated only by its simple presence, as documented here:
To drop database tables before installing the Magento software, specify this parameter without a value. Otherwise, the Magento database is left intact.
In order to automate the installation (for example using Ansible, but this is by no means required), one wants to loop through all installation options, get their given/default values and create the full install string for CLI without having special cases like the one above. For consistency sake is better to have all options with predefined values, than doing decision only based on the presence of the parameter.
N/A.
Have a default value of 0, that will not drop the databases, and with value of 1 to drop.
Original Report: magento/magento2#8471 by @valugi
A native Magento implementation of the https://www.filestack.com/docs/image-transformations Api.
app/etc/config.php
from productionbin/magento setup:config:set
bin/magento setup:upgrade
setup:config:set
command that the environment is installed.install
configuration is missing in app/etc/env.php
install
configuration to app/etc/env.php
I would really like the following arguments to be added to the setup:config:set
command:
--install Set install date
--mage-mode Set mage mode
If you agree, I'd gladly make a Pull Request to make this happen!
Original Report: magento/magento2#11318 by @tdgroot
app/code
($ pestle.phar magento2:generate:module AbcCorp Testbed 0.0.1
php bin/magento setup:upgrade
app/etc/config.php
AbcCorp_Testbed
should not appear in app/etc/config.php
AbcCorp_Testbed
appears in app/etc/config.php
, and is enabledIt's a reasonable developer expectation that setup:update
should not enable modules that were not previously enabled. This bug came from real world interactions with working developers who hit this bug. This bug caused unexpected Setup Upgrade code to run, and resulted in lost real world working billable hours.
Original Report: magento/magento2#9516 by @astorm
bin/magento setup:static-content:deploy -f --theme Magento/blank en_US
I actually didn't notice this when working locally, but when deploying to a server. We see in the output of our deployment scripts a bunch of red colors, which almost always means something is going terribly wrong, but when looking closer at the output, it was just telling us what strategy is being used and how long it took.
I would suggest changing this color to something more friendly, like blue or green for example.
I don't know if there are some kind of Magento standards for the colors being used in the output of cli commands?
Original Report: magento/magento2#12404 by @hostep
As a customer I want an autocomplete / preview of suggested search terms and top products displayed to me as I'm typing in my search query so that I can find what I want to buy faster.
Coding Details / Pointers to Interfaces to use
Original Report: magento/magento2#11104 by @choukalos
Hi. This is not a bug, but annoying "feature". Screenshot: http://prntscr.com/het06v
All M2 notification comes with delay 0.2-0.5s after page is loaded, it makes me crazy, when I like to click save, and the content goes down because of annoying notification is just showed on the page.
Please make it with better UX, increase Z-index with postion: fixed or just make it looking the same way as Magento 1 has.
This is total 1 thing makes me crazy, each page reload. this really hurts store UX and should be improved
Thanks
Original Report: magento/magento2#12438 by @tomekjordan
Basically Excel sees the first two characters as "ID" and assumed it is a SYLK format. The easiest way to fix this is to change the ID column to have a different label. Locally I changed it to "Order ID" and that fixed the issue. It is a small change for a unique use-case, but I hope we can implement this at some point.
Technically this is a bug with Microsoft Excel, but as it is highly unlikely for them to implement a fix for this as it has been around for a long time I believe, I am submitting this bug as an attempt to work around the unique requirements of Excel.
Original Report: magento/magento2#12473 by @rain2o
Magento 2.2.1
PHP 7.0.25
MySQL 5.7
We have configurable products (for example colors red, blue and green) with tier price. All child products have same price and same tier prices. For example:
Buy 1 for β¬ 6,36
Buy 12 for β¬ 5,88
Buy 96 for β¬ 4,80
If a customer buys 15 green products and 5 red products (total 20 products) he should get tier price for ALL 20 products (in example he should get price of β¬ 5,88 for 15 green and 5 red).
magento only use tier price for 15 green products, but not for 5 red.
Original Report: magento/magento2#12233 by @matin73
In order to understand the environment configuration of Magento, administrator should collect information about the settings from the different sources: config files, installed services, Admin UI.
Providing CLI command which will output all basic Magento settings can help to understand the particular deployment situation faster and better. CLI command can provide following information:
Original Report: magento/magento2#9201 by @vrann
When the IPN callback from Paypal is coming back few days after an echeck submission, the order get a history comment saying that the IPN Failed but change the order status to Validated instead of Canceled
There is clearly a problem in Magento/Paypal/Model/Ipn _registerPaymentFailure() where the order is canceled. Invoices should be canceled before the order because the order cancellation cause a Validated status. So it's the exact opposite of what should happen and results in orders shipped without a received payment.
This is huge and was there already in Magento 1. I dont understand why it wasn't fixed earlier.
When even a single integration test is executed, the following files and directories are created:
app/code/Magento
βββ TestModuleDirectoryZipCodes
βΒ Β βββ etc
βΒ Β βΒ Β βββ module.xml
βΒ Β βΒ Β βββ zip_codes.xml
βΒ Β βββ registration.php
βββ TestModuleFakePaymentMethod
βΒ Β βββ Gateway
βΒ Β βΒ Β βββ Command
βΒ Β βΒ Β βββ DoNothingCommand.php
βΒ Β βββ etc
βΒ Β βΒ Β βββ config.xml
βΒ Β βΒ Β βββ di.xml
βΒ Β βΒ Β βββ module.xml
βΒ Β βββ registration.php
βββ TestModuleSample
βββ composer.json
βββ etc
βΒ Β βββ module.xml
βββ registration.php
(Note: the module Magento_TestModuleFakePaymentMethod
is not generated in Magento 2.2.0).
This is a problem because running integration tests should not affect the installed Magento instance.
Reproduced on fresh installations of Magento 2.2.0 and 2.2.2. I haven't tried on Magento 2.2.1.
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .
and so on./var/www/example/vendor/phpunit/phpunit/phpunit --configuration /var/www/example/dev/tests/integration/phpunit.xml /var/www/example/app/code/Example/Foo/Test/Integration
The modules are created in app/code/Magento potentially affect production code and are created independently if they are used in any test.
It should be possible to create the modules under dev/tests/integration/tmp in the sandbox directory and register them in the test process with the component registrar instead, leaving the app/code directory unmodified.
Original Report: magento/magento2#12696 by @Vinai
This code here https://github.com/magento/magento2/blob/2.1.0-rc2/setup/src/Magento/Setup/Model/PackagesData.php#L361 causes an avalanche of individual composer commands for every single package including Magento ones, if more than 1 repository is present
Original Report: magento/magento2#4986 by @fooman
Add option config-types
on app:config:dump
to skip dumping all system settings. That allows to dump only scope
, theme
for easier maintainability.
When using app:config:dump
in real projects, we normally do not want to dump all thousands core_config_data
settings into config files. That makes the files difficult to read and maintain. Imho dumping scopes
and themes
makes a lot of sense. However, the system settings should be kept small and simple. They must be progressively added according to project needs.
On the other hand, the main purpose of config.php
is to propagate configuration that must be same in all environments, specially for PRD
and Build
systems. These settings should be just a few, like for example css
and js
configuration needed for setup:static-content:deploy
. Of course others settings might be needed depending on the project but all the others are better managed into core_config_data
table or by using setup scripts.
This new option config-types
makes possible to dump scopes
and themes
automatically (needed for build system) while managing system settings manually using config:set --lock-config
as requested in PR:
It also fixes this issue:
Example of workflow on a real project:
When creating the project we dump all settings with app:config:dump scopes themes
That creates the needed settings for scopes
and themes
but skips system
core config data
We also add shared settings needed for PRD
and Build
environments
bin/magento config:set --lock-config dev/js/merge_files 1
bin/magento config:set --lock-config dev/css/merge_css_files 1
bin/magento config:set --lock-config dev/static/sign 1
As project evolves, we add a new stores and themes, so we need to update our config.php
settings.
bin/magento app:config:dump scopes themes
At the same time, if we ever need to share
system settings on all environments, we can use the command bin/magento config:set --lock-config
without needing to dump all hundreds of settings into the config.php
Original Report: magento/magento2#12410 by @jalogut
Original Report: magento/magento2#12634 by @magento-engcom-team
I would love to be able be able to add extension attributes to Magento\Catalog\Api\Data\ProductCustomOptionValueInterface
however it does not extend Magento\Framework\Api\ExtensibleDataInterface
Many other related interfaces allow this. Some examples:
Is there a reason why this does not exist on ProductCustomOptionValueInterface?
Original Report: magento/magento2#8675 by @danbuchal
Is there any plans to upgrade swagger UI, or anything blocking this currently? See comment here: magento/magento2#7446 (comment)
As an API consumer, I don't want to have to think about formatting 'like' conditions for my search criteria, and would like to be able to use a 'contains' search criteria condition type.
bin/magento sampledata:deploy
http://[magento host]/rest/V1/products?searchCriteria[filter_groups][0][filters][0][field]=sku&searchCriteria[filter_groups][0][filters][0][value]=red&searchCriteria[filter_groups][0][filters][0][condition_type]=contains
Original Report: magento/magento2#12458 by @nbennett25
Original Report: magento/magento2#11964 by @kirmorozov
I am creating a new Configurable product via the Admin Panel (based on color). My simple products (children) already exist via a product import. When I click on "Edit Configurations" it takes me down the path of creating new simple variations. I don't want to do this. I simply want to select the existing products.
Interestingly if I go ahead and generate some simple variations via the "Edit Configurations" after the product save I can see a new link "Add Products Manually" beside "Edit Configurations". That's what I want to see the first time around after I inform it that the new configurable product is based on color.
The "Edit Configurations" wizard needs to allow me to select existing products after I've told it what configurable attributes I'm working with e.g. color or size.
Is this a known issue?
Thanks
Tadhg
Reference: https://developers.google.com/analytics/devguides/collection/analyticsjs/
Original Report: magento/magento2#8837 by @mombrea
As a customer, I would like to sort my wishlist or requisition list items individually so that I can can group products together and organize my lists
Original Report: magento/magento2#11547 by @brian-labelle
Problem: The customer id (entity_id) should be included in the customers export for referential checks & database/SQL update capabilities
Version affected: 2.2
Steps: admin panel-> export customers
Expected: customer ID is included in export file so it can be used to later import the customers and update fields
Actual: customer ID is not included
Original Report: magento/magento2#1838 by @markoshust
A customer wrote us this after trying to change the address for 20 minutes he ordered via email then.
Original Report: magento/magento2#10556 by @johnny-longneck
I'm trying to lock some customers for they not being able to login neither place orders, etc. There is a field named is_active
on the table customer_entity
, but seems it does nothing.
is_active=0
on the table customer_entity
in the ddbb manually for this customerOriginal Report: magento/magento2#10362 by @slayerbleast
We're using third party libraries more and more because Magento is pretty much completely compatible with third party libraries. Unfortunately I see more libraries using PSR-11 and that is causing headaches when trying to use those libraries.
For example, I'm using this library: https://github.com/prooph/event-sourcing
This library makes use of the ContainerInterface to instantiate its objects.. it would be nice if Magento would support custom factories for objects.
Not sure how that would exactly work, how the config would be used in the config, etc.
Config examples:
Maybe define something like:
<type name="ReachDigital\ProophJira\Infrastructure\Repository\EventStoreUserCollection">
<factory type="Prooph\EventSourcing\Container\Aggregate\AggregateRepositoryFactory"/>
</type>
This probably needs to be thought out more ;)
Warning! This document uses simplified terms and concepts to explain products media gallery desired behavior and implementation.
For more accurate terms definition please check out Magento Glossary.
Scope β set of data at Magento instance that may be accessible at the same time. Scopes are 4-level hierarchical structure and include global, websites, stores and store views.
Each level of scope has access to underlying layer's data and my redefine it as well as may introduce own data (e.g. store level has access to all data defined at website level plus own data).
Each level has own semantic meaning. In this document, we will consider only global and store view levels.
Global Scope β represents data itself. You may think about this scope as a place where all models are live.
Store View β represent data displaying options for a store front. Namely, store view defines what data from global scope will see a customer at your site and how it will see them.
Technically Global Scope is implemented as a default store view with id=0
. Default store view also may be referenced as Admin store view.
Don't be confused! Magento 2 admin uses terms Store and Store view while in code Store is corresponding to Store Group and Store View to Store.
After installation, Magento 2 has Default Store View which usually have id=1
and does not have any special meaning. When code refers to \Magento\Store\Model\Store::DEFAULT_STORE_ID
it uses store view not visible in Admin panel and holding data of the Global scope.
Product β is a data of the things that are available for a customer to purchase. This is a model. As a result, products stored in the Global scope. You can not create a product that will exist in one store but will not exists in another. However, you may disable product for some website (product will exist on a website but will not be accessible by a customer).
Media Gallery β set of media resources related to a product. It's implemented as a product attribute. As for any model, data of media gallery must be stored on the global level.
Media Gallery Entry β is a media resource model (image or video). It must be stored on the global level as well. Meaningful are file path and media type properties.
In term of DDD Product is an Aggregation Root and holds Media Gallery that holds Media Gallery Entries. As this is the same aggregate all its parts are stored on the same (Global) level.
Product has image, small image and thumbnail attributes which define what images will be displayed to customer on store front at catalog and product pages. As this is data related to product displaying these options are store on the store view level. Image, small image and thumbnail attributes reference to media gallery entries by file path.
Displaying of Media Gallery Entry may be configured with options:
Role property displayed at Media Gallery Entry admin page, in fact, corresponds to Product attributes.
To summarize:
Media Gallery may be managed on an admin product page under Images and Videos tab. Any change to a media gallery applied after product save. Admin product page uses scope switcher to define what scope should be used for persisting data. In the switcher All store view value correspond to the default (admin) store view, which is equal to the global scope. Saving some value for All store view actually does not change value in all store views. Instead, value persisted in the default store view and this value may be used as fallback if it is missed for some store view.
Regardless of scope switcher value, some fields may be stored on more higher level of scopes hierarchy. Usually, this is reflected in UI.
As was discussed previously add and delete operations always [should be] executed on the global level. Update operation may be performed on a store view level respecting product save scope switcher.
To prevent errors in media gallery management system does not allow to delete image if it has special role in store view another then current edit scope.
Media Gallery uses 4 tables for data persisting:
catalog_product_entity_media_gallery
β holds data of media gallery entries which are stored on the global level (model data).catalog_product_entity_media_gallery_value
β holds data of media gallery entries which are stored on a store view level (presentation data).catalog_product_entity_media_gallery_value_to_entity
β links media gallery entry to product on a global level.catalog_product_entity_media_gallery_value_video
β holds video specific data on a store view level.Product image, small image and thumbnail attributes stored in catalog_product_entity_varchar
table.
Media gallery supports Magento Content Staging. As a result schema for Magento Open Source (CE) and for Magento Commerce (EE) with Staging enabled are different.
Schema without enabled Staging uses entity_id
field for foreign key. Staging modifies schema and replace entity_id
field with row_id
. To use proper column name in PHP code Magento\Framework\EntityManager\EntityMetadataInterface::getLinkField
should be used.
Current implementation has several issues that complicate understanding of desired behavior, leads to misunderstanding and bad user experience.
On images above fields that should be stored at different scope levels displayed together and user can not determine what scope will be modified.
If gallery entry added not in All Store Views mode table catalog_product_entity_media_gallery_value
does not contain record for store_id=0
.
As a result fallback mechanism for other store views is broken.
To allow use default value provided by default scope product attributes uses Use Default value checkbox.
Media Gallery Entry attributes don't have same mechanism. As a result, image attributes always persisted in a scope defined by product scope switcher. That means, if product saved for some store view scope all media gallery attributes are copied from default store view even if there are no changes in images.
Duplication of image attributes on store view complicates gallery management:
Original Report: magento/magento2#10863 by @vkublytskyi
Magento 2.1.7. Impossible to get friendly retail prices in UK. This was an issue for many of our stores in Magento 1 and we had to update core code to work around this issue. Please I would like to know thoughts on the following issue.
As of 2.2 it is recommended to include the config.php
file in version control as it provides common settings that are shared across environments. The problem is that sometimes you want to install extension only for development so if this is the case then you'll get an error if the module is included in the config.php
file but not actually installed.
composer require honl/magento2-templatehints --dev
php bin/magento setup:upgrade
, the config.php
file gets updated with the new extension and everything works as expected.vendor
folder and running composer install --no-dev
and deleting the Ho_Templatehints
row in the setup_module
table.Setup version for module 'Ho_Templatehints' is not specified
error.The error is to be expected because Magento is trying to load a module that hasn't been installed, I though I could only enable the module in the env.php
file since this is environment specific but that didn't work.
Original Report: magento/magento2#8986 by @thdoan
As a developer, I don't want to think about passing SQL wildcard characters when sending 'like' search criteria through a request to the Product API.
bin/magento sampledata:deploy
http://[magento host]/rest/V1/products?searchCriteria[filter_groups][0][filters][0][field]=sku&searchCriteria[filter_groups][0][filters][0][value]=red&searchCriteria[filter_groups][0][filters][0][condition_type]=like
Original Report: magento/magento2#12456 by @nbennett25
HUF
(Hungarian forint) as base & display currencyUser can successfully pay
Paypal error is thrown, user is unable to pay via Paypal
Error message:
PayPal gateway has rejected request. Item total is invalid (#10426: Transaction refused because of an invalid argument. See additional error messages for details). Tax total is invalid (#10429: Transaction refused because of an invalid argument. See additional error messages for details).
Logs:
Here's the relevant part of the array:
main.DEBUG: array ( 'url' => 'https://api-3t.paypal.com/nvp', 'SetExpressCheckout' => array ( 'PAYMENTACTION' => 'Sale', 'AMT' =>'2990.00', 'CURRENCYCODE' => 'HUF', 'SHIPPINGAMT' =>'0.00', 'ITEMAMT' =>'2354.33', 'TAXAMT' => '635.67',
Compare this with Paypal's official Currency Code advice for developers:
Hungarian Forint | HUF Note:Β Decimal amounts are not supported for this currency. Passing a decimal amount will throw an error.
Original Report: magento/magento2#10954 by @pvj
Last week, Symfony published a new component for realizing international routes.
http://symfony.com/blog/new-in-symfony-4-1-internationalized-routing
I would like to see this feature in the Magento Base Router.
This will offer us locale specific routes.
e.g.
/contact
/kontakt
/contacto
This could be solved by adding new config elements to routes.xml
.
My idea is to provide a general replacement for a frontName and explicit mapped rewrites for single actions.
Draft Example:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="catalog" frontName="catalog">
<module name="Magento_Catalog" />
<localizedFrontName>
<prefix frontName="katalog" locale="de_DE" />
</localizedPrefixes>
</route>
<localizedActionPreferences>
<preference for="catalog/product/view" rewrite="katalog/produkt/anzeigen" locale="de_DE" />
<preference for="catalog/category/view" rewrite="katalog/produkt/anzeigen" locale="de_DE" />
</localizedActionPreferences>
</router>
</config>
html/header.phtml
for theme, or perform some sort of action on header
block in XML via referenceBlock
.I'm not entirely certain if this is the correct place for this discussion. Apologies if it's not.
I'm putting together a blank theme at the moment. This naming issue causes me concern because I am finding it difficult to put together something easy to use. It would be nice if I could use the name header.phtml
for my template and the block name header
for my page header, as I think this is the most intuituve. I cannot do this however because there is a 'welcome' block in Magento with a template reference hard-coded (not via XML) to my intended template name, and with its block name set to header
Maybe a different name for this block, such as welcome-message
, would be more appropriate?
File where template name is set:
vendor/magento/module-theme/Block/Html/Header.php
XML for block, in default.xml
:
<referenceBlock name="top.links">
<block class="Magento\Theme\Block\Html\Header" name="header" as="header" before="-">
<arguments>
<argument name="show_part" xsi:type="string">welcome</argument>
</arguments>
</block>
</referenceBlock>
Original Report: magento/magento2#6577 by @tommypyatt
If a constructor asks for an object of a class type and has a default value of NULL, provide NULL instead of throwing an exception if the class type cannot be provided.
This would allow extensions that can support Commerce features to use Dependency Injection for Commerce classes ("or NULL") without having to use ObjectManager directly
Problem: The customer id should be included in customer addresses export for referential check capabilities
Version affected: 2.2
Steps: admin panel -> export customers addresses
Expected: customer ID/address ID is included in export file so it can be used to later import the customers and update fields
Actual: customer ID/address ID is not included
Original Report: magento/magento2#1839 by @markoshust
Is there any plans to upgrade swagger UI, or anything blocking this currently? See comment here: magento/magento2#7446 (comment)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.