# PrestaShop 1.6’dan 1.7’ye: temayı değiştiren basamak

> PrestaShop’ta 1.6’dan 1.7’ye geçmek, daha ileri gitmek için atılması zorunlu ilk adımdır: tema motoru değişir, yönetim panelinin bir kısmı Symfony’ye taşınır ve ödeme sayfasındaki ödeme yöntemleri hook’u artık aynı değildir. İşte somut olarak neyin bozulduğu ve bunu nasıl ele aldığım.

- Source canonique : [https://allaux.fr/tr/prestashop/migration/1-6-vers-1-7](https://allaux.fr/tr/prestashop/migration/1-6-vers-1-7)
- Langue : TR
- Dernière mise à jour : 2026-09-30

## Doğrudan yanıt

> Herhangi bir şeye başlamadan önce ödeme modüllerinizi listeleyin: hâlâ displayPayment hook’una bağlı olanlar, yalnızca paymentOptions’ın çağrıldığı 1.7 ödeme adımından tek bir hata mesajı bile vermeden kaybolur. Tema yeniden inşasını da hesaba katın: Default üzerine kurulmuş bir 1.6 teması, şablon ağacı farklı olan Classic temalı 1.7 üzerine kurulmaz.

## 1.6 ile 1.7 arasında gerçekte ne değişiyor

PrestaShop 1.6, özel bir “legacy” framework’e ve tamamen Smarty’ye dayalı bir şablon sistemine sahiptir; varsayılan teması Default’tur. 1.7’den itibaren, yönetimin bir kısmı ve bazı ön yüz denetleyicileri, bu ekranlar için Twig kullanılarak Symfony’ye taşınır; Smarty geri kalanı için kullanılmaya devam eder: mimari hibrit hâle gelir. Varsayılan tema da ad değiştirir; 1.6 teması Bootstrap 3 üzerindeyken Bootstrap 4 tabanlı Classic, Default’un yerini alır. Çok özelleştirilmiş olsa bile bir 1.6 teması 1.7’ye olduğu gibi kurulamaz: şablon şablon yeniden inşa edilmesi gerekir.

Mağazaları en sık bozan değişiklik, ödeme adımıyla ilgilidir. 1.6’da ödeme eklentileri displayPayment hook’una bağlanır. 1.7’den itibaren bu hook paymentOptions ile değiştirilir. Güncellenmemiş bir eklenti, herhangi bir hata mesajı vermeden ödeme adımında artık görünmez: müşteri ödeme yapamaz.

Veritabanı yapısı da iki ana sürüm arasında değişir; yeni tablolar ve yeniden adlandırılmış sütunlar eklenir: olduğu gibi geri yüklenen ham bir SQL dökümü güvenilir değildir, gerekli şema güncelleme betiklerini çalıştıran resmi autoupgrade eklentisidir.

## 1.6’dan 1.7’ye geçişte tipik olarak neler bozulur

- Ödeme eklentisi, displayPayment hook’u artık çağrılmadığı için hiçbir hata mesajı vermeden ödeme adımından kaybolur.
- Tema boş bir sayfa veya bozuk bir görünüm gösterir; 1.6’nın .tpl şablonları artık 1.7’nin dizin yapısıyla uyuşmaz.
- Yönetim panelinin bazı ekranları yer değiştirir; yönetimin bir kısmı artık Symfony denetleyicileri tarafından yönetilir.
- Eski süslü parantez dizi erişim söz dizimini kullanan eklentiler (örn. $array{0}), PHP de yükseltilmişse ölümcül hatalar verir.

## 1.6’dan 1.7’ye geçişi nasıl yürütüyorum

1. **Eklentilerin ve temanın envanteri** — Kurulu her eklentiyi ve sürümünü listeliyor, yapılandırma dosyasında 1.7 uyumluluğu bildirip bildirmediğini kontrol ediyorum — aynısını tema için de yapıyorum.
2. **Herhangi bir işlem yapmadan önce tam yedekleme** — Herhangi bir şey çalıştırmadan önce sitenin tüm dosyalarını, tam bir veritabanı dökümünü ve kritik eklentilerin (ödeme, taşıyıcı) yapılandırmasını yedekliyorum.
3. **Mağazanın bir kopyası üzerinde geçiş** — autoupgrade eklentisini bir test ortamında çalıştırıyorum, asla üretimde değil. Güncellemeden önce dosyaları ve veritabanını tekrar yedekliyor; hata durumunda geri yükleme sunuyor.
4. **Temanın yeniden inşası ve ödeme hook’unun değiştirilmesi** — Temayı Classic üzerine uyarlıyor veya yeniden inşa ediyor, her ödeme eklentisinin eski displayPayment yerine paymentOptions kullandığını kontrol ediyorum.
5. **Kontrol, ardından geçiş** — Test mağazası onaylandıktan sonra, devam eden siparişler üzerindeki etkiyi sınırlamak için üretime geçişi düşük trafikli bir zaman dilimine planlıyorum.

## Bilinmesi gereken geri dönüşü olmayan nokta

> autoupgrade eklentisi yedeğini /autoupgrade/backup klasöründe saklar. Bu yedeği başka bir yere aktarmadan önceki bir denemenin üzerine yeni bir geçiş çalıştırmak yedeği eskisinin üzerine yazar: bu noktadan itibaren geri dönmek çok daha zorlaşır.

## Neyi yedekliyorum, sonrasında neyi kontrol ediyorum

Herhangi bir şey çalıştırmadan önce, sitenin tüm dosya ağacını (.php dosyaları, tema, eklentiler, görseller), tam bir veritabanı dökümünü ve hook değişikliğine en duyarlı ödeme ile taşıyıcı eklentilerinin yapılandırmasını yedekliyorum; bunu autoupgrade/backup klasörünün dışında saklıyorum, çünkü bu klasör sonraki bir denemeyle üzerine yazılabilir.

Geçişten sonra, sipariş, müşteri ve katalog ürünü sayısının öncekiyle eşleştiğini, ana URL’lerin doğru durum koduyla yanıt verdiğini ve yönlendirmelerin çalıştığını kontrol ediyorum. Ayrıca sepetten ödemeye eksiksiz bir sipariş testi yaparak eklentinin paymentOptions hook’uyla doğru göründüğünü doğruluyorum.

## monmodule.php

```
// PS 1.6
$this->registerHook('displayPayment');

// PS 1.7+
$this->registerHook('paymentOptions');
```

## Bu geçişi hazırlamak veya tamamlamak için

- **Geçiş öncesi kontrol listesi** — Sürüm ne olursa olsun, bir PrestaShop geçişi başlatmadan önce kontrol ettiğim her şey. ([/prestashop/migration/checklist-avant-migration](/prestashop/migration/checklist-avant-migration))
- **Uyumsuz eklentiler** — Geçişi geçemeyecek eklentileri nasıl tespit ettiğim ve bunları neyle değiştirdiğim. ([/prestashop/migration/modules-incompatibles](/prestashop/migration/modules-incompatibles))
- **SEO’yu korumak** — Kazanılmış SEO değerini kaybetmemek için URL’ler ve yönlendirmeler konusunda kontrol ettiklerim. ([/prestashop/migration/conserver-son-referencement](/prestashop/migration/conserver-son-referencement))
- **Satışı durdurmadan geçiş yapmak** — Devam eden siparişleri engellemeden üretime geçiş yöntemi. ([/prestashop/migration/migrer-sans-interruption-de-vente](/prestashop/migration/migrer-sans-interruption-de-vente))

| Valeur | Description |
|---|---|
| PHP 5.2 – 7.1 | PrestaShop 1.6 |
| Alt sürüme göre PHP 7.2 – 7.4 | PrestaShop 1.7 |

Source : devdocs.prestashop-project.org

## FAQ

### Geçişten sonra ödeme eklentisi ödeme adımından kayboldu, neden?

Neredeyse her zaman hook’tan kaynaklanır. 1.6’da ödeme eklentileri displayPayment’a bağlanır; 1.7’den itibaren bu hook paymentOptions ile değiştirilir. Eklenti güncellenmemişse, herhangi bir görünür hata olmadan basitçe artık görüntülenmez.

### Özelleştirdiğim 1.6 teması 1.7’de olduğu gibi çalışacak mı?

Hayır. Varsayılan tema hem ad hem taban değiştirir (Classic, Default’un yerini alır) ve hibrit Symfony/Smarty mimarisiyle şablon dizin yapısı değişir: tema uyarlanmalı veya şablon şablon yeniden inşa edilmelidir.

### PrestaShop 1.6’da kalmak riskli mi?

1.6’nın resmi bakımı 30 Haziran 2019’dan beri durdurulmuştur: hangileri olduğu veya ne zaman istismar edileceği söylenemeyen, artık düzeltilmeyen güvenlik açıklarına maruz kalınır.

### 1.7’ye geçtikten sonra hangi PHP sürümünü hedeflemeliyim?

Seçilen 1.7 alt sürümüne bağlıdır: yalnızca 1.7.5 ile 1.7.8 arası sürümler PHP 7.2’yi destekler, yalnızca 1.7.8 PHP 7.4’ü destekler. Hiçbir 1.7.x sürümü PHP 8 altında çalışmaz.
