İskelet dosyalarını nereye koymalı ?

[SPIP 1.8]’den bu yana, iskeletler özel bir dizine, dist/ dizinine yerleştiriliyor. squelettes/ dizini ise sizin kişisel iskeletlerinizi içerecektir.

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 : «Nedir bu «dist» dosyaları ?».

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:

  1. ilk olarak, eğer tanımlanmışsa $dossier_squelettes değişkeniyle belirten dizinde ;
  2. sonra, kök dizinde bulunan squelettes/ dizininde ;
  3. sonra (SPIP 1.9’dan bu yana) $plugins değişkeniyle belirtilen dizinlerde ;
  4. daha sonra sitenin kök dizininde;
  5. dist/ dizininde;
  6. 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 :

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:

[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].

Notlar

[1Bu bizim hararetle önerdiğimiz bir yöntemdir, çünkü bu iskelet grubu olabildiğince modüler tasarlanmıştır.

[2Örneğin dizinlere ilgili oldukları konuyla ilgili isimler vermek âdeti olduğundan SPIP dil ("lang") dosyalarını lang/ yukarıda gördüğümüz gibi dizininde arayacaktır.

[3Bu yöntem iskeletlerin web gezgini tarafından kolayca «görülebilir» olmasını sağlıyordu çünkü .css’lere ve diğer grafik giydirmelere verilen bağlar kök dizinden itibaren tanımlanıyordu.

[4Bu yöntem <INCLURE(page.php3){fond=inc-entete}> etiketinin kullanılması ile hâlâ geçerlidir.

[5İstisnai olarak sadece <INCLURE(squel.php3)> çağrısını kullananların buna gereksinimi yoktu ve direkt olarak bir URL ile çağrılamıyordu. Bu durumda, squel.php3 dosyası da iskelet dizinine taşınabiliyordu.

Yazar : mega Publié le : Mis à jour : 26/10/12

Traductions : عربي, català, corsu, English, Español, français, italiano, Nederlands, Türkçe, українська