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.
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ş
- Yönetim paneline giriş yapın (site yöneticisi yetkisi gerekir).
- Şablon Yönetimi → Tema Editörü menüsüne gidin.
- 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ışı
- Düzen sekmesinde değiştirmek istediğiniz bloğu seçin.
- Metin, görsel veya sorgu alanlarını düzenleyin.
- Önizlemeyi kontrol edin.
- Kaydet ile değişiklikleri uygulayın.
- Mağazayı normal ziyaretçi gibi açıp sonucu doğrulayın.
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 |
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.
- FTP programı ile sunucuya bağlanın.
/templates/<aktif_tema>/klasörüne gidin.- Düzenlemek istediğiniz dosyayı indirin, yedekleyin, düzenleyin.
- Dosyayı tekrar yükleyin.
- 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.phpiç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;
includeile 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
- Firmalar menüsünden firma ekleyin.
- Banner Bilgileri ile banner kaydı oluşturun.
- Banner Yönetiminde limit ve kod tanımlayın.
- Ş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.
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.phpiç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:
- Yönetim panelinden önbellek temizleme işlemini çalıştırın.
style.cssdüzenlediyseniz dosya linkine sürüm parametresi ekleyin (style.css?v=2gibi) veya tarayıcı önbelleğini temizleyin.- Ü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.phpiç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ıç
- Yedek alın (panel veya FTP).
- Site Ayarlarından aktif şablonu not edin.
- Küçük metin/renk/logo değişikliği → Tema Editörü veya Şablon Ayarları.
- HTML/CSS/ürün kartı değişikliği → Şablon Kod Düzenleme veya FTP.
- 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.