Git Product home page Git Product logo

magento2-module-debug-toolbar's Introduction

Smile Debug Toolbar for Magento 2

Description

This module adds a Debug Toolbar in Magento 2. The toolbar displays useful information about the last executions (including ajax requests, rest API and graphql):

  • HTTP Request/response
  • SQL queries (with the PHP trace for each query)
  • Profiler information (with timers)
  • Layout information
  • Cached items
  • Plugins/observers that were triggered

Installation

To install the module:

  1. Execute the following command at the root of the Magento installation:
    composer require --dev smile/module-debug-toolbar
  2. Enable the module:
    bin/magento module:enable Smile_DebugToolbar
    bin/magento setup:upgrade
  3. Enable the toolbar:
    bin/magento config:set smile_debugtoolbar/configuration/enabled 1
    

Configuration

The configuration of the module is available in the section Smile > Smile DebugToolbar of the admin area:

You can:

  • Enable / disable the debug toolbar (default: disabled)
  • Show / hide the debug toolbar in the admin area (default: hidden)
  • Choose the number of last executions to save and display in the toolbar (default: 5)

Uninstallation

Unfortunately, the module cannot be automatically uninstalled, because Magento doesn't support uninstallation of dev packages out of the box.

To uninstall the module, follow these steps:

  1. In app/etc/env.php, remove the key db.connection.default.profiler from the array if it is defined.
  2. Run the following commands:
    bin/magento module:disable Smile_DebugToolbar
    composer remove --dev smile/module-debug-toolbar
    bin/magento setup:upgrade
    
  3. [Optional] Remove the directory "var/smile_toolbar".

Customizing the Toolbar

It is possible to add new zones to the toolbar (e.g. to display project-specific data). This is documented here.

Contributing

You can contribute to this module by submitting issues or pull requests.

For more details, please take a look at the contribution guidelines.

License

This module is licensed under the Eclipse Public License - v 2.0.

Changelog

All notable changes are recorded in this changelog.

Contact

Smile Technical Office [email protected]

magento2-module-debug-toolbar's People

Contributors

guvra avatar spipu avatar pigau avatar

Stargazers

Marcio Maciel avatar  avatar  avatar  avatar  avatar Krzysztof Ratajczyk avatar  avatar  avatar Alkrenawi zid avatar  avatar Kaspars Līcītis avatar Luke Cavanagh avatar Ranger Chan avatar Michel Melo avatar Vova Yatsyuk avatar  avatar James Leeming avatar Ibrahem Mohamed avatar Volodymyr Hryvinskyi avatar Jérôme LEGRAND avatar Osiozekhai Aliu avatar Roman avatar  avatar Piotr Siejczuk avatar Alex K avatar  avatar  avatar Maxim Ramashka avatar Marlon Böhland avatar  avatar Vasilii Burlacu avatar  avatar Akshaya Mathoor avatar Kostadin A. avatar  avatar Sagar Dahiwala avatar Vishal Rathod avatar Svyatoslav avatar Jonatan Machado avatar Tomislav Sudmak avatar Matthew Javelet avatar Rafal Janicki avatar Earl Elnar avatar sunhong avatar Milan Vidovic avatar Lucas van Staden avatar Sander Grandia avatar  avatar  avatar Adriano Ferroni avatar Pierre avatar Wajahat Bashir avatar Anees avatar Fabrizio Balliano avatar Adam Wacławczyk avatar  avatar Rezwanul Islam avatar Mahmoud AboElnouR avatar Mehdi Chaouch avatar Willem Poortman avatar Mauro avatar Erfan avatar Tschallacka avatar Miko Suria avatar Piotr Rusin avatar  avatar Martino Massalini avatar W.P. avatar Ubiratã Carvalho Nogueira avatar George Daneke  avatar Axel Libori Roch avatar Szymon Łukaszewicz avatar  avatar Noureddine RAMDI avatar Rémy Lescallier avatar juver avatar Oscar Recio avatar  avatar Dmitrij Rebrov avatar  avatar Diego Perico avatar SK Mezanul Haque avatar Litiano avatar Andson Lourenço avatar Alex avatar Jared avatar magepsycho avatar Mikhail avatar Thomas Hampe avatar Erhan Abay avatar Falia avatar Raul Baričević avatar Patryk Adamczyk avatar loid345 avatar Sazzad Hossain (Tushar) Khan avatar Luis Tineo avatar James Edward Lewis II avatar Tuyen Nguyen avatar Artem Veselkov avatar Sun Feng avatar

Watchers

Ruud van Zuidam avatar Gregory Eve avatar Aurélien FOUCRET avatar James Cloos avatar Electrical Business Solutions avatar Richard Bayet avatar Fred avatar Volodymyr Fesko avatar  avatar  avatar Mauro avatar  avatar Yevhen Mykhailov avatar  avatar Matthieu Prigent avatar Maxime Queneau avatar  avatar loid345 avatar  avatar  avatar

magento2-module-debug-toolbar's Issues

Allow PHP 7.2

As the title suggests, allow PHP 7.2 (for Magento 2.3).

Smile\DebugToolbar\Plugin\App\Cache not found after uninstall

After running bin/magento module:uninstall Smile_DebugToolbar

I keep getting the following exception everywhere:

Class Smile\DebugToolbar\Plugin\App\Cache does not exist#0 vendor/magento/framework/Code/Reader/ClassReader.php(34): ReflectionClass->__construct()
#1vendor/magento/framework/ObjectManager/Definition/Runtime.php(54): Magento\Framework\Code\Reader\ClassReader->getConstructor()
#2 vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(48): Magento\Framework\ObjectManager\Definition\Runtime->getParameters()
#3 vendor/magento/framework/ObjectManager/ObjectManager.php(70): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create()
#4vendor/magento/framework/Interception/PluginList/PluginList.php(174): Magento\Framework\ObjectManager\ObjectManager->get()
#5 vendor/magento/framework/Interception/Interceptor.php(133): Magento\Framework\Interception\PluginList\PluginList->getPlugin()
#6 vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\Cache\Interceptor->Magento\Framework\Interception\{closure}()
#7 generated/code/Magento/Framework/App/Cache/Interceptor.php(32): Magento\Framework\App\Cache\Interceptor->___callPlugins()
#8 vendor/magento/framework/App/Cache/Proxy.php(67): Magento\Framework\App\Cache\Interceptor->load()
#9 vendor/magento/framework/App/ProductMetadata.php(78): Magento\Framework\App\Cache\Proxy->load()
#10 vendor/magento/framework/Console/Cli.php(98): Magento\Framework\App\ProductMetadata->getVersion()
#11 bin/magento(22): Magento\Framework\Console\Cli->__construct()
#12 {main}

I cleared the Redis cache and env file, searched the whole database and the code for this, and found nothing.

This took me a lot of time to find var/smile_toolbar directory which needs to be removed to make everything work fine.

I believe it's something needs to be mentioned in the readme file which may save a lot of time for the other developers.

Should allow PHP 8.2

Magento 2.4.6 now supports PHP 8.2 so should allow the module to use with PHP 8.2

Configurable product page broken with this module

Hi,

Thanks for creating a great plugin!

I've noticed that a configurable product fails to load in the admin with your module enabled. In my setup your JS scripts are inserted before the Magento_Backend/js/bootstrap/editor.js script and cause requirejs to fail with the following:

Uncaught Error: Mismatched anonymous define() module: function(){return t.hljs}
http://requirejs.org/docs/errors.html#mismatch
    at makeError (require.js:166)
    at intakeDefines (require.js:1221)
    at Object.localRequire [as require] (require.js:1402)
    at requirejs (require.js:1737)
    at editor.js:7

This then makes the dynamic-rows-configurable.js script to throw several errors and stop the page rendering.

Uncaught TypeError: this.getChildItems(...).each is not a function
    at UiClass.processingUnionInsertData (dynamic-rows-configurable.js:232)
    at setNested (objects.js:43)
    at Object.nested (objects.js:117)
    at UiClass.set (element.js:305)
    at updateValue (links.js:80)
    at Function.notifySubscribers (knockout.js:1103)
    at Function.observable.valueHasMutated (knockout.js:1300)
    at UiClass.observable [as unionInsertData] (knockout.js:1285)
    at UiClass.initChildren (dynamic-rows-configurable.js:105)
    at UiClass.initialize (dynamic-rows.js:191)
Uncaught TypeError: max.each is not a function
    at UiClass._checkGridData (dynamic-rows-grid.js:269)
    at UiClass.processingInsertData (dynamic-rows-grid.js:207)
    at setNested (objects.js:43)
    at Object.nested (objects.js:117)
    at UiClass.set (element.js:305)
    at updateValue (links.js:80)
    at Function.notifySubscribers (knockout.js:1103)
    at Function.observable.valueHasMutated (knockout.js:1300)
    at UiClass.observable [as insertData] (knockout.js:1285)
    at setNested (objects.js:43)
Uncaught TypeError: max.each is not a function
    at UiClass._checkGridData (dynamic-rows-grid.js:269)
    at UiClass.processingInsertData (dynamic-rows-grid.js:207)
    at setNested (objects.js:43)
    at Object.nested (objects.js:117)
    at UiClass.set (element.js:305)
    at updateValue (links.js:80)
    at Function.notifySubscribers (knockout.js:1103)
    at Function.observable.valueHasMutated (knockout.js:1300)
    at UiClass.observable [as insertData] (knockout.js:1285)
    at setNested (objects.js:43)

With your module turned of for the admin it still throws the error. When you use the CLI to disable the module the page then loads again as expected.

Kind regards,

Clive

error with pagecache render request

When we have a block with _privateScope enabled the page will have a ajax pagecache request
Something like this

........./page_cache/block/render/?blocks=%5B%22authorization-link%22%2C%22loginlink%22%5D&handles=%5B%22default%22%2C%22cms_index_index.................

This request return 500 error due to the below error

1 exception(s):
Exception #0 (Exception): Notice: Undefined index: magento->routers_match->CONTROLLER_ACTION:magento_pagecache_block_render->action_body in /vendor/smile/module-debug-toolbar/Helper/Profiler.php on line 125

Exception #0 (Exception): Notice: Undefined index: magento->routers_match->CONTROLLER_ACTION:magento_pagecache_block_render->action_body in /vendor/smile/module-debug-toolbar/Helper/Profiler.php on line 125

#1 Smile\DebugToolbar\Helper\Profiler->prepareTimers() called at [vendor/smile/module-debug-toolbar/Helper/Profiler.php:68]
#2 Smile\DebugToolbar\Helper\Profiler->computeStats() called at [vendor/smile/module-debug-toolbar/Observer/AddToolbar.php:105]
#3 Smile\DebugToolbar\Observer\AddToolbar->execute() called at [vendor/magento/framework/Event/Invoker/InvokerDefault.php:88]
#4 Magento\Framework\Event\Invoker\InvokerDefault->_callObserverMethod() called at [vendor/magento/framework/Event/Invoker/InvokerDefault.php:74]
#5 Magento\Framework\Event\Invoker\InvokerDefault->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#6 Magento\Framework\Event\Invoker\InvokerDefault\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#7 Magento\Framework\Event\Invoker\InvokerDefault\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/smile/module-debug-toolbar/Plugin/Event/Invoker.php:64]
#8 Smile\DebugToolbar\Plugin\Event\Invoker->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#9 Magento\Framework\Event\Invoker\InvokerDefault\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#10 Magento\Framework\Event\Invoker\InvokerDefault\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/Event/Invoker/InvokerDefault/Interceptor.php:23]
#11 Magento\Framework\Event\Invoker\InvokerDefault\Interceptor->dispatch() called at [vendor/magento/framework/Event/Manager.php:66]
#12 Magento\Framework\Event\Manager->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#13 Magento\Framework\Event\Manager\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#14 Magento\Framework\Event\Manager\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/smile/module-debug-toolbar/Plugin/Event/Manager.php:52]
#15 Smile\DebugToolbar\Plugin\Event\Manager->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#16 Magento\Framework\Event\Manager\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#17 Magento\Framework\Event\Manager\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/Event/Manager/Interceptor.php:23]
#18 Magento\Framework\Event\Manager\Interceptor->dispatch() called at [vendor/magento/framework/App/Http.php:131]
#19 Magento\Framework\App\Http->launch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#20 Magento\Framework\App\Http\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#21 Magento\Framework\App\Http\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#22 Magento\Framework\App\Http\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/App/Http/Interceptor.php:23]
#23 Magento\Framework\App\Http\Interceptor->launch() called at [vendor/magento/framework/App/Bootstrap.php:264]
#24 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:29]

Cache usage are not listing all items

When we log all cache call from different cache classes, we can collect around 300 cache calls on the page but the tool only show around 40 calls. There should be a document for what this cache usage tab shows to avoid confusion.

add feature to run it on a production environment

  1. We could add a setting (or use an existing one from Magento) where we can restrict the IP address to show the toolbar (must work with Varnish/FPC)
  2. Another option is adding a parameter on URL to activate the toolbar.

Deprecated Functionality for magento 2.3.1

I'm getting following issue from info tab

Deprecated Functionality: Function create_function() is deprecated in /var/www/html/magento23demo/vendor/vpietri/adm-quickdevbar/Block/Tab/Content/PhpInfo.php on line 30

I'm using magento 2.3.1
Screenshot from 2019-06-05 12-26-28

4.x is incompatible with Magento 2.2

Hello,

please add documentation about incompatibilities of Smile_DebugToolbar 4.x version with older Magento 2.2 versions. Magento module:enable command does not produce sensible information when one tries to install Smile_DebugToolbar 4.x with Magento 2.2.x (missing "setup_version" attribute in etc/module.xml file).

Best regards,
Przemek

THIS MODULE CREATE A BUG IN MY MAGENTO

**I use Magento EE 2.3.1.

In my development environnement, I setup this module to track some bug in my Magento, When I finish, I remove this module with composer. Everything run well, after that when I make composer update or bin/magento setup:upgrade or bin/magento setup:di:compile I got this error:**

`In ErrorHandler.php line 61:

Warning: include_once(Smile/DebugToolbar/DB/Profiler.php): failed to open stream: No such file or directory in /app/vendor/magento/zendframework1/library/Zend/Loader.php on line 134
`
Now in the browser, I got this :

Exception: Warning: include_once(Smile/DebugToolbar/DB/Profiler.php): failed to open stream: No such file or directory in /app/vendor/magento/zendframework1/library/Zend/Loader.php on line 134 in /app/vendor/magento/framework/App/ErrorHandler.php:61 Stack trace: #0 /app/vendor/magento/zendframework1/library/Zend/Loader.php(134): Magento\Framework\App\ErrorHandler->handler(2, 'include_once(Sm...', '/app/vendor/mag...', 134, Array) #1 /app/vendor/magento/zendframework1/library/Zend/Loader.php(134): include_once() #2 /app/vendor/magento/zendframework1/library/Zend/Loader.php(82): Zend_Loader::loadFile('Smile/DebugTool...', NULL, true) #3 /app/vendor/magento/zendframework1/library/Zend/Db/Adapter/Abstract.php(396): Zend_Loader::loadClass('Smile\\DebugTool...') #4 /app/vendor/magento/zendframework1/library/Zend/Db/Adapter/Abstract.php(272): Zend_Db_Adapter_Abstract->setProfiler(Array) #5 /app/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php(263): Zend_Db_Adapter_Abstract->__construct(Array) #6 /app/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(116): Magento\Framework\DB\Adapter\Pdo\Mysql->__construct(Object(Magento\Framework\Stdlib\StringUtils), Object(Magento\Framework\Stdlib\DateTime), Object(Magento\Framework\DB\Logger\LoggerProxy), Object(Magento\Framework\DB\SelectFactory), Array, NULL) #7 /app/vendor/magento/framework/ObjectManager/Factory/Compiled.php(108): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Framewo...', Array) #8 /app/vendor/magento/framework/ObjectManager/ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Framewo...', Array) #9 /app/vendor/magento/framework/DB/Adapter/Pdo/MysqlFactory.php(64): Magento\Framework\ObjectManager\ObjectManager->create('Magento\\Framewo...', Array) #10 /app/vendor/magento/framework/Model/ResourceModel/Type/Db/Pdo/Mysql.php(74): Magento\Framework\DB\Adapter\Pdo\MysqlFactory->create('Magento\\Framewo...', Array, NULL, NULL) #11 /app/vendor/magento/module-resource-connections/DB/ConnectionAdapter/Mysql.php(54): Magento\Framework\Model\ResourceModel\Type\Db\Pdo\Mysql->getDbConnectionInstance(NULL, NULL) #12 /app/vendor/magento/framework/Model/ResourceModel/Type/Db/ConnectionFactory.php(41): Magento\ResourceConnections\DB\ConnectionAdapter\Mysql->getConnection() #13 /app/vendor/magento/framework/App/ResourceConnection/ConnectionFactory.php(24): Magento\Framework\Model\ResourceModel\Type\Db\ConnectionFactory->create(Array) #14 /app/vendor/magento/framework/App/ResourceConnection.php(147): Magento\Framework\App\ResourceConnection\ConnectionFactory->create(Array) #15 /app/vendor/magento/framework/App/ResourceConnection.php(97): Magento\Framework\App\ResourceConnection->getConnectionByName('default') #16 /app/vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php(328): Magento\Framework\App\ResourceConnection->getConnection('default') #17 /app/vendor/magento/framework/Model/ResourceModel/Db/Collection/AbstractCollection.php(132): Magento\Framework\Model\ResourceModel\Db\AbstractDb->getConnection() #18 /app/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(116): Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection->__construct(Object(Magento\Framework\Data\Collection\EntityFactory), Object(Magento\Framework\Logger\Monolog), Object(Magento\Framework\Data\Collection\Db\FetchStrategy\Query), Object(Magento\Staging\Model\Event\Manager\Proxy), NULL, NULL) #19 /app/vendor/magento/framework/ObjectManager/Factory/Compiled.php(108): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Config\\...', Array) #20 /app/vendor/magento/framework/ObjectManager/ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Config\\...', Array) #21 /app/generated/code/Magento/Config/Model/ResourceModel/Config/Data/CollectionFactory.php(43): Magento\Framework\ObjectManager\ObjectManager->create('\\Magento\\Config...', Array) #22 /app/vendor/magento/module-config/App/Config/Source/RuntimeConfigSource.php(77): Magento\Config\Model\ResourceModel\Config\Data\CollectionFactory->create() #23 /app/vendor/magento/module-config/App/Config/Source/RuntimeConfigSource.php(62): Magento\Config\App\Config\Source\RuntimeConfigSource->loadConfig() #24 /app/vendor/magento/framework/App/Config/ConfigSourceAggregated.php(40): Magento\Config\App\Config\Source\RuntimeConfigSource->get('') #25 /app/vendor/magento/module-config/App/Config/Type/System/Reader.php(60): Magento\Framework\App\Config\ConfigSourceAggregated->get() #26 /app/generated/code/Magento/Config/App/Config/Type/System/Reader/Proxy.php(95): Magento\Config\App\Config\Type\System\Reader->read() #27 /app/vendor/magento/module-config/App/Config/Type/System.php(402): Magento\Config\App\Config\Type\System\Reader\Proxy->read() #28 /app/vendor/magento/module-config/App/Config/Type/System.php(247): Magento\Config\App\Config\Type\System->readData() #29 /app/vendor/magento/module-config/App/Config/Type/System.php(300): Magento\Config\App\Config\Type\System->lockedLoadData(Object(Closure)) #30 /app/vendor/magento/module-config/App/Config/Type/System.php(206): Magento\Config\App\Config\Type\System->loadDefaultScopeData('default') #31 /app/vendor/magento/module-config/App/Config/Type/System.php(180): Magento\Config\App\Config\Type\System->getWithParts('default/newreli...') #32 /app/vendor/magento/framework/App/Config.php(131): Magento\Config\App\Config\Type\System->get('default/newreli...') #33 /app/vendor/magento/framework/App/Config.php(80): Magento\Framework\App\Config->get('system', 'default/newreli...') #34 /app/vendor/magento/framework/App/Config.php(93): Magento\Framework\App\Config->getValue('newrelicreporti...', 'default', NULL) #35 /app/vendor/magento/module-new-relic-reporting/Model/Config.php(94): Magento\Framework\App\Config->isSetFlag('newrelicreporti...') #36 /app/vendor/magento/module-new-relic-reporting/Plugin/HttpPlugin.php(49): Magento\NewRelicReporting\Model\Config->isNewRelicEnabled() #37 /app/vendor/magento/framework/Interception/Interceptor.php(121): Magento\NewRelicReporting\Plugin\HttpPlugin->beforeCatchException(Object(Magento\Framework\App\Http\Interceptor), Object(Magento\Framework\App\Bootstrap), Object(Exception)) #38 /app/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\Http\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Bootstrap), Object(Exception)) #39 /app/generated/code/Magento/Framework/App/Http/Interceptor.php(26): Magento\Framework\App\Http\Interceptor->___callPlugins('catchException', Array, Array) #40 /app/vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http\Interceptor->catchException(Object(Magento\Framework\App\Bootstrap), Object(Exception)) #41 /app/pub/index.php(40): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor)) #42 {main}

Everything is lock in my Magento, I didn't know why, I cleaned all cache, generated/ var/ filles, Please help me to solve the problem

add sesion size information beside memory usage

Since 2.4.3 release, Magento introduces a setting for max session size. A bad code implementation could lead to big session size and affect to the performance.

So I think it would be great if the developer toolbar show this information in a column in the profiler tab beside memory usage then it would help much for developers to troubleshoot.

What do you think @guvra @delyriand ?

Warning: Use of undefined constant BP - assumed 'BP' (this will throw an Error in a future version of PHP) in /magento2/magento/vendor/smile/module-debug-toolbar/registration.php on line 22

Hello good afternoon

I would like to inform you of the following

I loaded the autoloader into a new file and the alert is displayed

Warning: Use of undefined constant BP - assumed 'BP' (this will throw an Error in a future version of PHP) in /magento2/magento/vendor/smile/module-debug-toolbar/registration.php on line 22

Uninstall instructions

Please add to uninstall instructions:

Remove from app/etc/env.php

'profiler' => [ 'class' => 'Smile\\DebugToolbar\\DB\\Profiler', 'enabled' => true ]

Undefined variable on toolbar.phtml

When i try to turn it on in admin panel i caught this message. It's simple to solve...

"Notice: Undefined variable: escaper in /var/www/html/magento2/app/code/Smile/DebugToolbar/view/base/templates/toolbar.phtml on line 18"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.