Magento 2'ye üçüncü taraf uzantıları yüklemek için en iyi uygulamalar nelerdir?


16

Magento 2 için bir müşteri projesi üzerinde çalışırken, üçüncü taraf uzantılarını yüklemek ve takip etmek için sayısız yöntem keşfettim.

Entegratör kurulum yöntemini (besteci!) Kullandığımızı varsayarak, üçüncü taraf uzantılarını yönetmek için en iyi uygulamalar nelerdir?

Şimdiye kadar, satın aldığım veya indirdiğim her uzantının kendi composer.json dosyası vardı - ve uzantı yazarlarının uzantılarını yüklemelerini önerebilecek en az üç farklı yol olduğunu biliyorum:

  1. Bu dosyaları uygulamaya / koda kopyalayın
  2. Bu zip dosyasını klasöre kopyalayın, bir yapay yapı deposuna ekleyin ve gerekli kılın
  3. Bu çevrimiçi havuzu (yetkilendirmeli / yetkisiz) ekleyin ve zorunlu tutun

Şimdiye kadar, 1 & 2 ile karşılaştım ve sadece # 3 olduğundan şüpheleniyorum. Ama sonra, # 1'i önerenlerin bir "yol" havuzuna sahip olabileceğini fark ettim - uzantılarımı uygulama / koddan aynı klasöre taşıdım, bu eserleri koymaya karar verdim ve bu şekilde istedim.

Bu süreçte, depo yapılandırmam şuna benzer:

"repositories": {
    "0": {
        "type": "composer",
        "url": "https://repo.magento.com/"
    },
    "artifacts": {
        "type": "artifact",
        "url": "artifacts"
    },
    "third-party": {
        "type": "path",
        "url": "artifacts/*/*"
    },
},

Size sorum şu: buradaki en iyi uygulama nedir? Üçüncü taraf uzantılarını nasıl yönetiyorsunuz?

Şimdiye kadar yaptığım şekilde en iyi yol olduğuna inanıyorum - eğer sadece onların composer.json okunması ve herhangi bir bağımlılık çatışması (veya PHP sürüm kısıtlamaları) belirgin hale gelecektir - ama bunun yeterince kesin olduğunu düşünmüyorum.

Yanıtlar:


8
  • Composer üzerinden modül kurmak Magento 2'ye giden en iyi yoldur . Çünkü modülü composer ile kurarsak birçok avantajımız olur.

  • Modülü yükseltmek istiyorsanız, sadece composer.jsondosyadaki sürümü değiştirmeniz composer updateve rootMagentoento'da komutu çalıştırmanız gerekir.

  • Manuel kurulumdayken önce modülü indirmeniz ve eski dosyaları değiştirmeniz ve setup:upgrademodülü yükseltmek için komut çalıştırmanız gerekir.

  • Besteci aracılığıyla kurulan tüm modüller satıcı klasörüne indirilir.

  • Magento, modülü indirmek için varsayılan https://repo.magento.com/ URL'yi kullanır . Magento Marketplace'ten modül satın alırsanız.

  • Modülü üçüncü taraf web sitesinden satın alırsanız. Bir modülü indirmek ve kurmak için composer.json dosyasına bir havuz eklemeniz gerekir.

Örneğin

"repositories": {
    "0": {
        "type": "composer",
        "url": "https://repo.magento.com/" //Default Magento Repositry
    },
    "thirdparty-module": {
        "type": "composer",
        "url": "https://mymodule.thirdparty.com/" //Third Party Repositary
    }
},

Bence besteci Magento 2'ye modül kurmanın en iyi ve doğru yoludur.

Üçüncü Taraf Modülünü besteci ile kurun:

  1. Conposer.json dosyasına yeni depo eklemek için bu komutu çalıştırın

besteci yapılandırma depoları. üçüncü parti modülü git https://thirdparty-composer-url.com

  1. Şimdi composer.json dosyasına modülün bileşenini ve sürümünü eklemek için bu komutu çalıştırın

besteci gerektirir [bileşen adı]: [sürüm]

Forex.  composer require prince/helloword:1.0.0
  1. Şimdi modülü depodan indirmek için besteci güncellemesini çalıştırın .

besteci güncellemesi

  1. Şimdi modülü kurmak ve kaydetmek için çalıştırınsetup:upgrade config.php

php bin / magento kurulumu: yükseltme


1

Garip bir şekilde tüm cevaplar, eserleri tek bir olasılık olarak tanımladığınız noktayı kaçırıyor:

https://getcomposer.org/doc/05-repositories.md#artifact

Modül tedarikçileri, kullanabileceğiniz bir repoya sahip olmayabilir, bu nedenle eserler cevaplanır. Çoğunluk (karşılaştığım) dosyalar için bir zip paketi verecek, bu yüzden eserler aracılığıyla besteci ile kullanmak IMHO en kolay yoludur.

Tabii ki 3. taraf modül dosyaları için kendi repo'nuzu öne çıkarabilirsiniz, ancak şahsen bunlara fazladan adım atma noktasını görmüyorum.

Bunları uygulama klasörüne ekleyip dosyaları teslim ederseniz belirtmeniz gerekir, veya kendi repo ile 3. parti uzantısının sürümleri arasında hangi dosyaların değiştiğini kolayca görebilirsiniz.

Her neyse, https://magently.com/blog/magento-2-the-right-way-to-install-external-modules/ arşivlerinin kullanılmasıyla ilgili bu makaleyi buldum, böylece diğerleri de bu akışı kullanıyor.


-1

Bunu yapmanın iki yolu vardır, lütfen bunları aşağıda bulabilirsiniz.

(1) Besteci kullanarak otomatik kurulum

İndirilen ürünü pazardan satın alın ve indirilen ürün bilgilerinden bileşenin adını kontrol edin ve uygulama kökündeki composer.json dosyasını güncellemek için aşağıdaki örnek kodu kullanın .

Not: Git taahhüdünüze dahil etmek için composer.lock dosyasını eklemeyi unutmayın.

Resmi Referans: http://devdocs.magento.com/guides/v2.0/cloud/howtos/install-components.html

(2) Manuel Kurulum

İndirilen dosyalarınızdan bileşen zip dosyasını indirin ve geçici bir konumda açın ve registration.php dosyasını kontrol edin, orada bileşik satıcı adı ve bileşen adı göreceksiniz. İçinde benzer dizin yapısı oluşturun.

app/code/VendorName/ComponentName

Zip dosyanızı dizin yapısının içine çıkarın ve modülü etkinleştirmek için uygulama kök dizininizden aşağıdaki komutları çalıştırın.

php bin/magento module:enable VendorName_ComponentName
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush
php -R 777 var/

Aşağıdaki komut kullanılarak modülün etkinleştirildiğini kontrol edin. Etkin ve devre dışı tüm modüllerin listesini gösterecektir.

php bin/magento module:status

Bu yardımcı olur umarım!


Henüz doğru cevabı bulamadım. Bununla birlikte, bu konuda daha karışık oldum.
Kapil Yadav

-2

Eklentiyi uygulama / kod altına yerleştirerek magento2 için uzantılar yükledim ve web sitesi benim için iyi çalışıyor, bu yüzden uygulama / kod altına uzantı yerleştirerek bunları yüklemek uzantıları yüklemenin yollarından biridir!


-2

Üçüncü taraf uzantıyı yönetmenin en iyi yolu zip dosyasını indirmek ve zip dosyasını uygulama / kod klasörüne aktarmak ve sıkıştırmasını açmaktır.

Bundan sonra aşağıdaki komutları kullanın

  1. php bin / magento modülü: etkinleştir _
  2. php bin / magento kurulumu: yükseltme
  3. php bin / magento kurulumu: di: derleme

Dikkat edin: Bu en iyi uygulama değildir. Modüllerin kurulumu app/codeüzerinden kullanılması tavsiye edilmez composer. composerBunun yerine kullanın .
Jisse Reitsma
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.