PurifyCMS v3.1.8 yayında.

Tema Mühendisliği Çok Kolay

Karmaşık şablon dillerini unutun. Eğer HTML, CSS ve PHP değişkeni yazdırmayı biliyorsanız, zaten bir PurifyCMS Uzman Geliştiricisisiniz.

themes/
  kendi-temaniz/
    theme.json        // Meta bilgiler (Sürüm, Yazar)
    assets/           // CSS, JS, Font, Görseller burada
    src/              // Tekrar kullanılan bölümler (head.php, layout.php)
    pages/            // Sayfa giriş noktaları (index.php, about.php)

Yönlendirme (Routing) tamamen otomatiktir! pages/about.php oluşturmanız, alanadiniz.com/about sayfasını anında erişilebilir kılar.

Global Veri Matrisi

Sistem, her sayfaya kritik verileri otomatik olarak enjekte eder. Değişkenlerin döndürdüğü veri tiplerini ve örnek çıktıları aşağıda bulabilirsiniz.

TEMEL KONFİGÜRASYON

  • $cfg_mainurl (URL) : https://purify.nywhash.com
  • $cfg_domain (String) : purify.nywhash.com
  • $cfg_name (String) : Nywhash Purify
  • $cfg_legalname (String) : Nywhash Yazılım Ltd. Şti.
  • $cfg_active_theme (String) : purifydefault

GÖRSEL MARKALAMA

  • $cfg_logolink (URL) : https://cdn.com/logo.png
  • $cfg_favicon (URL) : https://cdn.com/favicon.ico

SOSYAL MEDYA

  • $cfg_social_x (URL) : https://x.com/nywhash
  • $cfg_social_linkedin (URL) : https://linkedin.com/company/nywhash
  • $cfg_social_instagram (URL) : https://instagram.com/nywhash

SEO & ANALİTİK

  • $cfg_robots (Bool) : true (Eklenebilir) / false (Engelli)
  • $cfg_googleanalytics (String) : G-XXXXXXXXX
  • $cfg_enable_analytics (Bool) : true (Aktif)

İLETİŞİM & SİSTEM

  • $cfg_support (Email) : [email protected]
  • $cfg_contact_email (Email) : [email protected]
  • $cfg_maintenance_mode (Bool) : false (Site açık)
  • $cfg_maintenance_msg (String) : Sistem bakımda!
  • $cfg_readonly_mode (Bool) : false (Düzenleme açık)

CSS ve Varlıkları Mükemmel Bağlamak

URL'ler değişebileceği için asla /themes/temaniz/assets/main.css şeklinde statik yol kullanmayın. Bunun yerine, global değişkenleri birleştirerek hatasız bir yapı kurun!

<!-- Stil dosyanızı bağlamanın doğru yolu! -->
<link rel="stylesheet" href="<?= $cfg_mainurl ?>/themes/<?= $cfg_active_theme ?>/assets/main.css">

<!-- Temanızdan bir görsel yüklemenin doğru yolu! -->
<img src="<?= $cfg_mainurl ?>/themes/<?= $cfg_active_theme ?>/assets/img/banner.jpg">

Dahili Contact Form API

SMTP ayarlarıyla, sunucu konfigürasyonlarıyla veya PHP'nin karmaşık mail kütüphaneleriyle uğraşmanıza gerek yok. PurifyCMS, yüksek performanslı ve güvenli bir JSON API sunar.

Veri Kaybı Sigortası: Formdan gelen her veri, mail iletiminde bir sorun çıksa bile (yanlış SMTP şifresi, ağ kesintisi vb.) anında Gelen Kutusu'na kaydedilir. Hiçbir müşteri adayını (lead) kaybetmezsiniz.

API Kullanım Örneği

API uç noktası: <?= $cfg_mainurl ?>/api/contact. Minimum name, email ve message alanlarını gönderdiğinizden emin olun.

<!-- Modern HTML Yapısı -->
<form id="p_contact_form">
    <input type="text" name="name" placeholder="Adınız" required>
    <input type="email" name="email" placeholder="E-posta" required>
    <textarea name="message" placeholder="Mesajınız" required></textarea>
    <button type="submit" id="btn_submit">Gönder</button>
</form>

<script>
const contactForm = document.getElementById('p_contact_form');
const submitBtn = document.getElementById('btn_submit');

contactForm.addEventListener('submit', async (e) => {
    e.preventDefault();
    
    // UI Durum Yönetimi
    submitBtn.disabled = true;
    submitBtn.innerText = 'Gönderiliyor...';

    try {
        const formData = new FormData(contactForm);
        const response = await fetch('<?= $cfg_mainurl ?>/api/contact', {
            method: 'POST',
            body: formData
        });

        const result = await response.json();

        if (result.success) {
            alert('Mesajınız başarıyla iletildi! 🎉');
            contactForm.reset();
        } else {
            alert('Hata: ' + (result.message || 'Bilinmeyen bir sorun oluştu.'));
        }
    } catch (error) {
        alert('Sunucuya bağlanılamadı. Lütfen internet bağlantınızı kontrol edin.');
    } finally {
        submitBtn.disabled = false;
        submitBtn.innerText = 'Gönder';
    }
});
</script>

Görsel Düzenleyici Sihri

Kodla uğraşmadan metinleri panel üzerinden görsel olarak düzenlemek mi istiyorsunuz? HTML bloğunuzu Zones ile sarmalayın.

<!-- purify:zone:header_text_start -->
<div class="hero">
    <h1>Müşteriler bu başlığı görsel olarak düzenleyebilir!</h1>
</div>
<!-- purify:zone:header_text_end -->

Püf Noktası: Mantıksal bloklar oluşturun (örneğin, hero_start, ozellikler_start) böylece görsel düzenleyici hızlı ve odaklanmış hissedilsin.