Мне нужно сделать выпадающий список с помощью CAutoComplete. Все установлено и отлично работает, вот мой код действия:
<?php
public function actionSuggestCharacter() {
if(Yii::app()->request->isAjaxRequest && isset($_GET['q'])) {
$name = $_GET['q'];
$criteria = new CDbCriteria;
$criteria->condition='`Character` LIKE :keyword';
$criteria->params=array(':keyword'=>"$name%");
$criteria->limit = 5;
$suggestions = zCharacter::model()->findAll($criteria);
$returnVal = '';
foreach($suggestions as $suggestion) {
$returnVal .= $suggestion->Character."\n";
}
if (isset($suggestion)) {
echo $returnVal;
}
$criteria->condition='`Character` LIKE :keyword';
$criteria->params=array(':keyword'=>"%$name%");
$criteria->limit = 5;
$suggestions = zCharacter::model()->findAll($criteria);
$returnVal = '';
foreach($suggestions as $suggestion) {
$returnVal .= $suggestion->Character."\n";
}
if (isset($suggestion)) {
echo $returnVal;
}
}
}
?>
Что делает этот код, так это то, что он показывает первые 5 совпадений с ключевым словом в начале, а следующие 5 совпадений с ключевым словом в любом месте.
Пример. Допустим, пользователь вводит в поле ввода «pdd» (не имеет значения, может быть любой текст), поэтому результаты, возвращаемые функцией автозаполнения, будут выглядеть так:
1. pddtext...
2. pddtext...
3. pdd_some_other_text
4. pdd_text
5. pdd_text
1. text_text_pdd
2. text_pdd_text
3. etc...
Проблема в том, что мне нужно разделить эти два блока какой-то линией (<hr>
или <div>
с границей). Как я могу это сделать?
Спасибо.