|
|
29.04.2010, 15:22
|
|
ditas
Зарегистрирован: 2009-06-23
Сообщений: 7
|
Здравствуйте.
Очень нужна помощь в решении след. задачи.
Нужно реализовать сортировку терминов в Глоссарии по приниципу: ссылка
В разделе есть компонент с двумя полями:
1 - сам термин
2 - его значение
Необходимо разбить раздел на страницы (по алфавиту) и выводить на каждой из страниц термины начинающиеся на соответствующую букву.
|
|
|
29.04.2010, 16:12
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
1. в компоненте прописываете ссылки вида
Код:<a href='?search=Г'>Г</a>
2. В системных настройках пишите
Код:if($search) $query_where = "(name LIKE '$search%')";
name- поле по которому производится поиск
|
|
|
30.04.2010, 10:03
|
|
ditas
Зарегистрирован: 2009-06-23
Сообщений: 7
|
Спасибо большое за подсказку.
Появился еще один вопрос - а возможно ли сделать выборку по терминам, чтобы ссылки вида <a href='?search=Г'>Г</a> появлялись только на те буквы, на которые есть термины?
|
|
|
30.04.2010, 10:35
|
|
malich
Андрей Малков
Зарегистрирован: 2005-08-09
Сообщений: 522
|
Нужно сделать примерно так:
1. помечаем активную букву
Код:".('$search'=='Г'?" <b>Г</b> ":" <a href='?search=Г'>Г</a> ")."
2. смотрим есть ли термины на эту букву
Код:".(($db->get_var("SELECT COUNT(*) as n FROM Message$classID WHERE name LIKE 'Г' AND Checked=1") >> 0)?"
термины есть выводим ссылку
".('$search'=='Г'?" <b>Г</b> ":" <a href='?search=Г'>Г</a> ")."
":"
терминов нет выводим просто букву
<b>Г</b>
")."
В системных настройках компонента можно еще дописать условие
Код:if($search) $query_where = "(name LIKE '$search%')";
if(!$search) $query_where = "(name LIKE 'А')";
если переменной $search нет делаем выборку по какой то первой букве
|
|
|
30.04.2010, 12:05
|
|
ditas
Зарегистрирован: 2009-06-23
Сообщений: 7
|
Очень помогли. Спасибо вам большое!
|