Народ, есть такой модулек, xflist, выводит значения указанных допполей. листинг:
Код |
---|
if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); }
$xflist = dle_cache( $xfname, $config['skin'] );
if(!$xflist) {
$sql_result = $db->query( "SELECT xfields FROM " . PREFIX . "_post WHERE approve=1" );
while ( $rows = $db->get_row( $sql_result ) ) {
$xfields[] = $rows;
}
$stack = array(); //создаем пустой массив
foreach($xfields as $value){ // перебор значений массива
if($value[xfields]){ //проверяем есть ли элемент в массиве
$row = xfieldsdataload($value[xfields]); //получаем нужное нам доп поле
if($row[$xfname]){ //проверяем есть ли значение
$rowdata = explode( "~", $row[$xfname]); //разбиваем наше значение на массив
foreach($rowdata as $value){ //перебираем значения массива
if($value){ //проверяем есть ли значение
$value = trim($value); //убираем пробелы
array_unshift($stack, $value); //добавляем в начало массива полученное значение
}
}
}
}
}
$stack = array_unique($stack); //убираем повторы
sort ($stack); //сортировка списка по алфавиту
foreach( $stack as $value ){
$xflist .= "<option class=\"$row_cat\" value=\"$value\">" . $value . "</option>";
}
create_cache( $xfname, $xflist, $config['skin'] );
}
echo $xflist;
|
Торможу и не могу вытянуть еще и категорию, к которой допполе относится. Понятно, что в запрос к _post надо добавить category,
Код |
---|
SELECT xfields,category FROM " . PREFIX . "_post и тд |
но максимум, чего я добился, это вывод id категории рядом со значением допполя, типа "Пекин16" а надо отдельной переменной, что бы id категории вывести как класс. Прощу помощи, что тут подправить. Заранее спасибо.