Самообучаемся Joomla

272
  • Можливості та призначення меню Joomla
  • Створення нового меню в адмінці Джумлы
  • Як упорядкувати модулі в одній позиції шаблону
  • Сторінка налаштувань модуля з меню Joomla
  • Здрастуйте, шановні читачі блогу . У попередніх статтях я вже розповідав про структуру шаблонів для Joomla. А в них обов’язково будуть передбачені спеціальні місця (позиції), призначені для виведення різних модулів з меню (ну, або з іншим змістом).

    Самообучаемся Joomla

    Можливості та призначення меню Joomla

    Хоча, звичайно ж, для більш швидкої та повної індексації краще використовувати карту сайту. Читайте докладніше про її створення на базі Xmap -тут. В шаблоні позиції для меню зазвичай передбачені ліворуч або праворуч, а так само і у верху (горизонтальні меню) під шапкою (або над нею). Ні, звичайно ж, їх можна вставити в будь-яку наявну позицію, але найчастіше використовують саме перераховані вище.

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

    Фактично меню – це модуль, який потрібно буде ще опублікувати, при цьому вибравши місце в шаблоні, де він буде. Про те, що таке модуль і чим він відрізняється від інших типів розширень для Joomla тут читайте.

    Виходить, що це навіть щось більше, ніж просто навігація по вашому проекту. У статичному сайті, побудованому на одних HTML файлах, можна просто посилатися на сторінки інших, при цьому не додаючи їх в елементи навігації по вебсайту (вони є в будь-який момент часу і мають свою адресу).

    У нашому ж движку все трохи інакше. Сторінки формуються в реальному часі тільки після звернення до неї по Урлу, а цей самий URL з’являється тільки після створення посилання на неї в меню.

    Хитра система, яку не відразу виходить до кінця усвідомити. Більш докладно про це можете почитати в статті про принципи роботи CMS Joomla. Іноді спеціально створюють фіктивні менюшки, які не відображаються (не публікуються), але які дозволяють отримати живі Урли для потрібних вам сторінок.

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

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

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

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

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

    А можна зробити так, щоб він був доступний (видно) тільки, наприклад, зареєстрованим користувачам або ж взагалі тільки адміністраторам проекту (тут читайте про групи користувачів Joomla). Дуже зручно і функціонально вийти може.

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

    Створення нового меню в адмінці Джумлы

    Для початку вам потрібно зайти в адмінку і вибрати зверху «Всі» -«Меню» (в іншому перекладі цей пункт називається більш правильно — Менеджер меню).

    Самообучаемся JoomlaСамообучаемся Joomla

    В результаті ви потрапите в своєрідний менеджер, де зможете створювати нові елементи навігації, редагувати вже існуючі або видаляти непотрібні. За замовчуванням, після установки Joomla , у вас вже буде створено одне меню під назвою «Main Menu», в якому буде прописаний один єдиний пункт «Home».

    Для створення нового потрібно буде натиснути на кнопку «Створити», розташовану у верхній правій частині сторінки менеджера:

    Самообучаемся JoomlaСамообучаемся Joomla

    В результаті відкриється вікно, в якому вам запропонують заповнити чотири поля, причому обов’язковими до заповнення є лише перших два:

    Самообучаемся JoomlaСамообучаемся Joomla

    У полі «ваше ім’я», потрібно вказати його назву, але не просте, а для бази даних. Тому бажано не використовувати при завданні системного імені прогалин, а символи на всяк випадок краще використовувати латинські. У полі «Заголовок» ви задаєте йому звичайне людське назва російськими літерами і саме там ви його будете бачити у вікні менеджера.

    Наступні два поля обов’язкові для заповнення, але ви, тим не менш, можете їх використовувати. У графі «Опис» можете ввести будь-яку інформацію для того, щоб вам самим було потім зрозуміло, що воно містить або ж де воно виводиться.

    У графі «Заголовок модуля» можете дати назву для модуля з новим меню, який ще не існує, але буде автоматично створений відразу після того, як ви натиснете кнопку «Зберегти». Але якщо ви не заповните цей пункт, то, як це не сумно, модуль створено не буде. Хоча в цьому немає нічого страшного, адже ви завжди можете створити вручну. Як це зробити? Досить просто.

    Вам потрібно буде після того, як створили нову менюшку (можливо ви створите в ньому і потрібне вам кількість пунктів), перейти до «Розширення» — «Менеджер модулів». Там побачите всі елементи цього типу, які були створені до цього. Якщо б ви заповнили поле «Заголовок модуля», то в цьому списку був би присутній і той, який створюється автоматично.

    Наприклад, якщо ви подивитеся на малюнок розташований вище, то побачите, що я заповнив полі «Заголовок» і тепер спостерігаю наступну картину:

    Самообучаемся JoomlaСамообучаемся Joomla

    У колонці «Включений», навпроти цього модуля, стоїть червоний хрест, що означає, що він поки не відображається на сайті, але якщо ви клацніть по цьому червоному хресту, то він тут же включиться (опубліковуватиметься) і ви зможете побачити, нарешті, свою навігацію в позиції під назвою LEFT, якщо така є у використовуваному вами шаблоні.

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

    Але якщо ви не заповнили поле «Заголовок» при створенні нового меню, модуль для нього автоматично створений не буде і вам доведеться зробити це вручну. Для цього в їх менеджері вам потрібно буде натиснути на кнопку «Створити», розташовану у верхньому правому куті вікна.

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

    Вам потрібно знайти серед усього цього різноманіття пункт «Меню», розташований у правій колонці. Клацніть по ньому і потрапите на сторінку налаштування.

    Взагалі-то, ліва колонка вікна налаштування однакова для всіх типів модулів Joomla:

    Самообучаемся JoomlaСамообучаемся Joomla

    Поле «Заголовок» є обов’язковим для заповнення, навіть якщо не збираєтеся відображати цю назву на сайті. Ви маєте право вибирати це в графі «Показати заголовок», поставивши галочку в полі «Так» або «Ні».

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

    Ви можете включити модуль для нового меню, поставивши галочку в полі «Так» навпроти пункту «Включений». У цьому випадку після збереження зроблених змін, воно з’явиться на вашому сайті. Якщо ж ви поки ще не закінчили роботу над ним ще не додали до нього всі потрібні пункти), то можете залишити галочку напроти пункту «Включений» в положенні «Ні».

    Включити зможете його потім прямо з менеджера, клацнувши по червоному хресту в колонці «Включений» навпроти його назви (див. передостанній малюнок).

    Як зробити сортування модулів, розташованих в одній позиції шаблону

    До речі, набагато зручніше проводити остаточну сортування не на сторінці налаштувань кожного окремого модуля (замучить їх відкривати), а на сторінці менеджера, на якій відображаються вони всі. Для цього вам потрібно буде скористатися системою фільтрів, наявних на сторінці менеджера.

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

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

    Самообучаемся JoomlaСамообучаемся Joomla

    Якщо предметів сортування не багато, то можна їх отпозиционировать з допомогою зелених стрілок «Вгору-Вниз». Якщо їх в даній позиції шаблону багато, то можете вписати номер проходження для кожного з них в поле колонки «Сортування», а потім натиснути на іконку дискетки, розташовану поруч з назвою колонки «Сортування», тим самим ви застосуєте всі ваші зміни.

    Ми трохи відволіклися від налаштування нашого модуля, c новоствореним меню Joomla. У полі «Доступ» на сторінці налаштування можете вибрати один з трьох варіантів, що визначають, кому буде видно на вашому сайті цей модуль.

    Можна вибрати варіант «Всім», чи «Registered», що означає, що він буде не видно не зареєстрованим користувачам, або варіант «Спеціальний» — його зможуть побачити тільки адміністраторам проекту (зручно в такий засовувати посилання на доступ в адмінку Джумлы або, наприклад, адмінку VirtueMart (див. тут список статей за створення інтернет магазину на безкоштовному движку).

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

    Якщо ви переставите галочку в позицію «Вибрати зі списку», то зможете, утримуючи SHIFT або CTRL на клавіатурі, вибрати всі сторінки Joomla, на яких він буде виводитися. Я сказав вибрати сторінки, але насправді це не зовсім так.

    Як я вже говорив вище, в Joomla сторінки існують, тільки якщо на них є посилання з будь-якого меню (нехай навіть і фіктивного). Так от, в списку «вибрати» ви обираєте саме пункти меню, а не реальні веб-сторінки вашого сайту.

    Сторінка налаштувань модуля з меню Joomla — права колонка

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

    Самообучаемся JoomlaСамообучаемся Joomla

    У принципі, у всій правій колонці обов’язковим для заповнення є лише графа «Назва», в якому ви повинні будете вибрати з випадаючого списку щось нове меню, для якого ви створюєте цей модуль. Інші поля обов’язкові до заповнення і призначені вони для тонкої настройки його зовнішнього вигляду.

    У полі «Стиль», у більшості випадків, вам потрібно буде залишити значення за умовчанням — «Список». Три інші варіанти стилю трохи застаріли. При виборі варіантів «Вертикально» або «Горизонтально» наше нове меню буде виводитися за допомогою HTML таблиці, а при виборі варіанту «Плоский список» — за допомогою маркірованого списку.

    У разі варіанта «Список», меню буде формуватися на основі тегів HTML списку , що дозволяють створювати випадають меню з допомогою вкладених один в одного списків з тегами UL і LI.

    В полях «Початковий рівень» і «Останній рівень» ви можете налаштувати відображення в створюваному елемент навігації не всіх рівнів вкладеності, а тільки пунктів певних рівнів, починаючи з такого-то і закінчуючи таким рівнем вкладень. Якщо я не помиляюся, то існує така річ, як пов’язані меню Joomla, суть яких полягає в наступному.

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

    Досить хитра, але зручна система навігації по сайту, яку можна реалізувати скориставшись полями «Початковий рівень» і «Останній рівень» в налаштуваннях.

    У полі «Завжди показувати вкладені підпункти» за замовчуванням стоїть галочка в полі «Ні», але якщо вам, наприклад, у бічному меню знадобиться відображати не тільки пункти верхнього рівня, але і вкладені (рівень вкладеності можна задати в розташованому вище полі «Останній рівень»), то переставте позначку у цьому полі в положення «Так».

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

    Самообучаемся JoomlaСамообучаемся Joomla

    По-перше, в полі «Кешування» ви можете відключити кешування даного модуля, в не залежності від глобальних налаштувань кешу на всьому сайті (читайте тут як включити кешування в Joomla, а тут про налаштування кешування і часу життя сесій). Відключати його слід в першу чергу там, де виводиться динамічна, що змінюється з часом інформація.

    По-друге, напевно у багатьох з вас виникала ситуація, коли ви створювали вкладені пункти, вставляли це меню в ту позицію вашого шаблону, яка дозволяла показувати ці вкладені пункти при підведенні до батьківських пунктами миші, але при цьому нічого не відбувалося.

    Причому, ви точно знаєте, що у використовуваному вами шаблоні ця можливість була передбачена (бачили це на демосайте або ж на іншому ресурсі, де використовується такий же), але у вас вкладені пункти вперто не хочуть відображатися. Ви починаєте шукати кінці в налаштуваннях меню та налаштуваннях його пунктів, але нічого не знаходите і починаєте битися головою об стіну, танцювати з бубном і лаяти дарма лапочку Джумлу.

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

    Саме на вкладці «Додаткові параметри» в поля «Суфікс класу» можна додати потрібні, які дозволять реалізувати, наприклад, випадаюче меню (Суфікс класу менюшки) або ж надати модулю потрібний вам зовнішній вигляд (Суфікс класу модуля). Які саме суфікси вставляти в ці поля, потрібно з’ясовувати на домашній сторінці розробника, використовуваного ваші шаблону.

    Налаштування на вкладці «Інші Параметри» я зазвичай не чіпаю. Для того, щоб зберегти зроблені вами зміни, потрібно натиснути на кнопку «Зберегти» або «Застосувати».

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

    Удачі вам! До зустрічей на сторінках блогу