# Birbirinin ayağına basan iki eklenti

> Her eklenti tek başınayken kusursuz çalışır. Birlikte etkinleştirildiklerinde sepeti bozar, bir sayfayı boşaltır ya da yönetim panelini kilitler. Çakışma açıklamalar okunarak tahmin edilmez: yalıtarak kanıtlanır ve bunun bir yöntemi vardır.

- Source canonique : [https://allaux.fr/tr/modules/conflit-entre-deux-modules](https://allaux.fr/tr/modules/conflit-entre-deux-modules)
- Langue : TR
- Dernière mise à jour : 2026-09-30

## Doğrudan yanıt

> En son kurduğunuz modülü devre dışı bırakın: arıza kayboluyorsa çakışma doğrulanmış olur. PrestaShop’ta ardından override/ klasöründe aynı sınıfı değiştiren iki dosya olup olmadığına ve ilgili hook üzerindeki çalışma sırası için Modüller > Konumlar ekranına bakın. Yönetim paneline erişemiyorsanız ps_module tablosunda active alanını 0 yapın.

## Hatadan çok çakışmaya işaret edenler

- Arıza, başka hiçbir değişiklik olmadan tam bir eklenti kurulumu anında ortaya çıktı
- Sorunlu eklentiyi devre dışı bırakmak sorunu çözüyor, ama diğer eklenti işlevini yitiriyor
- Bir sayfa ortasında kesiliyor, alt bölümü artık görünmüyor
- Bir buton tepki vermiyor ve tarayıcı konsolunda betik hatası görünüyor
- Bir etkinleştirmenin hemen ardından yönetim paneline erişilemiyor

## Karşılaştığım dört çakışma biçimi

Geçersiz kılma çakışması. PrestaShop'ta bir eklenti, bir geçersiz kılma dosyası bırakarak çekirdek bir sınıfın davranışını değiştirebilir. Aynı sınıfın aynı yöntemini değiştirmek isteyen iki eklenti bir arada bulunamaz: ikincisi kurulmayı reddeder ya da daha kötüsü, dosyalar elle bırakılmışsa birinciyi sessizce ezer. Etkin olduğu hâlde «artık hiçbir şey yapmayan» bir eklentinin en sık nedeni budur.

Sıra çakışması. Aynı yere bağlanmış iki eklenti art arda çalışır ve ikincisi birincinin yaptığını geri alabilir: bir toplamı yeniden hesaplamak, bir içeriği değiştirmek, bir fiyatı yeniden tanımlamak. Sıra değiştirilebilir ve bazen sırayı değiştirmek her şeyi çözer.

Kitaplık çakışması. İki eklenti aynı JavaScript kitaplığının kendi sürümünü yükler. Sayfa ikisini de yükler, ikincisi birincisini ezer ve ilk sürüme bağlı olan her şey durur. Bu, sunucu günlüklerinde değil tarayıcı konsolunda görünür.

Ad çakışması. İki eklenti aynı adı taşıyan bir işlev ya da sınıf bildirir ve PHP ölümcül bir yeniden bildirim hatasıyla durur. WordPress'te bu, aynı üçüncü taraf kitaplığı önlem almadan içine alan eklentilerin klasik sorunudur.

## Mağazayı bozmadan sorumluyu nasıl bulurum

1. **Üretimde değil bir kopya üzerinde çalışmak** — Sırayla devre dışı bırakarak yalıtmak, satış yapan bir mağazada kabul edilebilir değildir. Siteyi çoğaltır ve canlıda kabul edilemeyecek işlemleri orada yaparım.
2. **Hiçbir şeye dokunmadan önce günlükleri okumak** — Ölümcül bir yeniden bildirim hatası dosyayı ve satırı adıyla verir: çakışma hiçbir şey devre dışı bırakılmadan bir dakikada bulunur.
3. **Teker teker değil ikiye bölerek ilerlemek** — Eklentilerin yarısını devre dışı bırakır, denerim, sonra kalan yarıyı bölerim. Çok eklentili bir mağazada bu, deneme sayısını belirgin biçimde azaltır.
4. **Aynı anda tarayıcı konsoluna bakmak** — Bir JavaScript çakışması sunucu tarafında iz bırakmaz. Sayfa yükleniyor ama bir buton tepkisiz kalıyorsa cevap PHP günlüklerinde değil konsoldadır.

## Sorumlu bulunduktan sonra dört olası çıkış

En basiti: çakışma bir sonucun ezilmesinden geliyorsa çalışma sırasını değiştirmek. İkincisi: iki eklentiden birinin işlevini, ikisini birden yapan tek bir eklentiye taşımak; bu, çakışmayı kökünden kaldırır. Üçüncüsü: ikisinden birini, aynı şeyi geçersiz kılmayan bir çözümle değiştirmek. En kalıcısız olan dördüncüsü ise sorunlu eklentiyi kendi kodunda düzeltmektir; ancak bu düzeltme yalıtılmadıysa bir sonraki güncellemede kaybolur.

Çakışmanın kazadan çok kırılgan bir alışkanlıktan geldiğini her zaman belirtirim: yalnızca bir alan eklemek için çekirdek sınıf geçersiz kılması bırakan ya da ortak bir kitaplığın kendi kopyasını taşıyan bir eklenti, ileride başka eklentilerle yeni çakışmalar üretecektir. Onu değiştirmek, her seferinde yamamaktan bazen ucuza gelir.

## İlgili sayfalar

- **Güncelleme sonrası eklenti çakışması** — Tetikleyicinin kurulum değil güncelleme olduğu durumda aynı konunun WordPress tarafı. ([/wordpress-woocommerce/problemes/conflit-extensions-apres-mise-a-jour](/wordpress-woocommerce/problemes/conflit-extensions-apres-mise-a-jour))
- **Eklenti kurulmayı reddediyor** — Çakışma çalışmayı değil kurulumun kendisini engellediğinde. ([/prestashop/problemes/module-refuse-installation](/prestashop/problemes/module-refuse-installation))
- **PrestaShop'ta geçersiz kılma mı, eklenti mi** — Sınıf geçersiz kılmasının neden en çok çakışma üreten teknik olduğu. ([/guides/override-ou-module-prestashop](/guides/override-ou-module-prestashop))
- **PrestaShop 500 hatası** — Çakışma boş sayfa ya da sunucu hatası olarak göründüğünde. ([/prestashop/erreur-500](/prestashop/erreur-500))

## FAQ

### Bir eklentiyi kurmadan önce çakışma öngörülebilir mi?

Kısmen. Çekirdek sınıf geçersiz kılmaları bırakıp bırakmadığına ve ortak kitaplıkları içine alıp almadığına bakılabilir: sıkıntıyı haber veren iki işaret bunlardır. Ama kesinlik ancak sitenin bir kopyasına kurarak elde edilir.

### Sorumluyu bulmak için eklentileri tek tek kapatmak gerekir mi?

En yavaş yöntem budur. Art arda ikiye bölme aynı sonuca çok daha az denemeyle ulaşır ve önceden günlükleri okumak çoğu zaman bu adımı tümüyle atlamayı sağlar.

### İki eklenti aynı sınıfı geçersiz kılabilir mi?

Aynı yönteme dokunmadıkları sürece aynı sınıfı geçersiz kılabilirler. İkinci kurulumu engelleyen, iki kez yeniden tanımlanan aynı yöntemdir.

### Çakışma eklentiden değil temadan gelebilir mi?

Evet ve sık olur. Bir kitaplığın kendi sürümünü taşıyan ya da şablonları güncel tutmadan kopyalayan bir tema, tam olarak çakışan bir eklenti gibi davranır. Bunu geçici olarak varsayılan temaya geçerek denerim.

### Çakışma giderildikten sonra testler yenilenmeli mi?

Evet ve yalnızca sorun çıkaran sayfada değil: çalışma sırasını değiştirmek ya da bir geçersiz kılmayı kaldırmak, belirtiyi başka yere, tipik olarak sipariş akışına taşıyabilir.
