Şablonumda direkt dosyaları üzerinden düzenleme nasıl yapabilirim?

ShopPHP mağaza görünümü, sunucunuzdaki aktif şablon klasörü üzerinden yönetilir. Dosyalar templates/<tema_adı>/ altında bulunur. Aktif tema adı Yönetim Paneli → Site Ayarları → Aktif Şablon Dizini alanından belirlenir.

Önemli: Şablon düzenlemesi ileri düzey bir işlemdir. Yanlış bir değişiklik anasayfa, ürün listesi, sepet veya ödeme sayfalarının bozulmasına neden olabilir. Düzenleme yapmadan önce mutlaka site yedeği alın.

1. Düzenlemeden önce hazırlık

1.1. Yedek alın

Şu yöntemlerden biriyle yedek almanız önerilir:

  • Panel: Yönetim Paneli → Yedek Dosya (site yedeği)
  • FTP: templates/<aktif_tema>/ klasörünün tamamını bilgisayarınıza indirin

1.2. Dosya yazma izni (CHMOD)

Panelden dosya kaydedebilmek için ilgili şablon klasörüne FTP üzerinden yazma izni verilmelidir (çoğu sunucuda 755 veya 777). İzin yoksa panelde “Dosya kaydedilemedi” uyarısı alırsınız; bu durumda FTP ile düzenleme yapın veya hosting firmanızdan izin talep edin.

1.3. Aktif şablonu kontrol edin

Site Ayarları ekranında hangi şablonun aktif olduğunu görürsünüz. Şablonu aktif etmeden önce denemek için paneldeki “Seçtiğiniz şablonu aktif etmeden kontrol etmek için tıklayın” bağlantısını veya mağaza adresine ?temp=şablon_adı parametresini kullanabilirsiniz (şablon geçişi için gerekli koşullar sağlanmalıdır).

2. Hangi yöntemi kullanmalıyım?

Ne yapmak istiyorsunuz? Önerilen yöntem Panel yolu
Anasayfa blok sırası, banner metinleri, renk, logo, tipografi Tema Editörü (destekleyen şablonlarda) Şablon Yönetimi → Tema Editörü
Şablona özel form ayarları (slogan, footer metni, blok seçimleri) Şablon Ayarları Şablon Yönetimi → Şablon Ayarları
HTML, CSS, ürün kartı/liste şablonu, temp.php kodu Şablon Kod Düzenleme veya FTP Şablon Yönetimi → Şablon Kod Düzenleme
E-posta şablonları (sipariş, bülten ürün kartı) Kod düzenleme templates/system/email/
Büyük tasarım değişikliği, yeni tema Premium şablon veya özel giydirme Modüller → Premium Şablonlar

Not: Tema Editörü her lisans paketinde ve her şablonda bulunmayabilir. Şablonunuzda editor.json tanımı yoksa görsel editör yerine Şablon Ayarları ve Kod Düzenleme kullanılır.

3. Tema Editörü ile düzenleme (görsel yöntem)

Destekleyen şablonlarda (ör. Altiva, Velora ve benzeri modern temalar) en güvenli ve pratik yol Tema Editörüdür.

3.1. Panele giriş

  1. Yönetim paneline giriş yapın (site yöneticisi yetkisi gerekir).
  2. Şablon Yönetimi → Tema Editörü menüsüne gidin.
  3. Sol tarafta sekmeler, sağ tarafta canlı önizleme görünür.

3.2. Sekmeler ve görevleri

Sekme Ne işe yarar? Kim kullanır?
Düzen Anasayfa bloklarının sırası, aç/kapa, banner metinleri, ürün sorguları Mağaza yöneticisi
Ayarlar Editörde karşılığı olmayan şablona özel alanlar Mağaza yöneticisi
Görünüm Renk paleti, logo, tipografi, genel görsel katman Mağaza yöneticisi
Kod temp.php, style.css, systemDefault dosyaları Geliştirici / ileri düzey kullanıcı
AI Doğal dil ile stil/düzen önerisi (OpenAI API anahtarı gerekir) Geliştirici

3.3. Tipik iş akışı

  1. Düzen sekmesinde değiştirmek istediğiniz bloğu seçin.
  2. Metin, görsel veya sorgu alanlarını düzenleyin.
  3. Önizlemeyi kontrol edin.
  4. Kaydet ile değişiklikleri uygulayın.
  5. Mağazayı normal ziyaretçi gibi açıp sonucu doğrulayın.
İpucu: Tema editörü destekli şablonlarda Şablon Ayarları menüsü kapalı olabilir; logo, slogan ve renk gibi ayarlar doğrudan editörden yönetilir.

4. Şablon Ayarları ile düzenleme

Birçok temada ayarlar.php dosyası vardır. Bu dosya panelde Şablon Ayarları ekranını oluşturur.

4.1. Bu ekranda genelde neler bulunur?

  • Anasayfa slogan ve kısa metinler
  • Footer metinleri
  • Renk ve görsel tercihleri
  • Blok aç/kapa seçenekleri
  • Banner alanlarına bağlı görseller

Sayfanın üst bilgi kutusunda aktif şablon adı ve Şablon Kod Düzenleme bağlantıları da yer alır. Kod düzeyinde değişiklik gerektiğinde bu bağlantıları kullanın.

5. Şablon Kod Düzenleme (panel editörü)

İleri düzey HTML/PHP/CSS düzenlemesi için paneldeki kod editörü kullanılır.

5.1. Erişim

Şablon Yönetimi → Şablon Kod Düzenleme
veya doğrudan: secure/s.php?f=edit.php&file=templates/<tema_adı>/

5.2. Sık düzenlenen dosyalar

Dosya / klasör Görevi
temp.php Ana HTML iskeleti: header, footer, menü, $PAGE_OUT alanı
index.php Anasayfaya özel içerik
style.css Tema stilleri
temp.js Tema JavaScript dosyası
lib.php Şablona özel PHP fonksiyonları (panelden düzenlenemez)
systemDefault/UrunList.php Ürün listesi grid iskeleti
systemDefault/UrunListShow.php Tek ürün kartı (liste içi)
systemDefault/UrunGoster.php Ürün detay sayfası şablonu
blocks/*.php Sepet, giriş formu gibi kutu şablonları
config.xml Ürün resim boyutları, sütun sayısı, blok dosya adları
images/ Logo, rozet, buton görselleri
Güvenlik: Panel kod editöründen lib.php, fonksiyon.php, conf.php gibi çekirdek dosyalar düzenlenemez. Bu dosyalar ionCube ile şifrelenmiş olabilir; şifreli dosyalar da düzenlemeye kapalıdır.

6. FTP veya hosting dosya yöneticisi ile düzenleme

Panelden kayıt yapılamıyorsa veya toplu dosya taşıma gerekiyorsa FTP kullanın.

  1. FTP programı ile sunucuya bağlanın.
  2. /templates/<aktif_tema>/ klasörüne gidin.
  3. Düzenlemek istediğiniz dosyayı indirin, yedekleyin, düzenleyin.
  4. Dosyayı tekrar yükleyin.
  5. Site önbelleğini temizleyin ve tarayıcıda kontrol edin.

Logo değişikliği gibi basit işlemler için çoğu zaman templates/<tema>/images/ klasörüne yeni görsel yüklemek yeterlidir; ardından temp.php veya şablon ayarlarından logo yolunu güncelleyin.

7. Şablon klasör yapısı (özet)

templates/
 <aktif_tema>/
     temp.php          → Ana şablon (header/footer)
     index.php         → Anasayfa
     style.css         → Stil dosyası
     temp.js           → JavaScript
     lib.php           → Şablona özel fonksiyonlar
     ayarlar.php       → Panel şablon ayarları (varsa)
     config.xml        → Resim boyutu, sütun, blok adları
     blocks/           → Kutu şablonları
     systemDefault/    → Ürün kartı ve liste parçaları
     lists/            → Özel listeler
     images/           → Tema görselleri

8. Sık yapılan düzenlemeler

8.1. Logo değiştirme

  • Tema editörü destekliyorsa: Görünüm sekmesi → Logo
  • Şablon ayarları varsa: ilgili logo alanı
  • Manuel: images/ klasörüne logo yükleyin, temp.php içindeki img etiketini güncelleyin
  • Site Ayarları’ndaki Şablon Logo alanı da kullanılabilir (tema destekliyorsa)

8.2. Anasayfa ürün listesi görünümü

  • Liste iskeleti: systemDefault/UrunList.php (veya temadaki özel liste dosyası)
  • Ürün kartı: systemDefault/UrunListShow.php
  • Ürün listesi dosyalarında <!-- HEADER -->, <!-- TD -->, <!-- FOOTER --> yorum blokları korunmalıdır
  • Liste şablonları PHP olarak çalıştırılmaz; include ile parça eklenemez

8.3. Ürün detay sayfası

systemDefault/UrunGoster.php dosyası ürün detay HTML’ini içerir. Fiyat, stok, sepete ekle gibi alanlar makro ile gösterilir; elle fiyat yazmayın.

8.4. Banner ekleme

  1. Firmalar menüsünden firma ekleyin.
  2. Banner Bilgileri ile banner kaydı oluşturun.
  3. Banner Yönetiminde limit ve kod tanımlayın.
  4. Şablonda uygun yere <?= insertBanner('BANNER-KODU') ?> ekleyin veya temanın kendi banner fonksiyonunu kullanın.

8.5. Ürün resim boyutları

config.xml içindeki urun_resim bölümündeki maximum_* değerlerini güncelleyin. Değişiklikten sonra önbelleği temizleyin.

8.6. E-posta şablonları

Sipariş ve bülten e-postaları mağaza temasından bağımsızdır:

  • templates/system/email/temp.php — genel e-posta sarmalayıcısı
  • templates/system/email/urun.php — bültende ürün kartı

Panel: Mesajlaşma → E-Posta Şablonları

9. Şablon makroları (placeholder’lar)

Ürün kartı ve liste şablonlarında {%URUN_FIYAT%}, {%URUN_RESIM%}, {%SEPETE_EKLE_LINK%} gibi makrolar kullanılır. Bu makrolar çalışma anında gerçek veriyle değiştirilir.

Makro örneği Anlamı
{%URUN_BASLIK%} Ürün adı
{%URUN_FIYAT%} Satış fiyatı
{%URUN_FIYAT_KDV_DAHIL%} KDV dahil fiyat
{%URUN_RESIM%} Ürün görseli
{%STOK_DURUM%} Stok bilgisi
{%DB_NAME%} Veritabanındaki ürün alanı
{%FUNC_fonksiyonAdi%} Parametresiz PHP fonksiyon çıktısı
{if indirimde}…{/if} Koşullu blok (ürün alanına göre)

Tam makro listesi için yardım kategorisindeki Ürün gösterim makroları sayfasına bakın.

Makroları silmeyin veya rastgele isim uydurmayın. Tasarım değişikliği için HTML/CSS ile sarmalama yapın; fiyat ve stok için PHP hesabı yazmayın.

10. Çoklu dil kuralları

Mağazanızda birden fazla dil varsa şablon metinlerinde şu yöntemler kullanılır:

  • {%LANG_anahtar%} — dil tablosundaki sabit metin
  • Şablona özel metinler için tema lib.php içindeki dil varsayılanları
  • Tema editöründe çok dilli alanlar otomatik dil sekmesi ile kaydedilir

Sabit Türkçe metin yazmak yerine mümkün olduğunca dil sistemi kullanın; aksi halde diğer dillerde boş veya yanlış metin görünür.

11. Önbellek (cache) ve değişikliklerin görünmemesi

Şablon değiştirdikten sonra eski görünüm kalıyorsa:

  1. Yönetim panelinden önbellek temizleme işlemini çalıştırın.
  2. style.css düzenlediyseniz dosya linkine sürüm parametresi ekleyin (style.css?v=2 gibi) veya tarayıcı önbelleğini temizleyin.
  3. Ürün listesi şablonu değiştiyse liste önbelleği de etkilenir; temizlik sonrası tekrar deneyin.

Önemli: Fiyat, stok, sepet ve ödeme gibi anlık veriler önbelleğe alınmamalıdır; bu alanlarda cache kullanmayın.

12. Güvenlik ve dikkat edilmesi gerekenler

  • Düzenleme öncesi yedek alın.
  • Canlı sitede test ederken mümkünse düşük trafikli saatleri seçin.
  • temp.php içinde kullanıcı girdisini doğrudan ekrana yazmayın; htmlspecialchars() kullanın.
  • Tema editörü marker satırlarını (<!--TE home ...-->) silmeyin; destekleyen şablonlarda düzen kaybına yol açar.
  • Bir şablonun dosyalarını başka şablon klasöründen kopyalamayın; her tema kendi dizininde düzenlenmelidir.
  • Demo sitede bazı dosyalar (ör. lib.php) kasıtlı olarak kapalıdır.

13. Sorun giderme

Sorun Olası neden Çözüm
Panelden kayıt yapılamıyor Dosya yazma izni yok FTP ile CHMOD ayarlayın veya FTP’den düzenleyin
Beyaz sayfa / PHP hatası temp.php sözdizimi hatası Yedekten geri yükleyin; Tema Editörü .te-bak yedeği oluşturur
Ürün listesi bozuk görünüyor HEADER/TD/FOOTER yorumları bozulmuş Liste şablonundaki bölüm yorumlarını orijinale göre düzeltin
CSS değişmiyor Tarayıcı veya site cache Cache temizleyin, CSS’e ?v= ekleyin
Tema Editörü görünmüyor Modül yüklü değil veya şablon desteklemiyor Şablon Ayarları + Kod Düzenleme kullanın
Şablon Ayarları menüsü yok Şablonda ayarlar.php yok veya editör devralmış Kod düzenleme veya Tema Editörü kullanın

14. Özet: adım adım hızlı başlangıç

  1. Yedek alın (panel veya FTP).
  2. Site Ayarlarından aktif şablonu not edin.
  3. Küçük metin/renk/logo değişikliği → Tema Editörü veya Şablon Ayarları.
  4. HTML/CSS/ürün kartı değişikliği → Şablon Kod Düzenleme veya FTP.
  5. Değişiklikten sonra önbelleği temizleyin ve farklı cihazlarda test edin.

Sürüm notu: Bu içerik ShopPHP v5 panel akışına göre hazırlanmıştır. Şablon adları ve menü konumları kurulumunuza göre küçük farklılık gösterebilir.

Şablon Kişiselleştirme

Şablon Kişiselleştirme kategorisinde bulunan diğer sıkça sorulan sorular.