так, добрался я и до этого:) есть кое-какие мысли. т.к. была описана корректная работа до третьего уровня - решил попробовать. скачал файлики, запихал, поправил подключение к базе и увидел пустые поля. Решил покопаться внутри. Интересно что на самом деле сделал что все работает отлично, но есть одно но - после выбора категории - выбираем подкатегорию - прогружается страничка с формой добавления самого объявления. А вот в селекте с категорией (которая корректно выбралась и встала в url) стоит "Выбор...". Видимо стартовая очистка селектов дала о себе знать. всем, кому интересно до этого момента: качаем папочку AJAX с вложений в начале темы, затем вставляем в adsmanager.html.php функцию (куда вам угодно):
function displaySingleCatChooser($ad_id,$conf,$option,$cats,$catid,$itemid)
{
global $mosConfig_absolute_path;
?>
<!-- подключение скрипта для каскадных списков -->
<script src="components/com_adsmanager/ajax/jquery-1.3.2.js" type="text/javascript"></script>
<script src="components/com_adsmanager/ajax/select.js" type="text/JavaScript"></script>
<div id="categories">
<select name="category_0" class='adsmanager_required'>
<span>
</span>
</select>
</div>
<?php
}
заметьте, в примере скрипт подрубался needselect.js, тут подрубается select.js, с нидом - не работает (не стал копаться почему).
Далее в том же файле (adsmanager.html.php) в функции
show_write_form ищем строки:
<label for="ad_kindof"><?php echo ADSMANAGER_FORM_CATEGORY; ?></label>
<select class='adsmanager_required' name='category_choose' onchange="jumpmenu('parent',this)">
<?php
if ((@$ad_id)&&($ad_id != ""))
$linkoption = "&page=write_ad&adid=$ad_id";
else
$linkoption = "&page=write_ad";
if ($catid == 0)
echo "<option value='#' selected=selected>".ADSMANAGER_SELECT_CATEGORY."</option>";
adsmanager_html::selectCategories(0,"",$cats,$catid,$conf->root_allowed,$option,$itemid,$linkoption);
?>
</select>
и меняем на:
<label for="ad_kindof"><?php echo ADSMANAGER_FORM_CATEGORY; ?></label>
<?php
$target = sefRelToAbs("index.php?option=$option&page=save_ad&Itemid=$itemid");
adsmanager_html::displaySingleCatChooser($ad_id,$conf,$option,$cats,$catid,$itemid);
?>
<form action="<?php echo $target;?>" method="post" name="adminForm" enctype="multipart/form-data" onsubmit="return submitbutton(this)">
<?php
echo "<input type='hidden' name='category' value='$catid' />";
?>
ну и пробуем что получилось. Если разберусь чтобы после выбора показать путь в селекте вместо "Выбрать..." - напишу как сделать. Выкладывать полностью файлы не вижу смысла ибо больше НИЧЕГО не менял. Версия ADSManager - 2.19, хотя код писался изначально под 2.5 ->думаю и в ней работать будет корректно именно в этой части. Насчет более глубокого безошибочного вложения посмотрю позже, а пока это может кому пригодится.