È possibile pre-generare codice per un modulo specifico? IE: posso generare tutto il codice nel sistema con php bin/magento setup:di:compile Tuttavia, ciò può richiedere molto tempo. Vorrei pre-generare solo i file per un modulo specifico. php bin/magento setup:di:compile Pulsestorm_Commercebug Il problema specifico che sto cercando di risolvere è aggirare questo …
Quindi ho notato che nella maggior parte dei modelli e blocchi, questo è array $data = []dato come l'ultimo parametro del costruttore . Per esempio \Magento\Catalog\Block\Product\ListProduct public function __construct( \Magento\Catalog\Block\Product\Context $context, \Magento\Framework\Data\Helper\PostHelper $postDataHelper, \Magento\Catalog\Model\Layer\Resolver $layerResolver, CategoryRepositoryInterface $categoryRepository, \Magento\Framework\Url\Helper\Data $urlHelper, array $data = [] ) { $this->_catalogLayer = $layerResolver->get(); $this->_postDataHelper = …
In Magento 2 (quasi) tutti gli argomenti elencati nei file xml hanno un attributo xsi:typeche determina come viene interpretato il valore dell'argomento. Ad esempio, nel di.xmlfile del modulo backend c'è questo: <argument name="scopeType" xsi:type="const">Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT</argument> questo significa che il valore dell'argomento scopeTypeè il valore della costanteMagento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT o questo <argument name="template" xsi:type="string">Magento_Theme::root.phtml</argument> …
Quindi, so teoricamente che cos'è una classe proxy in Magento 2. Ho letto il fantastico articolo di Alan Storm su di esso e capisco perfettamente come vengono generate quelle classi. Tuttavia, e non so se è perché sono un madrelingua inglese o se le spiegazioni di Alan stanno usando classi …
Forse mi manca un punto, ma mi chiedo solo perché a volte esiste un'istruzione "use" per una classe specifica e altre volte no. Esempio:, app\code\Magento\Email\Model\Template.phpabbiamo nella parte superiore del file: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; Quindi nel __constructmetodo abbiamo i seguenti parametri: public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\View\DesignInterface $design, …
Non capisco perché, in alcune classi, le loro iniezioni di dipendenza siano dichiarate due volte - una volta nella di.xmle nel costruttore della classe concreta. Ad esempio in Magento\Backend\Model\Url, di.xmlha questo set di tipi per DI definito: <type name="Magento\Backend\Model\Url"> <arguments> <argument name="scopeResolver" xsi:type="object"> Magento\Backend\Model\Url\ScopeResolver</argument> <argument name="authSession" xsi:type="object"> Magento\Backend\Model\Auth\Session\Proxy</argument> <argument name="formKey" …
Attualmente ho il seguente <preference/>in uno dei miei file di.xml: <preference for="Magento\Contact\Controller\Index\Post" type="RadTest\TestModule\Controller\Contact\Post" /> Ho un'opzione di abilitazione / disabilitazione della configurazione per il mio modulo nel pannello di amministrazione. Voglio <preference>che sia abilitato solo quando l'opzione di configurazione personalizzata è impostata su abilitato. Come posso abilitare e disabilitare dinamicamente …
In Magento 2.3 ci sono alcune interfacce per tutti i verbi http Magento\Framework\App\Action\HttpPostActionInterface Magento\Framework\App\Action\HttpGetActionInterface, ... Sono tutti vuoti e implementati Magento\Framework\App\ActionInterface. Ho anche scoperto che tutti sono associati app/etc/di.xmla un parametro di Magento\Framework\App\Request\HttpMethodMape molti controller implementano queste interfacce. Ma non tutti i controller. Questo è tutto ciò che ho potuto …
Vedo nei di.xmlfile dal core che alcuni degli argomenti hanno il tipo init_parameterma i valori dei parametri sono tutti costanti. <type name="Magento\Framework\View\Page\Config\Renderer"> <arguments> <argument name="appMode" xsi:type="init_parameter">Magento\Framework\App\State::PARAM_MODE</argument> </arguments> </type> o questo <type name="Magento\Framework\App\Cache\State"> <arguments> <argument name="banAll" xsi:type="init_parameter">Magento\Framework\App\Cache\State::PARAM_BAN_CACHE</argument> </arguments> </type> e molti altri. Ma da quello che vedo nell'interprete associato init_parameter, viene …
In questo momento sono infastidito di scrivere costruttori simili in massa come i seguenti nei miei moduli. public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, /* ... */ \Foo\Bar\Model\Baz $baz, /* ... */ \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, array $data = [] ) { $this->registry = $registry; /* …
I tratti funzionano davvero con l'iniezione di dipendenza in Magento? Considera il seguente codice: Classe di tratto namespace Frame\Slick\Block; use Frame\Slider\Slick\Block\Data as Helper trait Slick { protected $_slickHelper; public function __construct(Helper $slickHelper) { $this->_slickHelper = $slickHelper; } } Classe usando il tratto namespace Frame\Slick\Block; class Product ListProduct implements BlockInterface { …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.