Как сделать на друпале поиск картинок по цвету?

Главные вкладки

Комментарии

Аватар пользователя VasyOK VasyOK 13 июля 2015 в 20:48

Быстро не сделаешь.
Либо через раскрытые фильтры в views. Но там надо темизировать чекбокс в виде квадратика с цветом.
либо Search API + Facet API + https://www.drupal.org/sandbox/ymakux/2191237 автору модуля можно писать на украинском - он поймет.

Аватар пользователя dgastudio dgastudio 13 июля 2015 в 21:59

2 варианта

1. при сохранении фотки, вручную вешаете нужные теги
2. при сохранении фотки, обрабатываете ее чем то похожим на http://stackoverflow.com/questions/3468500/detect-overall-average-color-..., после чего, сохраняете цвета как термины таксономии.

выводите термины ака цветные кубики в фасете.

хотя по сути да, в таксономии не имеет смысла хранить, так что все загонять в colorfield

Аватар пользователя t1mm1 t1mm1 14 июля 2015 в 10:49

Там обычный search api + facet api.

1. делаете словарь (например, colors).
2. В этот словарь в управлении полями добавляете поле (текстовое).
3. название терминов - название цвета. В текстовое поле (что создали выше) - цвет в #rrggbb.
4. Делаете вьюху (в связке с search api) - это отдельная тема -
вот тут поднобно, как это сделать
https://www.drupal.org/node/1597930
http://xandeadx.ru/blog/drupal/686 (!!!)
или тут http://dreamr1der.ru/drupal_facet_search
все толково и без мишуры

5. Далее, когда у вас будет поисковый индекс, вам нужно только оттемизировать свой фасетный фильтр.
Идем сюда и читаем https://www.acquia.com/blog/facet-queries-making-custom-solr-facets-fun-...
Если не понятно, то спрашиваем - как это сделать и просим пример (пример смогу дать только вечером).
Там же логика будет проста. НА выходе берете tid вашего проиндексированного термина и запрашиваете текстовое поле с RRGGBB цветом, с которым потом стилями делаете что угодно, хоть гружки для фильтра, хоть ху_шки.

Это только то, что "слева".

Что же касаемо сортировок вверху, то тут зависит от логики. Если же эти данные есть в базе - так же, загоняем все в индекс, и либо делаем кастомные изменения в запрос (для этог оесть АПИ), либо expoused filters вьюса и темизируем это дело.

Вроде бы все.

Quote:

хотя по сути да, в таксономии не имеет смысла хранить, так что все загонять в colorfield

Вариант не плохой, за исключением, что будет головняк подружить это с search api.
ИМХО, этот вариант хорош, если пользователю нужны все цвета, но ему как я понимаю, нужен будет определенный набор.

Это пример того, как делать для больших каталогов. Можно еще заюзать solr, но тут это ни к чему.

Аватар пользователя t1mm1 t1mm1 14 июля 2015 в 11:27

Quote:

английского к сожелению не знаю(( буду ждать примера

По статьям - гугл транслейт вполне справится, что бы понять смысл.

Просто мне будет сложно объяснить вам, как оно работает.
А англ язык нужен - без него вы не будете развиваться. + вся толковая доументация - на англ языке.