Де зберігаються шаблони мого сайту?

У каталозі squelettes/ :-)

Починаючи зі SPIP 2.0 файли усталених шаблонів SPIP зберігаються в каталозі squelettes-dist/. Каталог squelettes/ призначений для зберігання будь-яких налаштованих файлів шаблонів, які ви створили (або скопіювали) для вашого власного сайту.

Переваги такої організації очевидні: вона забезпечує кращий поділ коду ядра SPIP і структури сайту, що робить можливим змінити весь набір файлів шаблонів «одним махом».

Попередня історія: У версіях SPIP 1.8 і SPIP 1.9 файли шаблонів, які входять в стандартний дистрибутив SPIP, містилися в каталозі dist. У версіях до SPIP 1.8 файли шаблонів розміщалися в кореневому каталозі. Див.: «article 2432».

Усталені шаблони: squelettes-dist/

Шаблони дистрибутиву, тобто ті, що поставляються в стандартній SPIP установці, усі згруповані разом в одному каталозі. Ці файли містять інформацію для форматування сторінки сайту за замовчуванням і не повинні змінюватися. Звичайно, ви можете переглянути вміст цього каталогу і використовувати цей набір за умовчанням в якості основи для внесення змін у відповідності зі своїми потребами [1].

Ви дійсно не повинні змінювати шаблони з дистрибутиву, бо в протилежному випадку ви ризикуєте втратити свої зміни в будь-який час, виконуючи стандартне оновлення самої системи SPIP!
Щоб уникнути цього, зробіть копію всіх файлів, які бажаєте змінити, і зберігайте їх в іншому каталозі, як це буде запропоновано трохи нижче.

Ваш каталог squelettes

Починаючи зі SPIP 1.8 індивідуальні шаблони повинні бути збережені в каталозі на ім’я squelettes/ (зверніть увагу на закінчення «s», що позначає множину), який ви повинні створити в кореневому каталозі вашого сайту на SPIP. Якщо ви збираєтеся встановити повний набір шаблонів (знайдених на SPIP - Contrib або в іншому місці) або хочете зробити тільки невеликі зміни в усталених шаблонах, завжди зберігайте ваші шаблони в цьому каталозі.

Таким чином, користувач, який хоче створити свій власний графічний дизайн сайту, буде розвивати свої файли article.html, rubrique.html та ін. в цьому squelettes/ каталозі. Слід зазначити, що немає необхідності мати повний набір шаблонів в цьому каталозі, а тільки ті, які були змінені або додані і будуть використовуватись.

Для відображення сторінок сайту SPIP в першу чергу шукає шаблони в каталозі squelettes/; якщо SPIP не знаходить .html файл, який він шукає, то він буде використовувати версії з дистрибутиву, які містяться в squelettes-dist/.
Отже, якщо у вас є тільки один файл в squelettes-dist/, можливо, article.html, то SPIP буде використовувати цей шаблон для відображення сторінок статей і файли шаблонів з dist для всіх інших сторінок сайту.

Каталог squelettes/ призначений для зберігання всіх файлів, необхідних для форматування сторінок сайту. Тому він містить:

  • шаблони, тобто .html файли з вбудованим кодом SPIP;
  • файли, включені шаблонами, (а також відповідний файл php3 для версій до SPIP 1.9) і будь-які моделі (починаючи з SPIP 1.9);
  • будь-які модифіковані форми, що переважно зберігаються в formulaires/ підкаталозі;
  • CSS стилі, які використовуються для графічного макету; їхнє налаштування дозволяє досить ефективно досягати різного вигляду сайту, не змінюючи шаблони взагалі. Див: «article 2463»;
  • зображення, що використовуються в шаблонах;
  • mes_fonctions.php файл, що містить фільтри і налаштування змінних шаблону;
  • файли JavaScript;
  • персоналізовані мовні файли (пор.: «Internationalizing Templates», метод мовних файлів), також переважно в lang/ підкаталозі;
  • і т.д ...

Використання іншого каталогу для шаблонів

Починаючи з SPIP 1.5 стало можливим зберігати шаблони в каталозі за вашим вибором, оголосивши його в mes_options.php файлі за допомогою змінної $dossier_squelettes, як це описано у відповідній документації. SPIP буде шукати файли шаблонів першими у цьому визначеному каталозі.

Ця опція дозволяє випробувати новий набір шаблонів, не торкаючись старого набору, або динамічно управляти і перемикатися між кількома наборами шаблонів.

Пріоритети каталогів шаблонів

Підсумуємо: за великим рахунком, коли SPIP повинен використати певний файл, він буде шукати його в наступному порядку:

  1. по-перше, в списку каталогів, зазначених у $dossier_squelettes, якщо він був визначений;
  2. потім в каталозі squelettes/, який знаходиться в кореневому каталозі сайту;
  3. потім (починаючи з SPIP 1.9) у списку каталогів в змінній $plugins;
  4. потім в корені сайту;
  5. потім в каталозі squelettes-dist/;
  6. і, нарешті, в каталозі ecrire/.

«За великим рахунком» це все, але є деякі тонкощі щодо порядку пошуку і розташування файлів [2], в тому числі, пріоритетності файлів шаблонів для рубрик, секторів або мов статей, як це описано повністю у відповідній документації.

Зауваження: починаючи з SPIP 1.9 механізм, описаний вище, для вибору місця розташування файлу не відноситься лише до шаблонів, але також до всього коду SPIP. На жаргоні програмістів це відомо як «перевантаження» коду у тому порядку каталогів, який визначається за «SPIP_PATH». Це встановлює рамки і стандарти для розробки «плагінів» і розширень функціональних можливостей SPIP, які безкоштовно пропонує SPIP-товариство.

Крім того, ви можете змінити практично будь-яку характеристику поведінки SPIP не позбавляючи себе в майбутньому прийняття змін і підтримки в суспільстві. SPIP зараз дійсно модульний

Попередня історія: те, що SPIP шукає файли шаблонів в кореневому каталозі, має історичні причини, так як це було перше місце, де вони зберігалися. Це давало ту перевагу, що шаблони було «видно» браузеру, бо посилання на .css файли та інші графічні компоненти мали бути обов’язково з кореневого каталогу (абсолютне посилання).
Крім того, аж до SPIP 1.8.3 SPIP шукав шаблони в кореневому каталозі до того, як подивиться у squelettes/ каталог.

А як щодо .php3 (або .php) файлів?

Нагадаємо, що починаючи від SPIP 1.9 і далі немає більше ніяких .php3 (або .php) файлів, використовуваних для шаблонів: SPIP розраховує всі свої сторінки за допомогою єдиного унікального скрипту, який називається spip.php.

В SPIP 1.8.2 і SPIP 1.8.3 був page.php3 файл, який передвіщав spip.php і метод включення в SPIP 1.9. Фактично page.php3 робив можливим, сам по собі, викликати будь-який шаблон, передаючи йому змінну як параметр, який .html файл шаблону потім буде використовувати:

www.mysite.org/page.php3?fond=my_template&...

Найпростішою процедурою було використовувати виклик такого типу [3] для будь-якого шаблону, а на лише для базових об’єктів (стаття, новина, розділ, sommaire (головна сторінка), ...), для яких .php3 файл існував в кореневому каталозі і уможливлював стандартизовані виклики, такі як:

www.mysite.org/article.php3?...

  До [SPIP 1.8> spip18], потрібно було створити .php3 файл, який був «хуком» для .html в попередній структурі SPIP шаблону і, отже, повинен був бути розташований в кореневому каталозі сайту [4].

Примітки

[1Рекомендуємо застосовувати саме цей метод, оскільки цей набір шаблонів дійсно був розроблений з метою зробити їх модульними, наскільки це можливо.

[2Існує також найменування файлів, яке визначає призначення файлів, і це означає, наприклад, що SPIP буде шукати мовні файли спочатку в lang/ підкаталозі, як ми тільки що бачили вище

[3Зверніть увагу, що цей метод також працює для викликів тегу <INCLURE(page.php3){fond=inc-entete}>.

[4За винятком, можливо, тих, що використовуються тільки у викликах <INCLURE(squel.php3)>, а не безпосередньо з URL. У цьому випадку файл squel.php3 може також бути розташований в каталозі шаблонів.

Автор olly Publié le : Mis à jour : 21/03/23

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