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:

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:

  1. Listenin tablosunun (<div class="dd table-responsive">) üstüne mavi uyarı kutusu.
  2. DLEUrl::Init(); satırının hemen altına $friendlyhelp_text (tr / en) ve $flhelp. Bunu echo <<<HTML bloğundan önce tanımlamak zorundasın, yoksa heredoc içindeki {$flhelp['intro']} boş kalır. Init dosyada bir kere var ve foreach’ten önce; yama after olmalı, before değil.
  3. Yeni kural ekle penceresini açan o uzun jQuery append satı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.

Dosya İndirme Kilitli