removed 0 Опубликовано 19 октября, 2009 Жалоба Share Опубликовано 19 октября, 2009 Добрый вечер. Саш, у меня такой вопрос: Мне нужно сделать так, чтобы на странице списка кактегорий вприсутствовали не только рисунок категории и его имя, но также количество подкатегорий на 1 уровень и их названия. Их должен ведь выводить массив $categories_content в includes\modules\default.php[строка:144-163]. Вот примерное его содержимое: Array( [categories_description] => [categories_id] => 19 [categories_name] => Компьютеры [categories_heading_title] => [categories_image] => 19.gif [parent_id] => 0)...[/code] Как изменить запрос к БД чтобы массив стал такой: [code]Array( [categories_description] => [categories_id] => 19 [categories_name] => Компьютеры [categories_heading_title] => [categories_image] => 19.gif [parent_id] => 0 [subcategories_data] => Array ( [0] => Array ( [categories_id] => 126 [categories_name] => Ноутбуки ) [1] => Array ( [categories_id] => 127 [categories_name] => Мониторы ) ) [subcategories_qty] => 2) Результат: Компьютеры [2] Ноутбуки Мониторы Можно и другие варианты, важен результат. ЗЫ: Програмирование знаю плохо. :( Ссылка на сообщение Поделиться на другие сайты
removed 0 Опубликовано 19 октября, 2009 Автор Жалоба Share Опубликовано 19 октября, 2009 Аа все, сообразил. Спасибо ;) если кому будет нужно, кодом поделюсь. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 октября, 2009 Жалоба Share Опубликовано 20 октября, 2009 Если не сложно, напишите конечно. Наверняка ведь в будущем пригодится кому, да и тема сохранится, если что, можно будет посмотреть, как делали. Ссылка на сообщение Поделиться на другие сайты
removed 0 Опубликовано 20 октября, 2009 Автор Жалоба Share Опубликовано 20 октября, 2009 Хорошо :) В includes\modules\default.php сразу после [строка: 146]: $rows = 0; while ($categories = vam_db_fetch_array($categories_query, true)) { $rows ++;[/code] Нужно добавить: [code] $sub_query = "select c.categories_id, cd.categories_name, c.parent_id from ".TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION." cd where c.categories_status = '1' and c.parent_id = '".$categories['categories_id']."' and c.categories_id = cd.categories_id ".$recursive_check." ".$group_check." and cd.language_id = '".(int) $_SESSION['languages_id']."' order by sort_order, cd.categories_name"; $sub_query = vamDBquery($sub_query); $subs_links = ''; while ($subs = vam_db_fetch_array($sub_query, true)) { $subs_links[] = '<a href="'.vam_href_link(FILENAME_DEFAULT, vam_category_link($subs['categories_id'],$subs['categories_name'])).'">'.$subs['categories_name'].'</a>'; } } Найти [строка:161] $categories_content[] = array ('CATEGORIES_NAME' => $categories['categories_name'], 'CATEGORIES_HEADING_TITLE' => $categories['categories_heading_title'], 'CATEGORIES_IMAGE' => $image, 'CATEGORIES_LINK' => vam_href_link(FILENAME_DEFAULT, $cPath_new), 'CATEGORIES_DESCRIPTION' => $categories['categories_description']);[/code] Заменяем на: [code=php] $categories_content[] = array ( 'CATEGORIES_NAME' => $categories['categories_name'], 'CATEGORIES_HEADING_TITLE' => $categories['categories_heading_title'], 'CATEGORIES_IMAGE' => $image, 'CATEGORIES_LINK' => vam_href_link(FILENAME_DEFAULT, $cPath_new), 'CATEGORIES_DESCRIPTION' => $categories['categories_description'], 'SUBCATEGORIES_LINKS' => (($subs_links > 0)?(implode(", ", $subs_links)):('')), 'SUBCATEGORIES_QTY' => (($subs_links > 0)?(count($subs_links)):('')) ); Вообщем то все. Остается только добавить метки {$module_data.SUBCATEGORIES_QTY} и {$module_data.SUBCATEGORIES_LINKS} в цикле в templates\..\module\categorie_listing\categorie_listing.html default.php Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 октября, 2009 Жалоба Share Опубликовано 20 октября, 2009 Спасибо. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения