Види призначених для користувача стилів для позицій - каталоги і магазин для joomla

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

Стандартні стилі Zoo

Відкриваючи шаблони, ви напевно бачили такі рядки:

Функція renderPosition виводить всі елементи, які належать встановленої позиції. Вона має як мінімум 1 обов'язковий вхідний параметр - це назва позиції (з прикладу вище це subtitle), другий необов'язковий входить параметр - це масив налаштувань (з прикладу вище це array ( 'style' => 'block')). Масив налаштувань можна не передавати функції renderPosition, тоді всі елементи будуть виводитися за стандартним шаблоном default.

За замовчуванням Zoo має 8 стилів, подивитися їх можна в папці:

Там ви побачите наступні php-файли:

block.php - елементи всередині блоку div, блоку можна вказати class.

comma.php - всередині тега span, так само можна вказати клас.

default.php - без форматування - в рядок.

hyphen.php - рядок, розділяючи дефісом «-».

inline.php - рядок, розділяючи комою «,».

list.php - списком - li.

paragraph.php - елементи абзацами.

pipe.php - рядок, розділяючи «|».

Назва файлу - це ім'я стилю, яке передається в масив налаштувань. Наприклад, щоб вивести елементи списком нам досить написати:

стилі JBZoo

У JBZoo також присутні стилі позицій, і вони знаходяться вже в іншій папці, а саме в сайт / media / zoo / applications / jbuniversal / templates / catalog / renderer / element

Відкривши цю папку, ви побачите такі файли як:

Далі розберемо кожен по порядку.

Стиль JBblock і JBSubtitle

JBblock - за замовчуванням виглядає як стандартний стиль від Zoo (block). Але має ряд додаткових параметрів:

tag - можливість вказати, в якому тезі буде виводитися весь вміст елемента.

labelTag - показує, як буде виводитися заголовок, за замовчуванням strong.

wrapperTag - в якому тезі буде виводитися значення.

class - додає клас для назви елемента (label).

altlabel - за допомогою цього параметра можна замінити назву / заголовок (заміниться для всіх елементів всередині позиції).

clear - приймає значення true. false. за замовчуванням false. Якщо встановити в true, то після кожного виведеного елемента буде додаватися блок-роздільник:

Види призначених для користувача стилів для позицій - каталоги і магазин для joomla

Параметри для стилю прописуються за допомогою масиву в this-> renderPosition після зазначення назви позиції.

На виході, в вихідному коді, ви можете побачити такі класи, які прописуються для елементів:

index- - присвоює число від нуля до останнього елемента (по зростанню).

element- - додає hash-id.

element- - додає в клас тип.

first / last - даний клас додається першому і останньому елементу відповідно. Першому буде присвоєно клас first, а останнім клас last.

JBSubtitle має все те ж саме що і JBblock, за виключення параметра tag. За замовчуванням встановлений розмір h2.

стиль JBTable

JBTable також включає в себе всі налаштування JBblock, але примусово встановлені наступні параметри:

Вони потрібні для того, щоб на виході виводилася таблиця. Оскільки ці параметри (labelTag. tag. wrapperTag) встановлені примусово для виведення таблиці, необхідно в масиві вказати тільки стиль 'style' => 'jbtable'.

Висновок таблиці і списку за допомогою стилю JBblock

JBblock досить універсальний. З його допомогою можна виводити як таблицю, не використовуючи jbtable, так і списки.

Щоб вивести елементи в таблиці, використовуючи jbblock, потрібно вивести позицію наступним чином:

А щоб вивести список, використовуйте наступну конструкцію:

Створення власного стилю позиції

У його створенні нічого важкого немає. Потрібні лише елементарні знання php і html. Наш стиль буде виводити елемент в зазначеному тезі, містити за замовчуванням клас, який також можна вказати примусово або він буде змінений. А також додамо можливість вказати тег і id заголовку елемента.

Створюємо php файл нашого стилю в папці:

назвемо його jbexample.php. Пишемо в файл наступні рядки:

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

У мене є позиція anons. в якій він не вказана:

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

Види призначених для користувача стилів для позицій - каталоги і магазин для joomla

Ви бачите, що 2 елементи виводяться в один рядок без тегів. Давайте це виправимо.

Додамо в функцію renderPosition наступне:

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

Для більш кращого розуміючи бажано зробити var_dump ($ params) в файлі jbexample.php і подивитися, що знаходиться в цій змінній. $ Params повертає масив з даними. Червоним відзначені ті самі дані, які ми вписували в функцію renderPosition трохи вище.

Види призначених для користувача стилів для позицій - каталоги і магазин для joomla

Приймаємо параметри в jbexample.php

От і все! Наш стиль готовий, і тепер можна їм милуватися.

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

Схожі статті