Siteye yeni sayfa açmıyor, tablo da kurmuyor. Tek yaptığı, yönetimdeki admin.php?mod=friendlyurl (SEO URL yönetimi) sayfasına yardım metni basmak.
Kural listesinin üstünde şunu hatırlatıyor: kurallar yukarıdan aşağı denenir, ilk uyan kazanır. /sss/ veya /s/kod/ gibi özel adresleri /{category}/ ve benzeri genel kuralların üstüne çekmezsen DLE onları kategori sanır, adres açılmaz. Yeni kural her zaman listenin en altına düşer; ekledikten sonra sürüklemen gerekir.
Yeni kural ekle penceresinde üç alanın altına da ne oldukları yazıyor, placeholder örnekleri var. Alta iki örnek koyulmuş:
/sss/ → /index.php?do=faq
/s/{code}/ → /index.php?do=s&code={code}
Alanlar kabaca şöyle:
- Kısa kimlik — adreste görünmez, listede isim gibi durur. Örnek:
sss - SEO URL —
/ile başlar.{code},{cstart},{newsid}kullanılabilir. Örnek:/s/{code}/ - Gerçek bağlantı — arka planda çalışan DLE adresi. Aynı değişkenler
$_GETolur. Örnek:/index.php?do=faq
Kurulum
ZIP içindeki friendlyhelp.xml dosyasını Eklenti yönetimi → yükle, aktif et. Menüye yeni madde eklenmez. admin.php?mod=friendlyurl aç, bir kez Ctrl+F5 bas (eski JS kalmış olabilir).
$config['allow_plugins'] kapalıysa yama uygulanmaz.
Ne yamanıyor
engine/inc/friendlyurl.php — korumalı listede değil, o yüzden eklentiyle dokunulabiliyor. Çekirdek dosya diskte duruyor, eklentiyi kapatınca sayfa eski haline dönüyor. Elle dosyayı değiştirmek DLE güncellemesinde silinir; burası öyle değil.
Üç yama var:
- Listenin tablosunun (
<div class="dd table-responsive">) üstüne mavi uyarı kutusu. DLEUrl::Init();satırının hemen altına$friendlyhelp_text(tr / en) ve$flhelp. Bunuecho <<<HTMLbloğundan önce tanımlamak zorundasın, yoksa heredoc içindeki{$flhelp['intro']}boş kalır.Initdosyada bir kere var ve foreach’ten önce; yamaafterolmalı,beforedeğil.- Yeni kural ekle penceresini açan o uzun jQuery
appendsatırının yerine açıklamalı hali. DLE bu satırı değiştirirse yama tutmaz, eklenti sessizce işe yaramaz. O zaman Eklenti yönetimi → Hataları göster (PREFIX_plugins_logs).
Yama uygulandıktan sonra kopya engine/cache/system/plugins/<md5>.php altında durur. Kur / pasif işlemi zaten cache temizliyor, ekstra silmene gerek yok.
Dil
Metinler eklentinin içinde, $lang['language_code'] ile seçiliyor. tr veya en değilse en basılıyor. Başka dil için ikinci yamadaki diziye anahtar ekle, örneğin 'de' => array('list' => ..., 'intro' => ..., 'key' => ..., 'seo' => ..., 'real' => ..., 'examples' => ...).
Cümlelerde tek tırnak ve çift tırnak kullanma. Aynı metin hem PHP string hem tarayıcıda JS string olarak gidiyor, tırnak kaçışı bozar. HTML olarak <b>, <code>, <br> olur. Değişkenleri {$flhelp['...']} diye bırak.
Kaldırma
phpdelete sadece public/adminpanel/images/friendlyhelp.png ikonunu siler. Tablo yok, veri yok. Pasif edince yama kalkar.
Düzenleme penceresine (yeni ekle değil, mevcut kuralı düzenle) bu açıklamalar gitmiyor. O ayrı bir JS satırı, value="+seo_url+" gibi kaçışlı tırnaklar var; istersen onu da ayrı yama ile değiştirirsin.