Нужно вывести список категорий в dropdown при добавлении фирмы, нашел модуль sobidropdown в нем выводится список категорий как нужно. Код (PHP): <?php // Categories dropdown module for SOBI2 // Author: Ashwin Date (ashwin.date@tekdi.net) // Website: www.tekdi.net defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); global $database, $mosConfig_live_site, $Itemid; $option = strtolower( strval( mosGetParam( $_REQUEST, 'option' ) ) ); $first = $params->get('optionone'); $parentid = $params->get('parent'); $mode = $params->get('mode'); $order = $params->get('order'); $parent = ($parentid) ? $parentid : 1; $button = $params->get('showbutton'); if (!$button) $show = 'onchange="this.form.submit()"'; switch ($order) { default: case 'ordering': $order_by = 'c.ordering'; break; case 'alpha': $order_by = 'c.name'; break; case 'recency': $order_by = 'c.catid DESC'; break; } echo "<link rel='StyleSheet' href='{$mosConfig_live_site}/components/com_sobi2/includes/com_sobi2.css' type='text/css' />\n"; require_once($mosConfig_absolute_path.'/components/com_sobi2/config.class.php' ); $config = new sobi2Config; if ($config->sobi2Itemid == 9999999) { $itemid = $Itemid; } else { $itemid = $config->sobi2Itemid; } // Query to get all subcats for the specified category $catsload = "SELECT r.catid AS value, c.name AS text FROM #__sobi2_cats_relations AS r, #__sobi2_categories AS c WHERE r.parentid = $parent AND c.catid = r.catid AND c.published = 1 ORDER BY $order_by"; $database->setQuery($catsload); $allcats = $database->loadObjectList(); if ($mode == 'list' || $mode=='') { echo '<ul>'; foreach ($allcats as $cat) { echo "<li><a href=\"index.php?option=com_sobi2&catid={$cat->value}&Itemid={$itemid}\">{$cat->text}</a></li>"; } echo '</ul>'; } else { $firstitem[] = mosHTML::makeOption( '0', $first); $allcats = array_merge($firstitem, $allcats); $catselect = mosHTML::selectList( $allcats, 'catid', $show.' size="1" class="inputbox" ', 'value', 'text', mosGetParam( $_GET, 'catid' ) ); ?> <div align="center"> <p> <form method="get" action="index.php" name="Sobi2dmenu" id="Sobi2dmenu"> <input type="hidden" name="option" value="com_sobi2" /> <input type="hidden" name="Itemid" value="<?php echo $config->sobi2Itemid; ?>" /> <?php echo $catselect; if ($button) { ?><input name="submit" type="submit" value="Go"><?php } ?> </form> </p> </div> <?php } // if ($mode...) В PHP не силен... подскажите как добавить вывод категорий через dropdown в файле form.class.php function getCategories() И желательно с обработчиком как сдесь http://joomlaforum.ru/index.php?topic=38107.new
Все сделал сам) В файле form.class.php функция getCategories() вставляем в нужном месте следуйщий код: Код (PHP): $catr = new SigsiuTree($config->aTreeImages); $rt = $catr->getCategories(1); $ch = 1; $this->dTree = $this->dTree."<script type='text/javascript'><!-- function addCatFromList(index) { document.getElementById('sobi2SlectedCats').selectedIndex = 0; document.getElementById('sobi2SlectedCatsID').selectedIndex = 0; removeCategory(); switch(index){ case 0: break;"; foreach ($rt as $cat) { $this->dTree = $this->dTree."case {$ch}: newNode = new Option(\"{$cat->name}\", \"{$cat->name}\", true, true); newNodeID = new Option({$cat->catid}, {$cat->catid}, true, true); break;"; $ch++; } $this->dTree = $this->dTree."break; default: break; } if(index!=0){ document.getElementById('sobi2SlectedCats').options[document.getElementById('sobi2SlectedCats').length] = newNode; document.getElementById('sobi2SlectedCatsID').options[document.getElementById('sobi2SlectedCatsID').length] = newNodeID; for(var a = 0; a < document.getElementById('sobi2SlectedCats').length - 1; ++a) { document.getElementById('sobi2SlectedCats').options[a].selected = false; document.getElementById('sobi2SlectedCatsID').options[a].selected = false; } } } // --> </script>"; $this->dTree = $this->dTree."<select name=\"field_catselect\" id=\"field_catselect\" size=\"1\" class=\"selectlist\" onchange =\"addCatFromList(this.selectedIndex);\" ><option value=\"0\">Выберите категорию</option>"; foreach ($rt as $cat) { $this->dTree = $this->dTree."<option value=\"{$cat->name}\">{$cat->name}</option>"; } $this->dTree = $this->dTree."</select>"; в css скрываем не нужное...