Views

Как да изведем данни от наша таблица, които са свързани с нод

Как да изведем данни от наша таблица, които са свързани с нод (sms_node)

Следващият код е от модула sms_node. По същество този модул променя status и promoted на нодове, които по подразбиране са непубликувани, като статус служи за публикуване на непубликуван нод, а промотиран за VIP (или по-подробно - датите на които изтича съответния статус след които този статус се отнема). Модула записва датите за публикуван и промотиран в своя таблица, както и за кой нод се отнася това. Структурата на таблицата е следната:

Използване на views за извеждане на съдържание от custom таблица от базата данни

Сигурно има много сценарии, при които да имплементираме наши идеи с views. Тук ще разгледам:

Extra - views pages with ajax

Най-интересната част от презентацията - въпросът как се прави менюто да е с ajax остана недообяснена поради липса на време. Надявам се тук да намерите отговорите на въпросите си по това.

Така, както подготвихме в предните постове различните компоненти - нашето меню с категории което сътветно си има целева страница в която да се зареждат резултатите, на практика е лесната част, която става без да се налага да пишем код. За ajax обаче трябва малко да се потрудим - най-малкото няма как да се мине без js.

Какво е необходимо?

Използването на блокове на views като част от съдържанието на страници и nodes

В предният пост видяхме как да включим един дисплей на views в темплейта на нод. Тук ще разгледам как да направим това в темплейта на друго views. Точно така - едно вю, което да импортнем в друго вю.

Създаване на "меню" от термини

Тук ще направим с views потребителско меню от термините на един речник.

За пример какво да очакваме като резултат може да разгледате блока Categories вляво. Кода за импорт на такова views е в прикачения файл.

При първоначално създаване е важно да отбележа от опциите на Show (първия слайд) да се избере Taxonomy terms. За нашето меню е необходим блок, затова избираме при създаването да се създаде първоначално като блок.

Задаваме:

Създаване на страница/блок със съдържание с аргументи

Типичен пример за views с аргумент е views с име Taxonomy term (по подразбиране е изключено)(първия слайд). В Drupal 7 views 3 въпросните аргументи са именувани CONTEXTUAL FILTERS, затова занапред ще ги наричам така - контекстен филтър. Спомняте си как се задават филтри в предния пост - те са зададени конкретни стойности и се задават от администратор на сайта. Контекстуалните филтри обаче се взимат динамично от съдържанието на страницата която се показва - те са динамичен (или контекстен) филтър, идват от контекста.

Създаване на страница/блок със съдържание с филтри

В едно views може да имаме няколко негови варианта, наречени дисплеи. Вариант не е най-точното определение, защото самите тези дисплеи може да са съвсем различни един от друг. Единственото ограничение в тази посока е, че ще са от един и същи тип какъвто изберем при създаването на това views - Content, User, Taxonomy ... или друг от възможните.

DrupalCamp Sofia 2012 - Views - извеждане на съдържание със силата на нашето въображение - материали от сесията

В тази книга са материалите от сесията ми на Drupalcamp Sofia 2012. Наред с подробно описание на резултатите, начините за постигането им, код и експорти на конкретните views-та, мотиви защо нещата са направени така както са направени, има много снимки на екрана на всеки от тези етапи. Може да задавате въпроси в коментарите към всяка страница. Също ще се радвам да споделите в коментарите Вашият опит за конкретната тема от всяка страница.
Всяка страница от тази книга представя една от точките на сесията:

Views - извеждане на съдържание със силата на нашето въображение

Това е темата на сесията, която смятам да представе на тазгодишния http://drupalcamp.bg. Разбира се, ако събере достатъчно гласове и влезе в програмата. Други сесии, на които да присъстваш може да избереш от http://drupalcamp.bg/sessions. Или предложи своя сесия http://drupalcamp.bg/node/add/session.