Bu değişikliğin avantajları şunlardır : SPIP’in kodları ile site yapısının ayrılması, bir defada bir iskelet takımının değiştirilebilmesi, vs.
Tarihçe: [SPIP 1.8]’den önceki sürümlerde SPIP dağıtımıyla gelen iskeletler , kök dizindeydi . Bkz : «article 3410».
Varsayılan iskeletler : dist/
[SPIP 1.8]’den bu yana dağıtımla gelen iskeletler — yani SPIP kurulumunda standart olan iskeletler — dist/ dizinine toplanmıştır. Bu dosyalar sitenin varsayılan sayfa düzenini içerirler ve değiştirilmemelidirler. Bu dizinin içeriğini inceleyebilir ve bunlardan yola çıkarak bu iskeletleri kendi gereksiniminize uyarlayabailirsiniz. [1].
dist/
dizinindeki dosyalar değiştirilmemelidir, aksi halde SPIP’i her güncellediğinizde yaptığınız değişiklikler uçar gider!
Bunu önlemek için değiştirmek istediğiniz dosyaları kopyalayın ve bu dosyaları aşağıda gösterildiği gibi başka bir dizine yerleştirin.
squelettes/ dizininiz
[SPIP 1.8]’den bu yana kişiselleştirilmiş iskeletler squelettes/
isimli ve sizin kök dizinde oluşturacağınız bir dizine yerleştirilir (dikkat sonunda bir «s» var!). Tam bir iskelet grubu da oluşturmak isteseniz veya (bkz SPIP - Contrib küçük değişiklikler de yapmak isteseniz iskeletleri kesinlikle bu dizine yerleştiriniz.
Böylece, kendi sayfa düzenini oluşturmak isteyen bir kullanıcı kendi dosyalarını squelettes/ dizininde geliştirecektir : article.html, rubrique.html, vs. Bu dizine tam bir iskelet grubu koymak zorunda olmadığınıza dikkatinizi çekelim.
SPIP, site sayfalarını görüntülemek için iskeletleri öncelikle squelettes/ dizininde arar; burada kendisine gereken bir .html dosyası bulamazsa dağıtımla gelen iskeletler için dist/ dizinine bakar.
Böylece, siz squelettes dizinine sadece bir dosya örneğin article.html koymuşsanız SPIP makaleleri görüntülemek için bu dosyayı kullanır ve diğer sayfalar için dist dizinindeki iskeletleri kullanır.
squelettes/ dizini sitenin sayfa düzeni için gereken tüm dosyaları içermek üzere oluşturulmuştur. . Yani, bu dizine şunlar konacaktır:
- iskeletler, yani SPIP kodları içeren .html dosyaları;
- iskeletler için ek dosyalar (SPIP 1.9’dan önceki sürümler ve bunlara karşı düşen php3 dosyalar);
- değiştirilen formlar, tercihen formulaires/ isimli bir alt dizine,
- grafik biçimi oluşturan CSS stil dosyaları ; bu dosyaların kişiselleştirilmesi sitenin giydirilmesini iskeletlere dokunmaksızın dramatik biçimde değiştirebilir (SPIP’in döngü komutlarını öğrenmeye bile gerek kalmadan). Bkz: «Mettez-y votre style !»;
- iskeletlerin resimleri;
- filtreleri ve iskelet takımına ait kişiselleştirme değişkenlerini içeren mes_fonctions.php dosyası;
- javascript dosyaları;
- özel dil dosyaları (örnek.: «Internationaliser les squelettes», dil dosyaları yöntemi) tercihen lang/ isimli bir alt dizinde;
- vs...
Bir başka iskelet dizini kullanmak
SPIP 1.5’ten bu yana iskelet dosyalarını istediğiniz isimdeki bir dizinde toplayabilirsiniz, yeter ki bu dizini ecrire/mes_options.php dosyasında $dossier_squelettes
kişiselleştirme değişkeni yardımıyla ilgili belgede anlatıldığı gibi tanımlayın. Bu durumda SPIP iskeletleri öncelikle sizin tanımladığınız dizinde arayacaktir.
Bu size, örneğin eski iskelet dosylarını ezmeden yeni bir iskelet takımı oluşturma veya dinamik olarak bir çok iskelet takımını yönetme olanağı verir.
İskelet dosyalarında öncelik
Daha net olalım ve özetleyelim. Tam net olmamakla birlikte, SPIP bir dosyaya gereksinim duyar ve bu dosyayı farklı dizinlerde şu sırayla arar:
- ilk olarak, eğer tanımlanmışsa $dossier_squelettes değişkeniyle belirten dizinde ;
- sonra, kök dizinde bulunan
squelettes/
dizininde ; - sonra (SPIP 1.9’dan bu yana) $plugins değişkeniyle belirtilen dizinlerde ;
- daha sonra sitenin kök dizininde;
- dist/ dizininde;
- ve en sonunda ecrire/ dizininde.
«Tam net olmamakla birlikte» dedik çünkü bu arama işlemine bir çok esneklik eklenir. [2] Bu esneklikler bu makalenin sınırlarını aşar ve daha detaylı biçimde belgelenmeleri gerekir, bkz Guide des fonctions avancées.
Uyarı: SPIP 1.9’dan bu yana : Aslında bir dosyanın yerini belirlemek için yukarıda açıklanan mekanizma sadece iskeletlere has bir durum değildir, tüm SPIP kodlarına uygulanır. Geliştiricilerin jargonunda buna «kodun üstüne yükleme» denir. Dosyaların seçim sıralaması «SPIP_PATH» ile tanımlanır. Burada işin içine «eklenti» (plugins) kavramı girer. Eklentiler SPIP’in yeteneklerini geliştiren ve topluluktaki herkesin yazabileceği türden küçük programlardrı.
Böylece, SPIP’in herhangi bir davranışı isteğe göre değiştirilebilir. SPIP modülerdir !
Tarihçe: SPIP’in iskeletleri kök dizinde araması artık tarih oldu, çünkü ilk olarak oraya yerleştirilmişlerdi. [3]. Ayrıca [SPIP 1.8.3]’e kadar, SPIP iskeletleri
squelettes/
dizininden önce kök dizinde arıyordu.
Daha ileriye gitmek için
İskelet varyantları
SPIP’in bir başka işlevselliği de bir sayfaya hangi iskelet dosyasının uygulanacağını belirten iskelet varyantlarıdır. Bu konu şu belgelendirme makalesinde ele alınmıştır. Bu işlevsellik, bir dizini değil, bölüme veya dile bağlı olarak tek bir dosyayı seçme olanağı verir.
Pekiyi .php3 (veya .php) dosyaları bu işin neresinde ?
Öncelikle SPIP 1.9’dan bu yana iskeletler için artık .php3
(veya .php
) dosyası olmadığını hatırlatalım : SPIP bütün sayfaları tek bir skript’ten spip.php’den yaratır. Dolayısıyla şunlar da artık tarih olmuştur:
[SPIP 1.8.2]’de ve [SPIP 1.8.3]’te page.php3 isimli bir dosya spip.php’yi ve eklenme biçimini düzenliyordu SPIP 1.9. Aslında, page.php3 dosyası sadece kendisine fon değişkenini parametre olarak kullanarak herhangi bir iskelet dosyasını çağırma izni veriyordu yani kullanılacak .html iskelet dosyasını seçme olanağı tanıyordu :
www.benimsitem.org/page.php3?fond=benim_iskeletim&...
En kolayı bu tipten bir çağrı ile [4] Ancak, ana nesneler (makale, kısa haber, başlık, içindekiler,...) dışındaki iskeletler için kullanılabilir. Ana nesneler için kök dizinde
.php3
dosyası bulunur ve şu biçimde çağrılır:www.monsite.org/article.php3?...
[SPIP 1.8.1]’e kadar bir
.php3
dosyası oluşturulmalı ve eski iskelet yapısında.html
dosyasına bağlanmalıydı. Bu .html dosya kök dizinde bulunmalıydı. [5].