PHPackages                             magepal/link-product - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. magepal/link-product

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

magepal/link-product
====================

Custom product relation for magento 2

1.1.8(1y ago)5444.5k↓36.8%23[2 issues](https://github.com/magepal/magento2-link-product/issues)OSL-3.0PHPPHP ~7.4.0|~8.1.0|~8.2.0|~8.3.0CI failing

Since Feb 28Pushed 1y ago5 watchersCompare

[ Source](https://github.com/magepal/magento2-link-product)[ Packagist](https://packagist.org/packages/magepal/link-product)[ Docs](https://www.magepal.com/)[ Fund](https://paypal.me/magepal)[ RSS](/packages/magepal-link-product/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (8)Dependencies (3)Versions (9)Used By (0)

[![Magento Extension Provider](https://camo.githubusercontent.com/63f84edb93cd08708650d8e726d9e5a1634dbc2fb8758bd9b2b85a5cb39aa371/68747470733a2f2f696d6167652e6962622e636f2f6448426b59482f4d61676570616c5f6c6f676f2e706e67)](https://www.magepal.com "Top Magento 2 Extension Provider")

Custom Product Relation Sample Extension for Magento 2.2.x and 2.3.x (with zero class rewrite or hacks)
-------------------------------------------------------------------------------------------------------

[](#custom-product-relation-sample-extension-for-magento-22x-and-23x-with-zero-class-rewrite-or-hacks)

[![Total Downloads](https://camo.githubusercontent.com/f0d51e33f2aec0bf2ee84538b3407a8c25b255b820330d88192697ffd55de5a9/68747470733a2f2f706f7365722e6f6b76706e2e6f72672f6d61676570616c2f6c696e6b2d70726f647563742f646f776e6c6f616473)](https://packagist.org/packages/magepal/magento2-link-product)[![Latest Stable Version](https://camo.githubusercontent.com/17affceea4c2bf288e2e474bef15507b0fa225ef548e3b85905bbb73af061e60/68747470733a2f2f706f7365722e6f6b76706e2e6f72672f6d61676570616c2f6c696e6b2d70726f647563742f762f737461626c65)](https://packagist.org/packages/magepal/magento2-link-product)

Create a new product accessory relationship in additional to the default Up-sell products, Related products, and Cross-sell products options available in Magento.

[![Magento Custom Product Relation](https://camo.githubusercontent.com/bac46919b836d25b51176fbb8b3104a6be90e08a3c735d3b353ddd86cf69ad81/68747470733a2f2f696d6167652e6962622e636f2f6d50586175712f6d6167656e746f2d322d6c696e6b2d70726f647563742e706e67)](https://camo.githubusercontent.com/bac46919b836d25b51176fbb8b3104a6be90e08a3c735d3b353ddd86cf69ad81/68747470733a2f2f696d6167652e6962622e636f2f6d50586175712f6d6167656e746f2d322d6c696e6b2d70726f647563742e706e67)

Please Note: Our extension perform all of the backend logic of relating the various product, you will need to design the frontend component and where to place these products

#### Usage

[](#usage)

```
    public function __construct(
        ...
        \MagePal\LinkProduct\Model\Accessory $accessory,
        ....
    ) {
        ...
        $this->accessory = $accessory;
    }

    $product = $currentProduct;
    return products
    $accessoryItems = $this->accessory->getAccessoryProducts($product);
    //return product ids
    $accessoryItemIds = $this->accessory->getAccessoryProductIds($product);

```

#### Step 1

[](#step-1)

##### Using Composer (recommended)

[](#using-composer-recommended)

```
composer require magepal/link-product

```

##### Manually

[](#manually)

- Download the extension
- Unzip the file
- Create a folder {Magento 2 root}/app/code/MagePal/LinkProduct
- Copy the content from the unzip folder

#### Step 2 - Enable extension ("cd" to {Magento root} folder)

[](#step-2---enable-extension-cd-to-magento-root-folder)

```
  php -f bin/magento module:enable --clear-static-content MagePal_LinkProduct
  php -f bin/magento setup:upgrade

```

Contribution
------------

[](#contribution)

Want to contribute to this extension? The quickest way is to open a [pull request on GitHub](https://help.github.com/articles/using-pull-requests).

Importing via CSV or 3rd party extensions
-----------------------------------------

[](#importing-via-csv-or-3rd-party-extensions)

To import via CSV, you need to have the [a patch applied to the core](https://github.com/magento/magento2/pull/21230/commits/0846e9aed7040659e7ce3e109eb91df3f5fdfb7e.patch) (until merged to Magento 2).

Support
-------

[](#support)

If you encounter any problems or bugs, please open an issue on [GitHub](https://github.com/magepal/link-product/issues).

Need help setting up or want to customize this extension to meet your business needs? Please email  and if we like your idea we will add this feature for free or at a discounted rate.

Magento 2 Extensions
--------------------

[](#magento-2-extensions)

- [Custom SMTP](https://www.magepal.com/magento2/extensions/custom-smtp.html)
- [Catalog Hover Image for Magento](https://www.magepal.com/magento2/extensions/catalog-hover-image-for-magento.html)
- [Enhanced Success Page for Magento 2](https://www.magepal.com/magento2/extensions/enhanced-success-page.html)
- [Enhanced Transactional Emails for Magento 2](https://www.magepal.com/magento2/extensions/enhanced-transactional-emails.html)
- [Google Tag Manager](https://www.magepal.com/magento2/extensions/google-tag-manager.html)
- [Enhanced E-commerce](https://www.magepal.com/magento2/extensions/enhanced-ecommerce-for-google-tag-manager.html)
- [Reindex](https://www.magepal.com/magento2/extensions/reindex.html)
- [Custom Shipping Method](https://www.magepal.com/magento2/extensions/custom-shipping-rates-for-magento-2.html)
- [Preview Order Confirmation](https://www.magepal.com/magento2/extensions/preview-order-confirmation-page-for-magento-2.html)
- [Guest to Customer](https://www.magepal.com/magento2/extensions/guest-to-customer.html)
- [Admin Form Fields Manager](https://www.magepal.com/magento2/extensions/admin-form-fields-manager-for-magento-2.html)
- [Customer Dashboard Links Manager](https://www.magepal.com/magento2/extensions/customer-dashboard-links-manager-for-magento-2.html)
- [Lazy Loader](https://www.magepal.com/magento2/extensions/lazy-load.html)
- [Order Confirmation Page Miscellaneous Scripts](https://www.magepal.com/magento2/extensions/order-confirmation-miscellaneous-scripts-for-magento-2.html)
- [HTML Minifier for Magento2](https://www.magepal.com/magento2/extensions/html-minifier.html)

© MagePal LLC. | [www.magepal.com](https://www.magepal.com)

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity42

Moderate usage in the ecosystem

Community19

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 86.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~289 days

Recently: every ~450 days

Total

8

Last Release

697d ago

PHP version history (5 changes)1.1.1PHP ~5.6.0|7.0.2|7.0.4|~7.0.6|~7.1.0|~7.1.3|~7.2.0

1.1.3PHP ~5.6.0|7.0.2|7.0.4|~7.0.6|~7.1.0|~7.1.3|~7.2.0|~7.3.0

1.1.6PHP ~5.6.0|7.0.2|7.0.4|~7.0.6|~7.1.0|~7.1.3|~7.2.0|~7.3.0|~7.4.0

1.1.7PHP ~5.6.0|7.0.2|7.0.4|~7.0.6|~7.1.0|~7.1.3|~7.2.0|~7.3.0|~7.4.0|~8.1.0

1.1.8PHP ~7.4.0|~8.1.0|~8.2.0|~8.3.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/e926912bcbab02cddd5619f9c5eca81ddfeac0d5bbbee54134625b1f398f3ea6?d=identicon)[magepal](/maintainers/magepal)

---

Top Contributors

[![srenon](https://avatars.githubusercontent.com/u/1415141?v=4)](https://github.com/srenon "srenon (25 commits)")[![rou9e](https://avatars.githubusercontent.com/u/18616566?v=4)](https://github.com/rou9e "rou9e (2 commits)")[![amenk](https://avatars.githubusercontent.com/u/1087128?v=4)](https://github.com/amenk "amenk (1 commits)")[![DanieliMi](https://avatars.githubusercontent.com/u/31039652?v=4)](https://github.com/DanieliMi "DanieliMi (1 commits)")

---

Tags

custom-modulemagento-2magento-2-extensionmagento2magento2-extensionmagento2-extension-freemagento2-module

### Embed Badge

![Health badge](/badges/magepal-link-product/health.svg)

```
[![Health](https://phpackages.com/badges/magepal-link-product/health.svg)](https://phpackages.com/packages/magepal-link-product)
```

###  Alternatives

[loki/magento2-components

Core module for defining Alpine.js components with advanced AJAX features

1015.1k29](/packages/loki-magento2-components)[mollie/magento2

Mollie Payment Module for Magento 2

1142.0M17](/packages/mollie-magento2)[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

69362.0k](/packages/run-as-root-magento2-prometheus-exporter)[magepal/magento2-form-field-manager

Customer and Address Form Fields Manager for Magento2

294.0k](/packages/magepal-magento2-form-field-manager)[zwernemann/module-withdrawal

Magento 2 EU Withdrawal Button Module - Adds a withdrawal/revocation button for orders in compliance with EU Directive (EU) 2023/2673

2610.9k2](/packages/zwernemann-module-withdrawal)[angeo/module-llms-txt

Magento 2 module for AI Engine Optimization (AEO). Generates spec-compliant llms.txt and llms-full.txt per llmstxt.org standard, plus streaming JSONL for vector indexing. Multi-store, multi-website, CLI, cron, async admin UI, Page Builder-aware sanitization, customer-group pricing, atomic writes, ETag/Cache-Control, .md mirrors.

132.2k](/packages/angeo-module-llms-txt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
