Любая уважающая себя социальная сеть должна иметь возможность поиск профилей пользователей по определенным параметрам, например, по ФИО, году рождения, городу, учебному заведению и.т.д. Подобная функциональность имеется и в Community Builder. С его помощью вы можете создавать всевозможные списки пользователей и фильтры, которые позволят вашему сообществу быть легко доступным каждому его члену.
Содержание
Доступ к управлению списками пользователей можно получить, перейдя в «Компоненты» –> «Community Builder» –> «List Management» из административной панели Joomla. Появится менеджер списков, в котором будут показаны все существующие списки пользователей.
Первое, что нужно понять, это то, что любой список пользователей может содержать от одной до четырех колонок, содержащих в себе по одному или нескольким полям. Разберемся что есть что. Представьте себе таблицу, которая содержит 4 столбца и неограниченное количество строк. Каждая колонка таблицы содержит какой-либо параметр человека – пол, возраст, имя и.т.д., а каждая строка – это отдельный человек. Такая таблица есть один из возможных списков Community Builder, но разница в том, что в Community Builder в одной ячейке таблицы может содержаться множество параметров человека. Это сделано для того, чтобы не ограничиваться четырьмя параметрами колонками. Думаю, что пока все равно не очень понятно, так что пример:
Список пользователей №1:
1 колонка содержит: Логин, ФИО
2 колонка содержит: Зарегистирован (дата), последний раз был, последний раз обновлял профиль
Таким образом, получаем следующий список:
Заголовок первой колонки |
Заголовок второй колонки |
Ivanov Иванов Иван иванович |
Зарегистрирован: 12.02.2010 Последний раз был: 7 часов назад Последний раз обновлял профиль: 3 дня назад |
Petrov Петров Петр Петрович |
Зарегистрирован: 03.09.2009 Последний раз был: 2 часа назад Последний раз обновлял профиль: 8 дней назад |
И.т.д…
Следует отметить, что если вы планируете использовать использовать списки с несколькими колонками, убедитесь, что они подойдут под ваш шаблон Joomla. Например, если ваш список содержит 4 колонки, а шаблон имеет фиксированную ширину, то список может выходить за пределы шаблона.
Добавление нового списка
Для добавления нового списка нажмите кнопку New List (новый список) в менеджере списков Community Builder. Отроется форма добавления нового списка. Эта форма довольно необычна и может показаться запутанной у впервые увидевшего ее. Разберем все опции формы по порядку:
Title (Заголовок) – заголовок списка. Данный заголовок будет показан перед списком и в в выпадающем меню выбора списка из всех доступных списков (знаю, звучит ужасно J);
Description (Описание) – описание списка в формате HTML;
Примечание (для продвинутых пользователей)
Вы можете использовать языковые величины для заголовка и описания списка пользователей Community Builder(Даже не знаю как это правильно назвать по-русски. В общем, это переменные, использующиеся в Joomla для создания многоязычности, те, значения которым присваиваются в языковых файлах). Например, _UE_CONTACT_INFO_HEADER по умолчанию определяет заголовок поля контактной информации. Таким способом можно частично обеспечить поддержку нескольких языков в Community Builder, используя JoomlaFish.
Вы можете также использовать тег замены [cb_fieldname] в описании и заголовке. Благодаря этому можно сделать заголовок или описание, обращающееся к пользователю. Например, если в описании списка написать «Привет, [cb_name], это список всех членов нашего сообщества», то пользователь с именем Иван увидит «Привет, Иван, это список всех членов нашего сообщества», пользователь с именем Александр увидит «Привет, Александр, это список всех членов нашего сообщества» и.т.д.
User Group to allow access to (Группы пользователей, которые имеют доступ к списку) – здесь можно выбрать группы пользователей, которые смогут просматривать список. Не забывайте, что структура групп в Joomla иерархическая, т.е. список смогут видеть пользователи выбранной группы и групп, находящихся выше в иерархии;
User Groups to Include in List (Группы пользователей из которых формируется список) – Здесь можно выбрать группы пользователей из которых будет сформирован список. Для выбора нескольких групп используйте клавишу Ctrl или Shift;
Published (Опубликовано?) – опубликован или скрыт список на сайте;
Default (По умолчанию?) – если выбрано, то данный список будет показан по умолчанию в выпадающем списке выбора списков;
Sort By (Сортировать по) – опция выбора способов сортировки пользователей в списке. Доступны различные виды сортировки, в том числе и не связанные с пользовательскими полями. ASC/DESC – определяет порядок сортировки либо от меньшего к большему, либо наоборот. После выбора способа и порядка сортировки нужно нажать кнопку «Add», чтобы добавить способ к списку доступных способов сортировки. С помощью кнопок «+» и «-» можно управлять порядком способов в списке, а кнопка «Remove» удаляет выделенный способ из списка;
Filter (Фильтр) – очень интересная и гибкая опция, позволяющая настроить фильтрацию пользователей. Если мы хотим дать возможность фильтрации пользователей списка, то можем создать здесь требуемые фильтры. Всего есть 2 вида фильтрации Простой (Simple) и Расширенный (Advanced) . Простой способ фильтрации действительно прост, но недостаточно гибок. Однако он подойдет для некоторых фильтров. Здесь фильтрация фильтр создается на основании тех полей:
- Параметр пользователя – параметр пользователя, по которому производим фильтрацию;
- Логическое условие – условие для фильтрации (см. ниже);
- Значение – значение для фильтрации
Условия фильтрации следующие:
- Greater then – больше, чем («>»)
- Greater then or Equal to – больше, либо равно («>=»)
- Less then – меньше, чем («<»)
- Less then or Equal to – меньше, либо равно («<=»)
- Equal to – равно («=»)
- Not Equal to – неравно («<>»)
- Is NULL – равно нулю («ложно», «логический 0»)
- Is not NULL – неравно нулю («истинно», «логическая 1»)
- Like – «вроде, наподобие» – частичное вхождение, т.е. здесь задается только часть фразы, например, если задано (ФИО Like «Ив»), то фильтр найдет пользователей, у которых в ФИО встречается сочетание «Ив», т.е., например, всех «Ивановых», всех «Иванов» и всех «Ивановичей» и.т.д.
В данном примере будут выбраны мужчины, знающие английский или греческий язык.
Далее переходим непосредственно к настройке списка. Опции настройки списка крайне необычны, но все же просты.
У нас есть возможность включения от одной до четырех колонок с множеством полей в каждой ячейки. В центре показано окно, включающее все существующие поля пользователя, и 4 кнопки «Add(Добавить)». Каждая из кнопок добавляет поле к соответствующей колонке.
Каждая из колонок имеет следующие опции:
- Enable Column (Активировать колонку) – если поставить галочку, колонка будет показана в списке;
- Column Title (Заголовок колонки) – заголовок данной колонки в списке;
- Column Captions (Заголовки полей колонки) – если поставить галочку, то перед выводом данных в списке будет указанно, что это за данные. Например: 1) Галочка стоит: «Ранг на форуме: Новичок», 2) Галочка не стоит: «Новичок»
- Кнопки управления – кнопки управления содержимым списков колонок, аналогичные рассмотренным выше.
Для большей ясности ниже показано 2 рисунка – 1-й с примером настройки, 2-й с результатом настройки
Опции здесь следующие:
– Searchable fields (поля доступные для поиска) – имеет 3 варианта:
- No (Нет) – поиск по списку недоступен;
- Searchable fields, displayed ones only (Поиск только по полям, которые отображаются) – поиск будет работать только по тем полям, которые показаны в списке;
- All searchable fields (поиск по всем полям) – поиск будет работать по всем полям, доступным для поиска, даже по тем, которые не показаны в списке.
– Search criteria (Вид поиска) – есть 3 вида:
- Simple: Only ‘is’ and ranges (только точные совпадения) – поиск только точных совпадений, указанных в строке поиска. Наиболее быстрый поиск;
- Расширенный поиск, включающий частичные совпадения (может быть медленным) – данный вид поиска может искать пользователей по частичному совпадению, т.е., например, если задать в поле поиска «ФИО» фразу «Ив», то все «Ивановы» будут найдены;
- Advanced: all possibilities (WARNING: can be slow) (Расширенный поиск, включающий все возможности (может быть медленным)) – самый функциональный, но при этом самый медленный вид поиска. Он включает в себя все условия, имеющиеся в фильтре (см выше), поэтому позволяет искать пользователей наиболее качественно;
– Number of entries per page (количество строк на странице) – количество пользователей, показываемых на одной странице;
– Show pagination (Показать пагинацию) – пагинация – это разбиение на страницы;
– Hot-link protection for the users-list (защита ссылок от сканирования) – есть в интернете такая практика, как сканирование ссылок. Цели сканирования могут быть разными – сбор информации, атака, и.др., но результат всегда один – повышенная нагрузка на сервер и, как следствие, замедление работы сайта. Сканирование страниц возможно лишь тогда, когда в ссылках сканируемых страниц есть некая закономерность, позволяющая предсказать то, какая страница будет следующей. Например, есть ссылка:
http://test.test/index.php?option=com_comprofiler&task=usersList&listid=2&Itemid=56&limitstart=0
Данная ссылка показывает первую страницу списка. Для второй страницы ссылка выглядит так:
http://test.test/index.php?option=com_comprofiler&task=usersList&listid=2&Itemid=56&limitstart=1
Не сложно догадаться, что для третьей страницы ссылка будет:
http://test.test/index.php?option=com_comprofiler&task=usersList&listid=2&Itemid=56&limitstart=2
При этом легко создать автоматический сканер всех последующих страниц.
При включении данной опции все ссылки, кроме первой, будут содержать временную составляющую:
http://test.test/index.php?option=com_comprofiler&task=usersList&listid=2&Itemid=56&cbsecuritym3= cbm_5028b09e_1df0c2ec_4e1370 a96f5efde7bb76ec9021dcb955&limitstart =1
которая изменяется через определенные промежутки времени. Нормально проиндексировать такие страницы поисковым системам не удастся, но оно и не требуется, поскольку работа со списками нужна исключительно для людей.
На этом опции настройки списка пользователей Community Builder закончены, но остается еще несколько важных моментов.
После сохранения списка, если снова зайти в его настройки в самом верху появятся две ссылки:
Первая – постоянная ссылка на данный список. Она не изменится и может выть вставлена куда угодно.
Вторая – постоянная ссылка на поиск по данному списку. При переходе по данной ссылке отображается только форма поиска по списку.
Просмотр списков
Последнее, что необходимо разобрать, это просмотр списков. Каждый список имеет свой уникальный идентификатор, посмотреть который можно в менеджере списков:
Что хочется отметить в заключении. Community Builder позволяет довольно гибко управлять списками пользователей и фильтрами. При желании можно создать довольно неплохую систему фильтрации пользователей. Единственное, чего не хватает этой системе – возможность задавать параметры фильтрации непосредственно во время отсеивания (т.е., например, мы можем использовать в меню параметр возраст только интервалами, скажем: 1 ссылка – от 10 до 20 лет, 2 ссылка – от 20 до 40 лет, и.т.д, но не можем позволить пользователю самостоятельно задать этот интервал.). Правда этот недостаток легко решается расширенным поиском по списку.
Представляю вашему вниманию небольшой обзор студии web-дизайна Art of Web: http://artofweb.biz/. Данная студия занимается созданием и продвижением сайтов, web-дизайном, а также рекламой в Интернете. Посмотрел портфолио – понравилось. Что я всегда ценю в дизайне сайтов, так это простоту и привлекательность. С одной стороны сайт должен быть красивым и радовать глаз, а с другой – быть простым и доступным для посетителей. В портфолио Art of Web, как мне кажется, именно такие сайты. Web-студия ориентированна на разработку, создание и продвижение сайтов в Калуге, но заказчикам их других городов тоже не откажет. Так что если вас интересует создание сайта в Калуге, то Добро Пожаловать!
Автору респект и уважуха!!!
Ато у меня при переходе по силке на список, поле пустое, но при клике на ном откриваютса профили...
Стандартний отображает, а при создании нового или редакту стандартного уже ничего нет.
Пишкт на сайте есть 3 юреза, а их не отображает!!!
http://fotky.com.ua/view/full/76813_tjmco
чтоби перевести поле, надо знать ча что оно отвечает..
1) Имя пользователя
2) Статус(онлайн/офлайн)
3) Дата последнего посещения
4) не знаю
5) аватар
А вообще, переключите язык на английский и посмотрите, что там написано.
Очень помогли!!
открывай файл comprofiler.html.php
там ищешь класс cbUserListHrTop
и удаляешь его вместе со скобками тегов
это верхний бордер
то же делаешь с нижним cbUserListHrBottom
Ранее у меня стояли joomla 1.7 и CB 1.7. Но в виду довольно бедного набора расширений, решил поставить joomla 1.5 и CB 1.2 RC 3.
Само-собой пришлось все подгонять и переписывать с нуля. Но при создании списка пользователей на CB 1.2 RC 3, к своему ужасу обнаружил, что в "списке параметров" List Management отсутствует "многокритериальный поиск" .
Вследствие чего в поисковых формах появилась куча логических критериев поиска (такие как "точное совпадение, содержит фразу, содержит любое из" и т.п.).
Я считаю что такой "шикарный" выбор критериев будет только затруднять пользователей.
Достойной альтернативы по поисковым плагинам и плагинам списков пользователей - не нашел.
Обновление версии СB, как известно может привести к всевозможным ошибкам. А начинать все с начала хоть и возможно, но достаточно трудоемко.
Не мог бы кто-нибудь подсказать каким образом можно убрать эти злосчастные критерии поиска, или помочь найти любое другое оптимальное решение?
Заранее благодарен, Дмитрий
Т.е. вы отказались от новой версии, заменив ее прототипом старой(RC - это релиз кандидат.)
Обновите версию хотя бы до стабильной. Возможно, там появится то, что вам нужно.
Что-ж прийдется пойти на обновление..
странно работает LIKE , ищет только по точному совпадению.
есть мультичекбокс `cb_sports`
по условию `cb_sports` LIKE 'box' находит тех юзеров, у которых отмечен ТОЛЬКО box.
если отмечены box и sky , то не находит ни по 'box' ни по 'sky'
по выражению `cb_sports` LIKE 'bo' не находит никого.
В настройках:
All searchable fields
Advanced: all possibilities (WARNING: can be slow)
потому, что должно быть `cb_sports` LIKE '%box%'
естествннно. Чтобы находил должно быть `cb_sports` LIKE '%bo%'.
и вообще сайт супер! успехов!
Но есть непонятки с выводом списка. Во-первых, при выборе типа меню из Community Builder - при выборе любого пункта идет сброс на logout. В результате удалось вывести userlist как внешнюю ссылку - т.е. отдельной страницей.
Подскажите, как можно вывести userlist как отдельный модуль, который можно расположить на любой из страниц сайта?
как с этим бороться?
и если использовать языковые переменные, то в каком файле их можно править? пока только каждый раз загружал заново весь русификатор (после изменений в нём).
а статья очень понравилась. большое спасибо.
использую CB 1.9, Joomla 2.5