Чот не могу придумать, как реализовать:
Есть материалы (картинка + заголовок).
Как бы сделать что-то в виде теста: выводится 1 картинка и 4 заголовка (рандомных, один из которых этой картинке соответствует). И если юзер щелкнул правильный заголовок, то там пишем типа ок! Если нет, то нет.
Я думал через вьюс, что-то там мудрил мудрил, пытался...выводил 4 заголовка, а в шапке, например картинку, а дальше всё застопорилось! Думал сделать представление внутри представления (но как тогда между ними связь организовать....) короче нихрена не придумал!
Мож у кого есть идеи, как эту штуку сделать?
Нарыл большой модуль quiz - типа для организации викторин... Но это всё же не то что мне нужно...
Комментарии
https://www.drupal.org/project/quiz_sentence_drop
https://www.drupal.org/project/quiz_drag_drop
https://www.drupal.org/project/image_target_question
У quiz есть своя экосистема https://groups.drupal.org/node/177684
Интересные модули.
Век как говорится живи...
Но вот не совсем они подходят... то есть смысл такой: есть 1000 карточек - картинка/слово.
Для закрепления материала берем любые случайные из них 4 слова и одну случайную из этих 4-х картинку.
И потом уже проверяем на соответствие...
Но вот проблема... 4 карточки выбрать с помощью вьюс легко. А как потом из этой выборки вьюс сделать еще одну.. с одной случайной картинкой....
Можно расположить поле с картинкой в шапке вьюса, но блин, оно тогда будет не случайным, а соответствовать первому слову из четырёх...
Я думаю надо расширять экосистему, выборка случайных значений из энтропии можно реализовать какой бы сложной она не казалось на первый взгляд, есть очень интересные алгоритмы улучшения репрезентативности в стохастических процессах.
(оффтоп)О чем речь, если не секрет?
Ну там его не устраивает стандартный views attachment и случайный стандартный вьюсовый случайных алгоритм
Не-не,
я просто не знаю, как сделать выборку вьюс из другой выборки вьюс. А так меня всё устраивает
Вообще выборка вьюс из другой выборки, можно упростить в одну выборку добавив фильтров например
С фильтрами всё не так просто...
Нужно ведь чтобы на одной странице отображались и картинки и заголовки к ним (можно один из заголовков) - в рандомном порядке. А как сделать это в рамках одного вьюса? Если вьюсов 2, то тогда случайная выборка будет разная для каждого из них.
Раз у вас что-то обучательное, то гляньте сборку https://www.drupal.org/project/opigno_lms
Она есть и под D7, там аналогичное с карточками сделано через quiz
Я квиз мельком глянул только. Но что меня в нём не устроило - нужно делать материалы-вопросы, сопоставлять их. Он не может взять из 1000 уже готовых материалов картинку (4 шт) и ниже отобразить заголовки к этим картинкам, чтобы пользователь их сопоставлял.
Ему нужно задавать каждый "вопрос", комплектуя его 4 (или сколько там хочется) картинками с заголовками. И они будут постоянно в таком виде, их можно перемешать только внутри самого вопроса, а что там в 4-х то перемешивать?
А нужно чтобы выводились рандомно 4 шт из всего количества. А добавлять новые с помощью материала вида заголовок/картинка - и чтоб он сразу "включался" в этот квиз.
Я всё-таки переформулирую вопрос, а то чот меня аж бесит, что я не могу придумать путь решения. И я не верю, что это невозможно сделать без свистоплясок:
Есть 1000 материалов вида заголовок/картинка.
Есть view которая выводит случайно 4 заголовка из них.
Задача: Вывести на этой же странице 1 случайную картинку из этих 4х материалов, заголовки которых выведены выше.
А как случайный вывод организован?
ну просто во вьюс добавлен критерий сортировки: случайно. и ограничение вывода 4 шт.
Покажите скриншот настроек views
Ну дак добавьте еще одно поле "изображение" или как оно у вас там. Views будет брать его как раз из тех же нод откуда и заголовок
Так их же будет тоже 4!!! При том расположены они будут в соответствии с заголовками! А мне нужно одно случайное! Ну или пусть будут 4, но расположены тогда случайно, а не каждая под своим заголовком
Расположение изображений можно переопределить в шаблоне этого представления
А оно переопределится фиксированным образом или там есть какой-нибудь рандом?
Я сейчас с ходу не смогу ответить. Создайте шаблон для вашего представления именно где выводятся поля. И "поиграйтесь" с этими полями.
В крайнем случае, можно в препроцессе получать ссылку на рандомное изображение и передавать её в шаблон.
Вроде как есть ощущение, что это можно сделать с помощью контекстных фильтров и связей второй вьюхи. Но что там в них указывать то!? Я то ли не до конца этот инструмент понимаю, то ли что. Я всегда использовал контекстные фильтры вместе с аргументом из пути (%). А вот в гугле пишут, что в качестве контекста можно каким-то образом указывать просто страницу, на которой типа находишься, безо всяких %.
Так может быть можно создать вьюху, в качестве контекста которой передать (как?) объекты изначальной вьюхи (там где 4 заголовка)? Я пробовал методом тыка - ничего не получается! То есть когда типа находишься на странице представления с 4мя заголовками, они передаются контекстом второму представлению, которое выбирает случайно одно из них и отображает эту картинку.... С помощью связи по полю картинка (?)
Как то блин в теории вроде что-то сходится, но на практике это не работает, или я неправильно указыва настройки вьюс....