{"id":21542111,"url":"https://github.com/outeredge/magento-base-module","last_synced_at":"2025-04-10T04:25:13.120Z","repository":{"id":14095848,"uuid":"16800073","full_name":"outeredge/magento-base-module","owner":"outeredge","description":"Magento 2 Base Module","archived":false,"fork":false,"pushed_at":"2025-03-13T17:24:05.000Z","size":328,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-24T05:43:40.782Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/outeredge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-02-13T10:52:46.000Z","updated_at":"2025-03-13T17:23:44.000Z","dependencies_parsed_at":"2023-01-13T17:47:46.846Z","dependency_job_id":"3ba5d0e6-1a79-404b-89bc-a6c5cdca7245","html_url":"https://github.com/outeredge/magento-base-module","commit_stats":{"total_commits":217,"total_committers":11,"mean_commits":"19.727272727272727","dds":0.511520737327189,"last_synced_commit":"e0fd225bae924ef78517f10f79d1af197911f3df"},"previous_names":[],"tags_count":179,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outeredge%2Fmagento-base-module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outeredge%2Fmagento-base-module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outeredge%2Fmagento-base-module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outeredge%2Fmagento-base-module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/outeredge","download_url":"https://codeload.github.com/outeredge/magento-base-module/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248156157,"owners_count":21056782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T05:08:34.857Z","updated_at":"2025-04-10T04:25:13.111Z","avatar_url":"https://github.com/outeredge.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# outer/edge Magento Base Module\n\nThis module provides the following useful features for Magento 2:\n\n## Admin\n\n* Additional widget types\n  - Image picker\n  - Text field\n* Enabled `anchor` button in WYSIWYG\n* Banner images for CMS pages - adds an option to upload a banner image to all page in `Content \u003e Pages` which can be pulled through to the frontend.\n* `Create` section in admin menu for quick actions:\n  - Create new order\n  - Create product\n* Enforces media URL seen by the admin to be NULL always (i.e. so CDN isn't used)\n\n## SEO\n\n* Canonical URL improvements\n  - Add canonical URL for all CMS pages\n  - Include pagination in category canonical URLs as per [Google Recommendation](https://developers.google.com/search/docs/specialty/ecommerce/pagination-and-incremental-page-loading#use-urls-correctly)\n* Set robots meta tag to `NOINDEX/NOFOLLOW` for:\n  - [Common query strings](https://github.com/outeredge/magento-base-module/blob/master/Plugin/Robots.php#L10) such as list ordering, limit, store codes etc\n  - Search results\n  - Product review list\n* Forces a 404 HTTP response for placeholder images\n* Adds preconnect headers for google.com/gstatic.com\n\n## Cookiebot \u0026 Termly\n\n  - Don't move cookiebot tags to footer when move JS to footer is enabled\n  - Block YouTube cookies unless Cookiebot has given consent (*Enabled by default*)\n  - Cookiebot declaration template for use on cookie policy CMS page\n  - Import Termly generated Cookie Policy for use on cookie policy CMS page\n\n## API\n\n - `/rest/V1/site_status/get` - To remotely obtain recent config changes and indexer statuses\n\n## Developer Tools\n\n* Helper classes:\n  - Asset helper - get assets\n  - Image helper - get media images and resize, crop etc.\n  - Config helper - get values from Magento config\n* Console commands\n  - `outeredge:nuke` for removing all cache and static files\n  - `outeredge:config` lists all recent config changes\n* Adds support for newer version of MariaDB\n* Disables jQuery mutate console messages\n\n### Console Commands\n\n| Command | Description |\n|---|---|\n| `$ bin/magento outeredge:config` | Show recent `core_config_data` changes (use `--save` to save differences shown to config.php and `--force` to overwrite any existing config) |\n| `$ bin/magento outeredge:nuke`   | Remove generated + static files and flushes cache) |\n| `$ bin/magento outeredge:eav-clean` | Removes non-existent types from EAV attributes |\n\n### Cookiebot Declaration\n\nTo add the Cookiebot cookie declaration form into your cookie policy CMS page, add the following snippet into the CMS page in the Magento admin:\n\n```\n{{block class=\"Magento\\Framework\\View\\Element\\Template\" template=\"OuterEdge_Base::cookiebot/declaration.phtml\"}}\n```\n\n### Termly Cookie Policy\n\nTo add the Termly cookie policy into your cookie policy CMS page, add the following snippet into the CMS page in the Magento admin:\n\n```\n{{block class=\"Magento\\Framework\\View\\Element\\Template\" template=\"OuterEdge_Base::termly/cookie-policy.phtml\"}}\n```\n\n### Multistore projects\n\nAdd `multistore.php` to the top of the `composer.json` autoload/files section to allow separate config files (and thus databases) _per store_ on the same instance/repository:\n\n* Add to `composer.json` :\n```\n    \"autoload\": {\n        \"files\": [\n            \"vendor/outeredge/magento-base-module/multistore.php\",\n            ...\n```\n\n* Then create individual env.php files for each, naming them `env.php.STORE_CODE` replacing `STORE_CODE` as applicable.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fouteredge%2Fmagento-base-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fouteredge%2Fmagento-base-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fouteredge%2Fmagento-base-module/lists"}