Kowal_CheckoutComment adds a customer comment field to Magento 2 checkout, persists the value on quote and order, exposes it in the Admin order grid, and injects it into email template variables as order_comment.
afterMethods) via LayoutProcessor plugin.Magento_Checkout/js/action/place-order to pass checkout_comment to payment extension attributes.Magento\Quote\Api\Data\PaymentInterfaceMagento\Quote\Api\Data\CartInterfaceMagento\Sales\Api\Data\OrderInterfaceMagento\Quote\Api\PaymentMethodManagementInterface::savePaymentInformationAndPlaceOrderMagento\Quote\Model\PaymentMethodManagement::setMagento\Quote\Model\QuoteRepository::savesales_model_service_quote_submit_before.checkout_comment columns in DB (declarative schema) for:
quotesales_ordersales_order_gridsales_order_grid.checkout_comment from sales_order.order_comment variable to order emails through plugins on SenderBuilder, TransportBuilder, and TransportBuilderByStore.checkout_comment/general/all_frontend_comments.* = in production please use the --keep-generated option
Add the composer repository to the configuration:
composer config repositories.checkout.comment vcs https://github.com/kowalco/magento-2-checkout-comment
Add an access token for the private GitLab repository:
composer config --global --auth github-oauth.github.com <YOUR_TOKEN>
Install the module using Composer:
composer require kowal/module-checkoutcomment
Enable the module:
php bin/magento module:enable Kowal_CheckoutComment
Apply database updates:
php bin/magento setup:upgrade
Flush the cache:
php bin/magento cache:flush
Stores > Configuration > kowal > Checkout Comment (section id: checkout_comment, group: general).checkout_comment/general/enable (Yes/No)checkout_comment/general/all_frontend_comments (Yes/No)system.xml: default, website, store view (all enabled).ScopeInterface::SCOPE_STORE).etc/config.xml):
enable = 1all_frontend_comments = 0etc/adminhtml/menu.xml (including parent under Kowal_Base::kowal_modules).Kowal_CheckoutComment::config, ::root, ::general) but does not provide etc/acl.xml locally.php bin/magento setup:upgrade for declarative schema + data patch execution.php bin/magento setup:di:compile in production mode (plugins, extension attributes, interceptors).view/frontend.config, layout, block_html, full page cache as needed).Checkout Comment column.order_comment variable is available (template snippet is provided in README Configuration section).Kowal_CheckoutComment).setup:upgrade executed successfully.quote, sales_order, sales_order_grid.AddCheckoutCommentToGrid applied.kowal/base present and active.composer installphp bin/magento module:enable Kowal_CheckoutComment (when not pre-enabled)php bin/magento setup:upgradephp bin/magento setup:di:compile (production)php bin/magento setup:static-content:deploy (production)php bin/magento cache:flushsetup:upgrade, cache refresh) according to target state.kowal/base.Magento_Checkout.order_comment; module only injects variable.error/debug) in checkout and email plugins.Observer/Frontend/Checkout/SubmitAllAfter.php exists but is not wired in etc/events.xml.db_schema.xml) and data patch logic for grid-related behavior.type: magento2-module).Yes. README provides only Composer installation flow.
system.xml exposes default/website/store view. Runtime checks use store scope reads.
No etc/acl.xml is present in this module.
No custom cron, queue, or indexer definitions were found.
Yes: