Сперечаються component k2. Нестандартний висновок додаткових полів в К2

Жарознижуючі засоби для дітей призначаються педіатром. Але бувають ситуації невідкладної допомоги при лихоманці, коли дитині потрібно дати ліки негайно. Тоді батьки беруть на себе відповідальність і застосовують жарознижуючі препарати. Що дозволено давати дітям грудного віку? Чим можна збити температуру у дітей старшого віку? Які ліки найбезпечніші?

Якщо порівнювати K2 з іншими компонентами Joomla, То за складністю його можна порівняти, мабуть, тільки з VirtueMart (компонент для створення інтернет-магазинів). Але час, витрачений на вивчення K2, з лишком окупиться тими самими новими можливостями, які відкриються після його установки.

Можливості, пов'язані з організацією контенту

Працюючи над компонентом, розробники K2 планували створити продукт, який дозволить створювати на CMS Joomla повноцінні портали, здатні конкурувати з аналогами, створеними на таких двигунах, як Drupal або WordPress. Про це говорить навіть гасло, розміщений на офіційному сайті компонента. Однак, отриманий продукт, на думку багатьох, сильно перевершив всі інші розробки, створені раніше. Завдяки K2 творці сайтів отримали можливість організовувати на базі Joomla повноцінні магазини, каталоги, портали різних тематик (включаючи новинні), блоги та багато іншого. На цьому тлі стає не зовсім зрозумілим: чому даний компонент більше використовують західні web-дизайнери, а вітчизняні сайтобудівники обходять його стороною?

По суті K2 є самостійним конструктором контенту. Фактично він повністю замінює вже інтегрований в движок com_content, надаючи користувачу можливість працювати з інформаційною частиною сайту і формувати контент через власну адміністративну панель.

Варто відзначити, що в черговий версії CMS Joomla - третьої, вже вбудовані деякі функціональні можливості K2. Але далеко не всі віддані шанувальники цієї CMS поспішили переносити сайти на третю версію. Більш того, величезною популярністю у розробників до цих пір користується Joomla версії 1.5. У разі використання подібних версій CMS без компонента K2 не обійтися.

Але пора перейти від загальних фраз до конкретики. Які ж можливості надає сайтостроітеля компонент K2? Їх досить багато:

  • структура категорій. Почати слід з головної відмінності: можливість організації складної структури категорій з необмеженою кількістю вкладенні. Це, безумовно, головна перевага K2. У звичних версіях Joomla присутній тільки дворівнева система: розділ і категорія.
  • коментування матеріалів. K2 дозволяє організувати непогану систему коментування з капчі, розробленої компанією Google. Можна обійтися і без капчі, хоча мало хто в наш час ризикне це зробити. Подібної вбудованої можливості в Joomla немає, але в принципі це питання можна вирішити, встановивши компонент JComments. До речі, на даний момент він вважається найкращим варіантом для організації коментування.
  • хмарні теги. Завдяки K2 у розробників з'являється можливість додавати до статей теги, за аналогією з WordPress. Зокрема на демонстраційних сторінках розробників компонента представлена ​​реалізація хмари тегів. Здійснюється подібна можливість за рахунок спеціального модуля. Крім хмари тегів він також може відображати на інтернет-сторінки такі корисні для відвідувачів доповнення, як архів матеріалів, вікно пошуку, архів матеріалів, список категорій (як правило, у вигляді меню), хлібні крихти, різні календарі в форматі блогу та інше
  • Додавання зображень. Після установки компонента у розробників з'являється можливість створювати статті, і в самій Joomla, і безпосередньо в адміністративній панелі K2, вставляючи в них різні картинки. В принципі, нічого особливого в цій функції немає, за винятком одного нюансу: K2 може уніфікувати зображення під стандартний розмір. Це безумовна перевага для власників ресурсів, користувачі яких ведуть, наприклад, авторські блоги.
  • Установка галерей всередині статей. В адміністративній панелі K2, а точніше в шаблоні написання статей вже передбачено місце, куди можна вставити галерею. У підсумки галереї встановлюються за все в кілька кліків. Для цього достатньо вказати шлях до архіву з картинками або фотографіями і вибрати потрібний варіант їх показу. Зрозуміло, в Joomla теж є можливість вставки галерей, але цей процес досить трудомісткий і вимагає установки додаткових розширень, наприклад: спеціальний плагін Phoca Gallery Plugin.
  • вставка відеофайлів. Шаблон статей в K2 дозволяє вставляти в текст ще й відеоролики. Причому робиться це навіть простіше, ніж вставка фотогалереї. Наприклад, для того щоб встановити ролик з YouTube досить тільки вказати код відеофайлу.
  • Посилання для скачування. Також при роботі в панелі K2 не складає труднощів прикріпити файли, призначені для скачування. Зробити це можна, як при створенні матеріалу, так і під час його редагування, причому всього за один клік.
  • створення каталогів. В адміністративній панелі компонента можна налаштувати можливість заповнення додаткових полів при створенні статті. Причому певні поля можна прив'язати до конкретної категорії. Стане в нагоді така функція в тому випадку, коли на базі K2 створюється каталог. В результаті на виході виходить щось на кшталт картки товарів, ніж то подібна до карткою, одержуваної в результаті роботи з VirtueMart - компонентом для створення інтернет-магазину.
  • Інтеграція з соціальними мережами. Ще однією перевагою K2 є наявність в шаблоні статей окремого місця для установки кнопок популярних соціальних мереж(Найчастіше ця функція носить назву «Соціальний обмін»). В Joomla ці кнопки доводитися встановлювати за допомогою різного роду скриптів і розширень. А це не завжди зручно. При роботі з K2, правда, теж є одне «але»: варіанти соціальних мереж, передбачені в компоненті, розраховані на західних користувачів. Однак, код нескладно доопрацювати, замінивши мережі популярні «у них», на ті, які залучають російських користувачів. Взяти список таких мереж можна, наприклад, з досить популярного сервісу «Одна кнопка».
  • Додавання статей користувачами, які пройшли реєстрацію. За допомогою K2 можна організувати на сайті можливість розміщення матеріалів зареєстрованими користувачами, тобто, фактично, створити портал з особистими блогамикористувачів. При цьому вони зможуть не тільки додавати свої матеріали, а й скористатися всіма можливостями компонента, зокрема: вставка фото- і відеофайлів, зображень, заповнення додаткових полів і т.п. Крім того, користувачі зможуть заповнювати і редагувати свої профілі, а також здійснювати модерацію коментарів до своїх статей, видаляючи «недоречні».

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

установка K2

Установка компонента K2 мало чим відрізняється від установки в Joomla будь-якого іншого розширення. Але для початку його, зрозуміло, необхідно завантажити. Зробити це найкраще з офіційного сайту його творців, де на титульній сторінці розташована посилання «Download K2». В теперішній момент(Початок 2015 року) на сайті http://getk2.org/ для скачування доступна версія 2.6.9.

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

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

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

русифікація

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

Завантажити русифікацію теж краще з сайту розробників: http://getk2.org/extend/translations, вибравши посилання «Russian». Сам процес русифікації схожий з установкою самого компонента. Також потрібно клікнути «Розширення» і «Встановити / видалити», а потім завантажити архів з русифікатором через поле «Завантажити файл пакета». Як тільки Joomla відзвітує про завершення установки можна бути впевненим, що K2 повністю став зрозумілий російськомовним користувачам.

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

Розібратися в роботі K2 при певному старанні цілком можна самостійно. Хоча навчитися доведеться багато чого, наприклад: імпортувати статті, створені стандартними засобами Joomla; організовувати ієрархію категорій; працювати з галереями, фото- і відеоматеріалами, прикріпленими файлами і додатковими полями; працювати з адміністративною панеллю компонента і налаштовувати зовнішній виглядстатей і категорій і т.д.

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

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

Отже, для початку, якщо ми хочемо максимально підвищити продуктивність сайту використовує компонент K2 і при цьому знизити навантаження нам доведеться відмовитися від деяких функцій компонента. На жаль доведеться цим пожертвувати, заради вищої мети :)

По-перше відмовляємося від використання модуля K2 Tools, який явно потребує доопрацювання в усіх його напрямках. Особливо намагайтеся уникнути його використання в якості календаря і меню. Використання даних функцій підвищить запити до БД аж до ~ 40 , Що зовсім не приемлимо ...

По-друге потрібно відмовитися від використання пункту меню виведення категорії K2 з надбудовою "підтягування" підкатегорій виведеної категорії (матеріали з дочірніх категорій) .. Звичайно, це було б дуже зручно використовувати, особливо на сайтах зі складною структурою та й знизить юзабіліті сайту, проте значно знизить навантаження у вигляді 50-70 запитів до БД. Тому в пункті матеріали з дочірніх категорій вибираємо немає. І в меню додаємо підпункти меню у вигляді підкатегорій (для красивих посилань).

По-третє, в настройках категорії нам доведеться відмовитися від опції " Успадковувати параметри опцій з категорії". Знову ж ця, начебто дуже зручна функція, завдання якої полегшити життя користувачам, створює величезну кількість запитів до БД, замість потрібного одного запиту. Таким чином, якщо у нас на сторінці 20 категорій, у яких включена опція спадкування - маємо додатково 20 запросов.Сейчас ж включення цієї опції призводить до того, що запит параметрів батьківської категорії відбувається всякий раз при виведенні матеріалів з дочірньою або при виведенні списку категорій.

По-четверте - використовуємо тільки необхідні функції. Я взагалі раджу відмовитися від використання стандартних коментарів K2, хоча використовувати JComments так само не рекомендую. Особисто Я більше віддаю перевагу використовувати соціальні коментарі, які зараз досить поширені. Якщо ж ви все таки використовуєте стандартні коментарі K2, то вимкніть висновок кнопки коментарів. Так само в списку категорій або в самій категорії раджу відключати такі функції, як соціальні закладки, висновок тегів, висновок автора, кнопки друку і пошту. Загалом чим менше буде функцій запущено, тим буде менше запитів, тим буде менше навантаження.
Тут же хочу написати про завантаження зображень матеріалів компонента K2. Сам компонент завантажує оригінальне зображення і зберігає його в 5 варіаціях - дуже велике, велике, середнє, мале, дуже маленьке. Найчастіше нам потрібно максимум три варіанти зображень. Я користуюся тільки великими середніми і дрібними зображеннями. Для того, щоб заборонити створення зайвих зображень потрібно закомментировать рядок
$ Handle -> Process ($ savepath); у непотрібного нам параметра збереження зображення у файлі /administrator/components/com_k2/models/item.phpЩоб заборонити збільшення зображення в матеріалі, потрібно в файлі components \ com_k2 \ templates \ default \ item.php закомментировать рядок

Як запевняють розробники - К2поєднує в собі все найкраще з Dupralі Joomla. Але чи дійсно це так? Для того, щоб дізнатися, потрібно подивитися, які можливості він нам надає. Для того, щоб подивитися, як виглядає ресурс з уже встановленим К2, Можна зайти на демо-сайт: http://demo.getk2.org.

І після побаченого складається враження, що даний інтернетресурс зроблений на Wordpress- настільки красиво там виводиться контент. Це все тому, що K2бере всю роботу з виведення контенту на себе, тобто замінює стандартні компоненти Joomla.

Можливості K2 для joomla

Якщо казати простими словами, То дане розширення бере роботу з управління контентом на себе, тобто К2відповідає за відображення тексту, фотографій, відео та іншого на вашому ресурсі. І робить це він набагато якісніше, ніж стандартні компоненти Joomla.

Основні можливості, які нам надає це розширення:
1. Можна створювати нескінченну кількість підкатегорій, чого не можна робити в стандартній Joomla;
2. Досить проста і надійна система, що дозволяє відвідувачам залишати коментарі на сайті.
3. Тепер ви можете вставляти html-теги прямо в текстовому редакторі при написанні статей. Не зрозуміло тільки, чому розробники Joomlaне подбали про це на самому початку.
4. Тепер завдяки компоненту K2в кожну статтю можна додати окрему фотогалерею. Хоча в принципі для цього існують більш професійні розширення.
5. Дуже радує можливість додавання полів в текст. Тепер, на відміну від стандартної Joomla, На вашому сайті будуть розміщуватися красиві, структуровані тексти.
6. Ну і останній, і самий головний плюс - це можливість відвідувачам сайту зареєструватися і самостійно додавати статті на ресурс.

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

Установка компонента K2

Для того, щоб встановити компонент К2, Його потрібно спочатку завантажити. Це можна зробити на офіційному сайті: http://getk2.org.

Русифікація розширення K2

Для того, щоб русифікувати розширення, качаємо архів з русифікатором за посиланням: http://getk2.org/assets/translations/download.php?language=ru_RU.Даний русифікатор встановлюємо так само, як і всі інші розширення. Після цього компонент К2русифікується самостійно.

На закінчення можна сказати, що К2- дійсно необхідний компонентдля сайтів на Joomla, А особливо, якщо у вас встановлена ​​версія движка 2.5 і нижче.

Від автора:вітаю Вас шановні читачі. Як Ви знаєте в CMS Joomla для створення матеріалу передбачено певний фіксована кількістьполів, які формують його структуру і контент. Наприклад, назва, текст, зображення, прив'язка до категорії і т.д. При цьому додати додаткові елементи, В стандартному функціоналі можливості немає, без внесення правок в движек, звичайно. Тому в даній статті ми з Вами розглянемо розширення K2 Joomla, яке представляє собою конструктор контенту, для вище зазначеної CMS.

Як вже говорилося стандартний компонент матеріалів com_content, хоч і виконує свої завдання, але все ж його функціонал дуже обмежений, в плані розширюваності. Тобто ми не можемо, використовуючи адмінку Joomla додати додаткові полядо структури матеріалу, при цьому, я вже не кажу про більш складні речі, наприклад, про механізм додавання коментарів. Звичайно знаючи API Joomla, можна розширити функціонал компонента com_content, додавши необхідний код, але для новачків це досить складне завдання. Тому як правило для вирішення різних нестандартних завдань використовуються сторонні розширення, які додають відсутній функціонал в CMS.

Але що робити, якщо наприклад нам необхідно додати парочку додаткових полів в стандартний матеріал - систему коментарів, а також можливість вставки відео безпосередньо в контент матеріалу. Відповідь проста - встановити необхідні розширення, а саме компонент коментарів (зараз не важливо який) і плагін вставки відео контенту. Але що стосується додавання додаткових полів - це вже проблема, так як часом дуже складно знайти підходяще розширення. Тому в даному випадку найбільш вдале рішення - це використання конструктора контенту (Content Construction Kit або CCK), який позбавить Вас від необхідності встановлювати різні додаткові розширення (в тому числі і вище перераховані).

Content Construction Kit або CCK - це система створення користувацьких типів контенту. Тобто - це спеціальне розширення в якому передбачені інструменти для створення і налаштування різних типівконтенту. При цьому, як правило, тип контенту формується шляхом створення необхідних полів. Відповідно кількість полів, які можна прив'язати до матеріалу не обмежується. Тобто розробник самостійно, використовуючи панель адміністратора створює необхідні поля і прив'язує їх до нового типу контенту, які в майбутньому будуть використовуватися для наповнення сайту вмістом.

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

Основні можливості компонента

1. Зручна панель управління компонента.

2. Власний менеджер категорій, що підтримує необмежений рівень вкладеності.

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

4. Інтегрована система коментування з вбудованим захистом від спаму, система голосування, а також іконки соціальних мереж.

Сучасні тенденції і підходи в веб-розробці

Дізнайтеся алгоритм швидкого зростання з нуля в сайтобудування

5. Інтегрована система тегів ( ключових слів), Які Ви можете прив'язати до створюваних елементів, за аналогією з CMS WordPress, що може бути корисно при створенні блогу.

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

7. Гнучка система налаштувань.

8. Конструктор K2 Joomla 3, так само надає можливість прикріпити до створюваного елементу довільний файл для подальшого завантаження відвідувачами сайту.

9. Підтримка великої кількостірізноманітних полів, які можна додавати до створюваних типів контенту. При цьому поля групуються по групам, що дуже зручно, так як групу додаткових полів Ви можете прив'язати до певної категорії. А значить, для створюваних матеріалів категорії будуть доступні поля з прив'язаною групи.

10. Додавання і редагування матеріалів з призначеної для користувача частини сайту. При цьому у користувача повинні бути відповідні права.

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

Сучасні тенденції і підходи в веб-розробці

Дізнайтеся алгоритм швидкого зростання з нуля в сайтобудування

Для початку - якщо Ви використовуєте компонент K2 і його окремі шаблони, то потрібно скопіювати весь вміст шаблону K2 в Ваш шаблон Joomla. Таким чином, при оновленні K2 (особливо це стосується J2.5 і вище) Ви не втратите свої зміни, які Ви зробили в файлах шаблону K2.

Створюємо копію шаблону K2

Відкриваємо папку: / Components / com_k2 / templates/ і копіюємо її вміст в папку з вашим шаблоном (попередньо створивши папки com_k2 / templates/ ): / Templates / імя_вашего_Joomlaшаблона / html / com_k2 / templates/
Якщо Ви будете використовувати поділ доп.полей не скрізь, то вельми корисним буде створення окремого шаблону для цих цілей. Наприклад, частина статей ми будемо виводити так, як вони і виводяться в К2 за замовчуванням (нехай шаблон так і називається default), А наш модернізований шаблон банально обзовём new. Щоб було зрозуміліше - дивимося дерево на картинці (будьте уважні - з приводу імені файлу CSS-стилю в цій папці ми пожуём нижче). У нашому прикладі ми використовуємо шаблон від компанії Yootheme - Nano3.

вміст папки defaultповністю копіюємо в папку new. Саме в папці new ми і буедм виробляти всі подальші маніпуляції.

Так як К2 за замовчуванням "тягне" стилі з "рідної" папки компонента ( /components/com_k2/css/k2.css), Вирішимо проблему наступним чином:

Надаючи базове перевизначення для item.php, Ми робимо рестайлінг назви і видаляємо стиль font-family за замовчуванням, створений K2, а замість цього успадковуємо його з шаблону. У цьому випадку, ви повинні побачити зміна назва стилю.

Як це розширити?

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

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

Налаштування стилів

В item.phpми надаємо посилання на імпорт, щоб завантажити файл CSS - k2.css. Ви можете скопіювати всі CSS з файлу стилів компонента K2 - k2.css і помістити його тут. Я віддаю перевагу перевизначати тільки те, що потрібно. У k2.css ми надаємо посилання на 3 додаткових CSS просто розбитих на типографіку, розташування і кольору, ви не повинні використовувати їх, якщо ви не хочете, я розділив їх, на прохання просунутих клієнтів.

Тут мається на увазі, що з К2 ви вже працювали, а значить, створили групу додаткових полів, а в ній - хоча б два самих поля. Потім потрібно присвоїти цю групу допполей нашої категорії, якої ми призначили шаблон new. Створюємо тестовий матеріал, відкриваємо його і робимо запис в додаткових полях (в нашому прикладі це банальні «Демо» і «Завантажити»):

Тепер розберемося c вмістом папки нашого К2-шаблону.

category.php файл, який відповідає за виведення списку категорій
category_item.php файл, який відповідає за виведення матеріалів при відкритті безпосередньо категорії в режимі блогу
item.php файл, який відповідає за виведення матеріалу в розгорнутому (повному) вигляді
item_comments_form.php файл виведення форми коментарів після матеріалу
itemform.php файл виведення форми додавання матеріалу
latest.php файл виводу списку останніх матеріалів
latest_item.php файл виведення матеріалу в списку останніх матеріалів
new_style.css файл стилів даного шаблону (в нашому прикладі ім'я шаблону - new)
tag.php файл виведення списку матеріалів за тегом
user.php файл виводу сторінки автора

Для прикладу будемо колупати файл, який відповідає за виведення матеріалів в режимі блогу - а саме category_item.php. Зробимо так, щоб при перегляді списку матеріалів користувач бачив тільки демо, А вже при перегляді розгорнутого матеріалу з'являлося б ще і поле завантажити.
Хочу звернути Вашу увагу, що за перегляд розгорнутого матеріалу відповідає вже інший файл, а саме - item.php, І в нашому прикладі для досягнення бажаного результату потрібно буде підправити тільки перший файл, category_item.php.

Поділяємо додаткові поля

відкриваємо файл /templates/названіе_шаблона/html/com_k2/templates/new/category_item.phpі після рядка:

Defined ( "_ JEXEC") or die ( "Restricted access");

(Це практично на самому початку файлу) вставляємо наступний код:

// додаткові поля матеріалу K2 $ extrafields = array (); foreach ($ this-> item-> extra_fields as $ item) ($ extrafields [$ item-> id] = $ item-> value;)

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

item-> params-> get ( "catItemExtraFields") && count ($ this-> item-> extra_fields)):?>

    item-> extra_fields as $ key => $ extraField):?>value! = ""):?>
  • typetype); ?> Groupgroup; ?> ">type == "header"):?>

    name; ?>

    name; ?> value; ?>

Далі нам потрібно вивести одне додаткове поле внизу intro-Текст матеріалу, це буде поле демо, Яке має унікальний ID - 1 (дізнатися ID поля можна в адміністративній панелі K2, у вкладці Доп. Поля):

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

де - це і є id додаткового поля демо. Оновлюємо сторінку на сайті і бачимо наше одне поле, яке має ідентифікатор 1 . Таким же чином вставляємо інші поля в будь-якому місці шаблона K2, тільки не забудьте міняти IDпри кожному новому додаванні поля в шаблон, в іншому випадку у вас вийде одне і теж поле в різних місцях шаблону:

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

$ This-> item-> extraFields-> АЛІАС-> name $ this-> item-> extraFields-> АЛІАС-> value

Таким чином, щасливі власники К2, починаючи з версії 2.6.1, можуть насолоджуватися ще й тим, що тепер можливий висновок назви (name) і значення (value) будь-якого додаткового поля в будь-якому місці шаблона! Ну, а ми, так би мовити, для простоти, попрацюємо поки "по-старому".
І ще одне зауваження. Як Ви вже могли помітити, у нас вивелося тільки значення додаткового поля, ім'я поля в нашому випадку не було необхідно, і ми його упустили. Якщо ж Ви хочете вивести і назва поля, і його значення - потрібно трохи змінити код, який ми додавали на початку (пам'ятаєте, після рядка заборони прямого доступу до файлу):

// додаткові поля матеріалу K2 $ extrafields = array (); foreach ($ this-> item-> extra_fields as $ item) (// додаванням наступного рядка ми визначаємо змінну, що містить ім'я допполя, а в наступній - його значення: $ extrafieldsname [$ item-> id] = $ item-> name ; $ extrafields [$ item-> id] = $ item-> value;)

Індивідуальне оформлення кожного поля

Далі нам необхідно індивідуально оформити додаткову поле K2. Для цього достатньо просто обрамити наш код DIV "ом або будь-яким іншим елементом за бажанням і додати до нього CSS-клас або id для створення унікального стилю. Наприклад, зробимо так:

Після цього відкриваємо CSS файл компонента K2 (це наш файлик new_style.css) і створюємо стиль оформлення. Тут вже робіть оформлення як душа забажає. Наприклад, ось так:

Demo (background: url ( "../images/red-button.png"); width: 60px; height: 20px; margin: 8px 0 7px 5px;)

Але я використовував вже готові стилі шаблон і просто прописав class = "uk-button uk-button-success", плюс додав своїх для позиціонування:

.demo (display: flex;) .demo_button (margin: 1 % auto; ) .Demo_button a (color: #fff;)

Результат отримаємо такий:

ускладнюємо завдання

В "штатному" режимі додаткові поля К2 виводяться циклом, ми ж в попередньому прикладі прибрали цикл і вивели поля індивідуально. Але не запарити ми, якщо у нас два десятка полів, і нам не потрібно робити індивідуальне оформлення для кожного поля, а потрібно лише приховати одне-два поля від сторонніх? Виведемо знову циклом, виключивши непотрібні поля. Ситуація з аліасами нам не підійде однозначно. Наприклад, будемо виводити поле "оптова ціна" тільки для конкретної групи користувачів К2 (назвемо їх умовно "Оптовики"). В даному прикладі розглянемо поля "Дрібний опт" і "Великий гурт" id яких дорівнюють відповідно 19 і 20, і групу користувачів "Оптовики", id якої дорівнює 5.

Зверніть увагу: ми працюємо не з групами користувачів JOOMLA, а з групами користувачів К2. Це важливо!

    item-> extra_fields as $ key => $ extraField):?>value! = "") && ($ extraField-> id<>19) && ($ extraField-> id<> 20 )): ?>
  • typetype); ?> Groupgroup; ?> "> name; ?>: value; ?>

Таким чином, в цьому шматку коду ми виводимо всі поля, крім незаповнених і тих, у яких id = 19 і id = 20. Тепер перевіримо, який id у користувача, і якщо він з групи "Оптовики" (тобто id групи користувачів К2 = 5) - виведемо по опісанноий раніше методикою залишилися два поля:

// отримуємо айдішку К2-юзера і його К2-групиid); if ($ k2_user-> group> = 5) (?> "

" ?>

Дивимося готовий код:

// Починаємо цикл-перебір всіх існуючих доп.полей

    item-> extra_fields as $ key => $ extraField):?> // Робимо перевірку, не порожні чи допполя і не рівні їх id-шки 19 і 20, і якщо умова вірна - виводимо допполя по черзі:value! = "") && ($ extraField-> id<>19) && ($ extraField-> id<> 20 )): ?>
  • typetype); ?> Groupgroup; ?> "> name; ?>: value; ?>
// отримуємо айдішку К2-юзера і його К2-групиid); // перевіряємо на відповідність нашій групі, і якщо група = 5 (оптовики) - то виводимо допполя з id = 19 і 20 if ($ k2_user-> group> = 5) (?> // Якщо умова не виповнилося (id групи НЕ дорівнює 5), то"
тут виводимо попередження про неприпустимість перегляду даної групою
" ?>

підсумок:

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

Підтримайте проект - поділіться посиланням, спасибі!
Читайте також
Сбебранк (він же Ощадбанк) Сбебранк (він же Ощадбанк) Рішення проблем з ліцензією у Autocad Чи не запускається autocad windows 7 Рішення проблем з ліцензією у Autocad Чи не запускається autocad windows 7 Інструкція з використання PIN коду КріптоПро, під час підписання кількох документів - Інструкції - АТ Інструкція з використання PIN коду КріптоПро, під час підписання кількох документів - Інструкції - АТ "ПЕК-Торг"