Распиши подробно как делал!
Заранее благодарен...
Все как описано выше...
1. Добавляем пользовательскую функцию в конец файла custom.functions.php, который лежит по адресу:
ИмяСайта\components\com_sobi2\includes\inc\
вот листинг функции
<?php
function getSobiCatsDrop() {
$config =& sobi2Config::getInstance();
$database =& $config->getDb();
$database->setQuery( "SELECT catid, name FROM `#__sobi2_categories` WHERE published = 1 AND catid > 1" );
$cats = $database->loadObjectList();
if ( $database->getErrorNum() ) {
trigger_error( "DB reports: ".$database->stderr(), E_USER_WARNING );
}
$catList = array();
if( !empty( $cats ) ) {
foreach( $cats as $category ) {
$category->name = $config->jsAddSlashes( $config->getSobiStr( $category->name ) );
$category->name = $config->getSobiStr($category->name);
$catList[] = sobiHTML::makeOption( $category->catid, $category->name );
}
}
$catList = sobiHTML::selectList( $catList, "sobi2SlectedCatsID[]", 'size="1" class="inputbox"' , 'value', 'text' );
$returnVal = "<tr><td>Choose category:</td><td>{$catList}</td>";
return $returnVal;
}
?>
2. В файле реестра СОБИ2 config.ini, который лежит по тому же адресу, находим строку
edit_callback_func = 0
в разделе [edit_form] и заменяем значение переменной на
edit_callback_func = "getSobiCatsDrop"
т.е. указываем имя нашей пользовательской функции, которую мы добавили в файл custom.functions.php
После этого после Дерева каталогов (которое надо затем скрыть) появляется выпадающий список с надписью "Select category"...
Проблема в том, что у меня 4 уровня вложения категорий и все они перемешиваются и ложатся в список как равноценные... т.е. нарушается вся выработанная иерархия категорий...
А хотелось бы, чтобы было так, как это реализовано в Расширенном поиске, где подкатегории появляются по мере выбора родительской категории... т.е. надо сделать каскад (как я понимаю)..
Помогите кто знает!...