|
6. Мова макрокоманд контенту в CMS
ADO в Delphi AJAX Android C++ CakePHP CMS COM CSS Delphi Flash Flex HTML Internet Java JavaScript MySQL PHP RIA SCORM Silverlight SQL UML XML Бази даних Веб-розробка Генетичні алгоритми ГІС Гітара Дизайн Економіка Інтелектуальні СДН Колір Масаж Математика Медицина Музика Нечітка логіка ООП Патерни Подання знань Розкрутка сайту, SEO САПР Сесії в PHP Системне програмування Системний аналіз Тестологія Тестування ПЗ Фреймворки Штучний інтелект
|
Знання
→
CMS — системи керування вмістом
→
Розробка систем керування контентом (CMS) – архітектурні та інфологічні засади
CMS — системи керування вмістом → Розробка систем керування контентом (CMS) – архітектурні та інфологічні засади6. Мова макрокоманд контенту в CMSРобота з контентом часто передбачає багаторазове виконання однотипних задач оформлення інформації. Серед таких задач можуть бути наступні:
Виконання подібних задач вручну призводить до необхідності повторного формування html-коду та нагромадження в контенті сайту технічно-залежного коду (URL, посилання на фізичні каталоги зображень тощо). Зручним розв’язком описаної проблеми є створення системи макрокоманд контенту, що дозволять зосередити логіку оформлення невеликих повторюваних фрагментів контенту в одному місці. Приклад гіпотетичної макрокоманди для вставки зображення-ілюстрації: <p> Lorem ipsum dolor sit amet. ##img(some.jpg,left)## Ut enim ad minim veniam. </p> <p> Lorem ipsum dolor sit amet. [[img some.jpg left]] Ut enim ad minim veniam. </p> Тут img – ім’я команди; some.jpg, left – аргументи команди; ## та [[ ]] – маркери початку та кінця команди. <p> Lorem ipsum dolor sit amet. <img src=”images/some.jpg” class=”image left” > Ut enim ad minim veniam. </p> Зауважимо, що даний приклад можна реалізувати засобами CSS, натомість часто засобів CSS не достатньо для зручного вирішення завдань повторної публікації невеликих фрагментів HTML. Реалізація парсингу макрокоманд в CMSМакрокоманди контенту в CMS – це спеціальна мова логічного керування контентом, оператори якої вбудовуються безпосередньо в html-текст веб-сторінки. Такі команди можуть використовуватись на рівні контент-менеджера або архітектора веб-сайту. Алгоритм парсингу html-тексту сторінки для обробки макрокоманд: 1. Цикл поки в Тексті зустрічається маркер початку команди:
1) отримати позицію першого входження маркера початку команди;
• перевірити існування функції-обробника по імені команди; В PHP пошук маркерів команд слід виконувати за допомогою функції strpos() – пп.1, 1.1, 1.2 алгоритму. Заміна тексту команди в контенті відбувається шляхом розбиття тексту на три частини: текст до команди, текст після команди та власне текст команди. Текст команди обробляється, та отриманий результат конкатенується з першою і третьою частинами тексту. В PHP для видобування частини рядку використовується функція substr() – п.1.3. Альтернативним способом парсингу макрокоманд є регулярні вирази. Реалізація обробки макрокоманд в CMSПісля синтаксичного аналізу, коли отримано усю інформацію про команду, тобто її ім’я та аргументи, необхідно здійснити обробку команди. Для того, щоб забезпечити зручний механізм додавання нових команд в CMS визначення та запуск функції-обробника можна організувати автоматично по імені команди. Наприклад, для команди img слід здійснювати запуск функції macro_img і т.п.: /** * $name – ім’я команди; * $args – аргументи команди, масив */ $prefix = ‘macro_’; $func_name = $prefix . $name; if (function_exists($func_name)) $result = $func_name($args); ... Інший варіант обробки макрокоманд – автоматичний запуск шаблона із іменем, що будується на основі імені команди: /** * $name – ім’я команди; * $args – аргументи команди, масив * output() – функція підключення шаблону */ $folder = ‘macros/’; $tmpl_name = $folder . $name; $result = output($tmpl_name, $args); ... Приклади макрокоманд в CMSМакрокоманди допомагають створювати невеликі шаблони для вставки в текст веб-сторінок – так звані мікрошаблони. Серед типових завдань, що доцільно вирішувати за допомогою макрокоманд, наступні: • внутрішнє посилання – команда, що у якості параметра приймає код сторінки: ##link(about)Посилання на опис компанії##endl## • блок анотованого посилання на внутрішню сторінку (анонс), параметр – код сторінки: <h2>Оновлення сайту</h2> ##announce (newpage)## • вставка зображення в потрібному стилі сайту, вхідний параметр – ім’я файлу зображення: ##img(pict.jpg)## • Публікація дочірніх елементів деякої сторінки у вигляді списку чи плитки, параметр – код сторінки: <h2>Сторінки розділу</h2> ##list(products)## <h2>Сторінки розділу</h2> ##tiles(products)## • Публікація сторінок із розділу новин у вигляді стрічки новин, параметр – код розділу новин; публікуються лише ті сторінки, що відповідають даті; застосовується сортування по даті; результат – список анотованих посилань на останні новини; цю макрокоманду зручно використовувати для головної сторінки сайту: <h2>Новини сайту</h2> ##lenta(news)## © Титенко С. В. Інформація курсу по матеріалам: Web-орієнтовані інформаційні системи. Методичні вказівки до вивчення дисципліни для студентів напряму підготовки 6.050103 «Програмна інженерія» / Титенко С. В. – К.: НТУУ «КПІ» 2015. – 51с. Зверніть увагу на додаткові посиланняЯкщо вас цікавить...Головний розділСторінки, близькі за змістомзагрузка...
|
Теми розділу
Сторінки, близькі за змістом
|
|
Copyright © 2008—2026 Портал Знань.
При використанні матеріалів посилання, для інтернет-ресурсів — гіперпосилання, на Znannya.org обов'язкове.
Зв'язок
|
НТУУ "КПІ" Інженерія програмного забезпечення КПІ Лабораторія СЕТ |
|