Розробка додатків
Розгалужена функціональність CMS була створена в процесі роботи над багатьма сайтами. CMS використовувався й у системах електронної комерції, і в Інтернет / Інтранет системах, у корпоративних сайтах, сайтах Інтернет видань, розважальних проектах.
Основною ідеєю було створення системи, що дозволяє відокремити дані, функціональність і представлення. Це дозволило створювати функціональність, що обробляє різні структури даних. При цьому перехід від даних одного виду до інших даних не вимагав переписування вже готових модулів. До того ж ті самі дані за рахунок застосування різних шаблонів можна виводити зовсім по-різному.
Система побудована з застосуванням mod_rewrite модуля, що дозволяє інтерпретувати наявність файлів і папок на сервері (ЧПУ). Це дозволяє вирішити відразу кілька задач:
- оптимізація сайта для деяких пошукових машин;
- кешування сторінок на проміжних proxy-серверах;
- шляхи, що запам'ятовуються, (наприклад, mysite.com/products/ замість mysite.com/index.php?module=products або mysite.com/index.php?module=547);
За рахунок цього розроблювачі задають структуру сайта через адміністративний інтерфейс. Структура сайта являє собою дерево розділів. Кожен розділ містить назву, відносний шлях, опис і набір інших параметрів.
Система розділена на 2 частині: адміністративний інтерфейс і система відображення сторінок сайта. Фактично розроблювачі рідко змінюють файли адміністративного інтерфейсу, задаючи тільки структуру сайта і змінюючи дизайн системи відображення.
Відокремлення даних від функціональності є основою системи. Це дозволяє робити керування даними без зміни файлів плагинів, а найчастіше і дизайну.
Система має великий ряд готових модулів для різноманітних задач. Застосування готових рішень допомагає скоротити час розробки сайта і робити це на рішенні, що вже було тестовано. Відповідно вартість розробки сайта на CMS зменшується в порівнянні з розробкою сайта з нуля.
Представлення даних для відображення на сайті вирішується за допомогою шаблонів і зміни глобальних файлів. Прив'язка дизайну забирає небагато часу і виробляється звичайним зміна HTML.
|