Листковий пиріг і com_weblinks joomla

Листковий пиріг і com_weblinks joomla

Йтиметься про компоненті com_weblinks і про html-розмітки сторінки Joomla. Про те, як легко і просто створити каталог посилань на сайті Joomla.

Ця CMS і створювалася для інтерактивної роботи з зареєстрованим користувачем, без прямого кодування. Хоча тенденція развитя Joomla веде до того, щоб відмовитися від компонента com_weblinks зовсім як від непотрібного на сайті, і просто додає зайву вагу (понад 100 кб - 90 файлів) і без того "важкої" системі. Але поки цей компонент ще присутній в дистрибутиві і використовується деякими програмістами.

Видима на екрані сторінка сайту Joomla вдає із себе листковий пиріг, в побудові якого одночасно бере участь багато блоків (відповідно багато шаблонів). Тут позначається філософія Joomla - великоблочне сайтостроєніє. Для кожного блоку обов'язково є свій шаблон (макет) html-розмітки.

- шаблон головної сторінки (шаблон_сайта / index.php), який своєю html-розміткою визначає позиції для модулів і компонентів і виводить ці модулі і компоненти.
- шаблон сторінки
- шаблони модулів
- шаблони компонентів

Кожен з цих великих блоків доступний для редагування (зміни). Тобто можна відредагувати окремо наприклад шаблон будь-якого модуля або компонента, і він буде виглядати по новому на сторінці. Те ж саме і з шаблоном сторінки.

Початківцю програмісту буває важко зрозуміти, що перший рядок в тематичній частині сторінки виводиться як заголовок сторінки і редагується на сторінці редагування пункту меню, який вказує на цю сторінку. Що другий рядок виводиться з шаблону компонента com_content або com_weblinks. А рядки в шаблонах як правило - це рядкові змінні і їх ініціалізація і локалізація проводиться в мовних файлах, таких як language \ ru-RU \ ru-RU.mod_weblinks.ini і їм подібних.

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

Іноді шаблони модулів називають макетами. Але це питання термінології. Суть одна - це "одяг" для вмісту. Правильніше сказати - розмітка. Так ось розмітка однієї екранної сторінки знаходиться в різних файлах каталогів Joomla.

Багато починаючі програмісти Joomla часто не розуміють, що пункти меню можуть мати різні типи. Іншими словами - пункти меню можуть посилатися на об'єкти Joomla різних типів. Це можуть бути різні об'єкти, такі як: компоненти (голосування, пошук, каталог посилань і тд).

Вибір типу пункту меню:

Розумний пошук (com_search)
Пошук (search)

Hello World! (Com_helloworld)
Повідомлення (helloworld)

Пошук (com_search)
Форма пошуку і список результатів пошуку (search)

Обгортка (com_wrapper)
Обгортка (wrapper)


Як бачимо, тут всі типи меню є компонентами. Своєю назвою тип пункту меню фактично вказує на ім'я шаблону свого типу компонента. А шаблони компонентів знаходяться в каталогах views (вид):

joomla \ components \ com_weblinks \ views \ categories
joomla \ components \ com_weblinks \ views \ category
joomla \ components \ com_weblinks \ views \ weblink
joomla \ components \ com_users \ views \ login

Як бачимо імена типів посилань в меню і імена шаблонів в каталогах vews збігаються.

Розробник має можливість створювати нові нестандартні шаблони (макети) для компонентів. Ці нові макети так само будуть відображатися в якості нових типів меню у вікні вибору типів меню. Це окрема тема.

Демоконтент дистрибутива Joomla

Подивимося як вибудувана ієрархія пунктів Меню "About Joomla" для відображення Компонента com_weblinks на встановленому за замовчуванням демо контенті (шаблон Beez2 - Default) Joomla.

Sample Data-Weblinks
| -Park Links
| -Joomla! Specific Links
| - | -Other Resources
Uncategorised


Ієрархія пунктів меню:

Деякі пункти в меню можуть бути показані лише зареєстрованому користувачу! Наприклад пункт меню з типом "Створити посилання" буде видно тільки для зареєстрованих користувачів. Ця можливість створена спеціально для того, щоб зареєстровані користувачі могли створювати посилання, які будуть розміщені на сторінці.


Дати можливість зареєстрованому користувачу, наділеному правами, наповнювати сайт вмістом без прямого кодування - основна філософія CMS Joomla.

Uncategorised
Sample Data-Articles
| - Joomla!
| - | - Extensions
| - | - | - Components
| - | - | - Modules
| - | - | - | - Content Modules
| - | - | - | - User Modules
| - | - | - | - Display Modules
| - | - | - | - Utility Modules
| - | - | - | - Navigation Modules
| - | - | - Templates
| - | - | - | - Atomic
| - | - | - | - Beez 20
| - | - | - | - Beez 5
| - | - | - Languages
| - | - | - Plugins
| - Park Site
| - | - Park Blog
| - | - Photo Gallery
| - | - | - Animals
| - | - | - Scenery
| - Fruit Shop Site
| - | - Growers
| - | - Recipes

SELECT * FROM `# _categories` WHERE` extension` = "com_content"

SELECT DISTINCT extension FROM `# _categories` WHERE 1

- sample-data-weblinks
- joomla-specific-links
- park-links
- other-resources

Листковий пиріг і com_weblinks joomla

Листковий пиріг і com_weblinks joomla

3. Тут не видно ще пункт меню, який посилається на тип "Створити посилання".
Це тому, що ми зайшли як незареєстрований користувач.
Якщо реєструватимемося на сайті, то цей пункт буде видно (Submit a Weblinks)

Листковий пиріг і com_weblinks joomla

Цей пункт меню виводить на сторінку створення нової посилання:
Вид цієї сторінки так само визначається в макеті компонента.

Листковий пиріг і com_weblinks joomla

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

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

Дизайн сайту на Joomla, краса його сторінок цілком в руках Joomla дизайнера і програміста. Тут можливості обмежені тільки їх фантазією та вмінням. Будь-html-шаблон легко перетворюється в шаблон Joomla.