ПредишенСледващото

Ето защо, за да се посъветва, трябва да сме готови да гарантирам за 100%. И ние можем уверено да препоръча UMI като система за управление на съдържанието, а дори и в частност, като рамка. Препоръчайте без изключения и резерви за малки сайтове, визитки, както и за megaportals и онлайн магазини.

Е наясно с огромно количество други ССФ, ние можем да обясним това, което е в основата на нашето мнение.

Кои лиценз да избера?

Универсалността на структурата на данните

Обикновено, разработчиците са свикнали да виждат сайта на статия в базата данни в таблица, ред: идентификатор конкретна статия - заглавие - обявяването - текст.

Данните за UMI.CMS база данни се съхранява в структурата: идентификатор абстрактен елемент - текстово поле - числово поле. Ето малко по-трудно да се намери заглавие и текст, но с помощта на API - няколко реда код - и ще получите всичко, което искате. Е, ако това е "неудобно" - уви, програмиране е област, в която най-добрият наградата отива само за допълнителен психически стрес. Ако все още имате желание да се издигне на по-високо ниво на структурата на данните, има нови и вълнуващи възможности.

Например, интернет магазин гранит една, където типичен елемент е "Радиатори сребро, 1 кв. м. " Всичко е добре, но плочката се предлага в пет различни размери. Всеки размер е лъскава и е матова, и е по-устойчива на хлъзгане (на улицата), както и някои декори (ръбове и т.н.) могат да бъдат приложени към всеки. Декорации струват допълнително пари, но те не се продават отделно и са в допълнение към един метър от съответните им плочи и само нея.

Един пример може да изглежда рядко, но в действителност тези стоки много: автомобили (цената зависи от конфигурацията), сглобен от компоненти компютри, формуляри за кандидатстване за виза (да, от гледна точка на софтуера точка, също така е добре), климатик (сплит система), и т.н. . г.

В модул "шаблоните за данни" на допълват вида на "продукти", допълнителни полета:

Размер 1, tip1, ред видима;
Размер 2, tip2, ред видима;

и така нататък до 15 (пет възможни размери плочки, умножени по три вида повърхности, оставете 15 възможна опция размер).

По същия начин, ние създаваме числово поле за цената:

Цената на квадратен метър. размер 1 метра, PR1, виждат се номерата;
Цената на квадратен метър. размер meter2, PR2, числата се вижда;
и г. д. и 15.

Остава да се промени коша, така че тя се опита друг вариант - размер. Paint че няма смисъл, защото в съвременния вариант на Umi допълнителни продукти има. Сега ние просто илюстрира принципа.

Така че, ако ние го направихме на двигателя, с принципа на линейна за съхранение на данни като Joomla, Netcat, Bitrix и др. Ние ще трябва да добавите колона в таблицата на базата данни. И ако ние не сме единственият комплекс тип обекти, тя ще трябва да направите, за да се създаде отделна друга таблица за тези допълнителни свойства и изграждане на нещо глобално за целия двигател.

Тук ние просто сме нов ред в съществуваща таблица. Самата структура на таблицата се съхраняват. Това означава, че ако по-рано искане от идентификационния номер на елемента елемент ще ни върне името, цената и имиджа, сега той се връща към нас все повече и размери на стоките и техните цени. В този случай, и други елементи, като например статии, все още са останали имена и съдържание на - нови функции ще бъдат върнати само до елемента, в който се намират.

Очевидно е, че един прост сайт, където има само един тип данни - артикули - маса с линеен съхранение ще произвежда съдържание по-бързо. В същото време, ако имаме много сложни обекти с различни свойства - UMI изпълнява в начина на съхранение на данни е най-доброто, ако не и гениално решение. Компромисът за гъвкавост в някои случаи може да е скоростта, но създателите решиха да UMI усъвършенства този проблем. Но повече за това по-късно, но сега големият въпрос: и как да получите данни за показване на уеб страницата?

Директни заявки към базата данни не са необходими, тъй като работата е да го направим на API и шаблони.

Животът - това е променлив и непредсказуем. И никой не колекция от рецепти ще даде отговори на всички ситуации. API не отговаря на изискванията за контрол на вселената, тя трябва да се опрости типичните рутинни неща. И само тези, които наистина трябва да се опрости. Само наистина усложнява нещата, но не всичко.

Две темплейт, XSLT и стари, Гражданска отговорност. По-добре, разбира се, да се започне с XSLT, да скочи над една стъпка, но сега, за по-голяма яснота, нека вземем за пример TPL-шаблони.

Достатъчно е да се направи това:

По същия начин, ние може да подаде всяка област на данни на даден обект макрос не знаейки PHP. И това наистина е голяма крачка напред към по-светло бъдеще, когато всеки нормален човек, без умения за програмиране, за да могат да участват в сериозен корпоративен сайт.

Макроси са универсални, а те са малко. Те могат да бъдат вкарани в шаблона, както и текста на статията. Така че с мениджър UMI съдържание може да управлява сайта напълно самостоятелно, докато в други CMS за извършване на тази задача ще изисква участието на програмиста.

На прост шаблони за редактиране и вмъкване макро вече е възможно да се изгради много. Ако имате по-стара версия с голям брой модули, монтирани, дори и напреднали онлайн магазин може да направи без знанието на PHP уебмастъра.

Когато макро функционалността не е достатъчно, помощта идва API. За да идват от други двигатели понякога не-очевиден начин на използването му в Umi. Например, те са добре запознати с същността на повикване API за получаване на съдържанието на полето "телефон" от статията с идентификатор равна на 5:

Но това, което започва след това, превръщайки живота си в кошмар, а те изпращат проклятия Umi. Защото те ходят в кода на двигателя, търси, когато функцията, която показва съдържанието на страницата, както и с помощта на различни хакове, които се опитват да се притеснявам това, силно се абстрахира и обектно-ориентиран код под формата на нейното изпълнение на горния код. Те причина: той е прав, защото аз използвам API. Но не. Качи се в самия двигател има смисъл само, ако това е модификация забележителност ако имате нужда от нещо, което да фундаментална промяна. В процес на разработка на UMI намеса на кода на двигателя наистина е рядкост.

Просто добавете /classes/modules/custom.php нова функция:

Разработчиците свикнали да мощна рамка като CodeIgniter, се опитва да намери във функцията API, които ще се получат данни, в красива чиния. Така например, на стоките в онлайн магазина. Няма такова, на API в UMI - това е мостът между данните и шаблони. Това означава, че на масата ще трябва да се направи шаблон за схемата, която се дава, за да го TPL (папа / tpls /) или XSLT шаблон (/ xsltTpls /). Понякога може да му помогне. Да кажем, че ние трябва да донесе масата за стоки в три колони. Модулната структура - това е голямо нещо, но когато става въпрос за говорители, често е най-добрият вариант е на маса. И не само XSLT, но TPL шаблон може също да го изгради:

- извличане на стоки макро # 037; каталог getObjectsList ( "3_col_template") # 037; - Копирайте модел / tpls / Каталог / неизпълнението на / tpls / Каталог / 3_col_template и редактирате нашия нов шаблон на масата, като поставите маркери. - добавяне на нов шаблон за края на фрагмент макро objects_block_line .. # 037; обичай сплитер (207 # 037; трансмисия параметър е необходим идентификационен номер, за да получите около кеширане на макро - добавете към /modules/classes/custom.php функция:

Тази функция дава редове сепаратор маса на всеки трети (или друг определени променливи $ колони) повикване, и стоките са разделени в три колони.

Когато наистина, че има смисъл да се промени самата двигателя

Това не е инструментите на Nginx кеширане, които са налични в WordPress и някои други двигатели - когато горещите страници са поставени в малка кеш памет и издадена от там. Много по-добре. Не само горещо, но като цяло всички страници се преобразуват в статичен и предвид Nginx. Без да използвате PHP, MySQL, без да. Absolute ускорение. Не напразно в превода на сайта при статични Nginx е най-доброто средство за DDOS.

Ръководството не казва как да се направи изключение от кеша за някои страници, но това е просто.

Също UMI CMS може да победи всички записи и без кеширане на динамични данни, ако броят на страниците на един малък сайт. Обърнете Memcached, ако е необходимо, да се увеличи буфера на сървъра, и ние имаме достъп до милиони посетители на ден, дори и на ниско съдържание на желязо.

безопасност

В antivirus-alarm.ru (антивирусна проект Kraftwork) постоянно търсят места за митническо оформяне. И за няколко години от съществуването си, той е събрал статистика. Така че, на сайтовете на Umi не е там. Първо място в yukoz - това е разбираемо, има учениците поставите на уебсайта си "чудо JavaScript." Вторият - DLE. А UMI CMS изобщо в този списък не е пълен с дупки. Нито собственикът на сайта на odnin не адресирано UMI за почистване.

UMI ви позволява да направите дори автоматично се свържете отново страниците в сайта, предназначени за тези страници тагове. Докато привържениците на други двигатели повърна ръцете си и отказват да се направи това, за разработчиците Umi просто добавя към custom.php функция, която филтрира изхода от страницата на съдържание, като добави, свържете отново.

недостатъци

Може да бъде много дълго време да нарисува достойнството UMI CMS, защото Umisoft много време за това и има време за това време огромно количество да се направи във всички добри. Но честно казано аз трябва да намеря byaku.

Труден въпрос, защото наистина разкриват сериозни недостатъци UMI CMS система не е възможно. Някои предприемачи се оплакват, че Umi не ги информира за техните допуснати синтактични грешки, но просто виси бял екран, когато телевизорът не е там запетая (за сигурност е добро, че не показва грешката, и е необходима за отстраняване на грешки - да се направи error_reporting (55)). Или се оплакват от провала на API. Това не е сериозно: CMS не е дистанционно управление на Вселената, тя има други функции.

Друг много рядко, но все пак истински случай - когато обекта на клиента се използва, за да се интересуват от своите данни директно от MySQL, износът към Excel и обратно през PhpMyAdmin. Тук UMI използва в схема за съхранение на информация с висока степен на абстракция е пречка. Ако мястото на нискобюджетен - тук UMI очевидно не е най-добрият вариант. Но ако един голям проект - няма разлика, както се съхраняват данните. Ние правим за масата на клиента във формат, удобен за него и периодично изнася данни от Umi в тази "експериментално" маса. В същото време ние се отърве от проблема с "тежки" заявления, които са неизбежни при товарене и разтоварване в Excel огромни бази данни - защото сега клиентът не е измъчван от силно MySQL маса на живо на сайта, както и техните "двойки". Спасяването рецепта, ако клиентът обича да заявки, като и няколко гигабайта маса.

По-старите версии на UMI CMS

Свързани статии

Подкрепете проекта - споделете линка, благодаря!