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

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

Скоро моя блог ще бъде поредица от статии "Създаване на сайт от нулата", "Направи гъвкав и функционален блог", "Интернет-магазин на CMS / CMF MODx» и много други. Останете на линия.
Нека да знаят, когато нови статии на сайта. RSS Feed.

В този урок ще създадем в главното меню на сайта. В MODx има вграденото решение за организиране на динамични менюта на сайта - това се прави с помощта на Wayfinder фрагмент. О, да, забравих. Аз не ви разкажа за още един основни термини MODx. Терминът "фрагменти".

Фрагменти - е PHP код, който можем да наречем по шаблон сайт. Резултатът от фрагмент е поставена на мястото на повикването. За да видите списък на откъси, които са включени MODx подразбиране, следвайте раздела в администраторския панел: Елементи → → Елементи на управлението Snippets. Всички те са на разположение за редактиране. Но докато не ще разберат какво се случва, аз ви съветваме да не редактирате. Защо имаме нужда от точно тези откъси? И те са необходими за гарантиране на динамичната логика онлайн. Например, за генериране на динамични менюта, съдържание на изход от базата данни на дадено условие, организиране на форми за обратна връзка, като цяло, за всички действия, достъпни чрез API MODx. Кой е примерът ще разбереш.

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

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

За да се премине през няколко параметри, които използваме конструкцията:

[! Imya_snippeta? параметър1 = `znachenie` параметър2 = `znachenie`. ]

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

Когато се обадите кеширана резултат от фрагмента се съхранява в кеш паметта, и се презарежда страницата фрагмент от кода не се извършва отново и поставете поканата веднага заместени предишния резултат е взета от кеша.

Е, сега знаеш ли какво е "фрагмент" и да продължим нататък. Както написах по-горе, за организиране на динамични менюта, за да MODx, ние ще използваме вграден фрагмент Wayfinder.

Wayfinder е резултат от оттеглянето на неподредените, елементи от които ще са препратка към детските документи към страницата, на която ние ще наричаме този фрагмент. Например, ако имаме структурата на документи, като този, показан на фигурата по-долу

След това, ако ние наричаме откъс на началната страница

резултат от работата му ще бъде даден списък на 4 връзки към детските страници. Списъкът ще изглежда така:

Забележка: когато тази покана е необходимо да има дъщерни елементи, защото ако не е, че фрагментът няма да доведе до нищо. Нас това предизвикателство не е подходящ за организиране на менюто на уеб сайта, като основното меню, което искаме да видим не само основните, но и за всички деца страници. В същото време, ние искаме да видите менюто на всички страници се състоят от едни и същи елементи. За да направите това, което наричаме Wayfinder фрагмент, а неговата теза startID, която записва идентификационният номер на документа, препратки към страниците за деца, които ще се изтеглят. Позволете ми да ви напомня, че документа за самоличност е фигура в скобите в MODx документите на дърветата.

Call ще бъде, както следва:

В този случай, без значение какво страница ние не се нарича Wayfinder фрагмент, списъкът ще се формира въз основа на децата на началната страница (ID = 1), а не това, на което сме направили повикването.

Сега нека да видим какво точно са основното меню на сайта в нашия шаблон. Ако си спомняте менюто сме съхранява на едно парче с лого нарича HEADER. И това, което виждаме?

Меню е редовен списък с водещи символи на, който се поставя в контейнер с идентификатор = "topnav". Това означава, че HTML маркирането за менюто ще бъде на обичайното списък, както и на целия проблем на външен вид отнема на CSS файл, че още преди това. Но вие вече знаете как това може да бъде неподреден списък за динамично въвеждат в MODx. Ето защо, ние премахнете от HEADER парче тук този код

И на негово място, което наричаме Wayfinder фрагмент с параметър, поставен пред него startId = на 1.

Нека да погледнем на изходния код, за да получите най-главното меню:

Моля, имайте предвид, че фрагмент Wayfinder автоматично генерира клас за активния класа елемент от менюто = "активен" и името му съвпадна с още разписани в този случай в класа на CSS "активен". Ето защо, когато щракнете върху меню, активната точка ние сме се подчертава в зелено, тъй като първоначално е бил в шаблона.

По подразбиране, активен елемент от менюто Wayfinder винаги ще генерира клас = "активна", така че ако ви шаблон той описва друг клас, тя се промени в CSS файла. Ако погледнете отново в изходния код на генерирания списъка, а след това ще видите, че последният елемент от менюто е обозначено с клас по подразбиране за последно, той също така е да се има предвид, тъй като често е за проектиране на последния елемент от менюто е необходимо да се определи стила отделно. В този случай, можете да използвате последния клас на неговия дизайн.

Сега нека да се върне към елементите от менюто. Както можем да видим не е елемент от главното меню "Home". Тъй като ние, посочена като идентификатор на параметър фрагмент startId на главната страница, ние сме донесе менюто на детските ресурси за главната страница, без да се включва сама. Добавяне на връзка към началната си страница по различни начини, няма да има какво да се зареди и да започне да предлага най-оптималния начин, по който е било необходимо да се възползват от веднага. За да направите това, най-лесният начин да се промени структурата на документа дърво, което изглеждаше като по този начин.

За да се покаже менюто, ние startId рекорд идентификатор самата главната папка. Той винаги ще бъде равен на "0". Правим го като последният път, в заглавната част на парче:

След това, в главното меню, ние, в допълнение към елементите от менюто, които са били преди, все още ще изберете "Home", тъй като всички тези елементи са дъщерни дружества по отношение на схемата на сайта. Но, ако имате страница с име по същия начин, както аз правя, ще забележите, че менюто не е вече поставена на равна нога с логото, като имената са твърде дълги. Това е много добра. Попитайте защо. И тъй като не мога да ви покажа примера на друго поле в страницата за редактиране на ресурсите, които споменах по-рано, и чрез които ще бъде възможно за решаване на проблемите от този род.

И така, че менюто не е обходен под логото, което трябва да се промени дължината на една или две точки от менюто. В нашия случай най-добре е да се замени името т "дом" да напише просто "Home". Това може да стане без да се променя името на самия ресурс. Просто отидете на страницата на ресурса с име "дом" в "от менюто" редактиране впише името на нашия кратък абзац - "Home".

Поддържане и готово! Ние получите голям резултат. В името на това се е променила и менюто вече не се изплъзва под логото.

Сега вече сме завърши основното меню, чрез които можем да се движите из страниците, създадени в MODx документите на дърветата.

С цел да ви запознае с работата на Wayfinder фрагмент по-подробно, нека да разгледаме още няколко примера.

Колкото по-малка е цифрата, толкова по-рано е менюто. Ето защо, при редактиране на ресурс можете да зададете за всяка страница, съответстваща на стойността на позицията в менюто. За да подредите елементите в менюто в последователността, описана по-горе, сложих следните стойности на "Позиция в меню":

Същото често може да се наложи да премахнете елементи от менюто от екрана в менюто. Например, досега ние нямаме новини, ние бихме искали да се покаже елементът не е в менюто. Няма проблем, отидете на ресурс към страницата за редактиране на "Новини" и премахване на отметка "Публикуване в менюто", след което няма да бъде показван на покупка.

След това, в името на документа дърво ресурс "Новини" е светло сив цвят.

Това, всъщност, организацията на менюто е приключила. Научихме как да се показва динамично меню в MODx в вграден фрагмент Wayfinder. В същото време трябва да се практикува, когато се опитвате да сортирате елементите от менюто и да се отстранят от дисплея на избрани елементи от менюто.

Единственото нещо, което все още искам да посъветвам е да се направи в главното меню в отделен парче. За да създадете тази парче Main-менюто и съдържанието му вмъкват структура фрагмент повикване в рамка контейнер


[! Wayfinder? startId = 0 за! ]

И след това в парчето заглавната част, където преди е имало предизвикателство към менюто, вместо на контейнера

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