| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
kechinoff 11.01.2007 18:22
Здравствуйте. Хотелось бы услышать комментарий.$list[^CreateCategoryTree[3]]
# Создает таблицу всех категорий, которые являются дочерними выбранной (ID) на неопределенную глубину
# Не спрашивайте, почему Tree - переделывалось уже несколько раз, раньше назначение другое было
@CreateCategoryTree[ID]
$result[^table::create{ID}]
^result.append{$ID}
^result.join[^Catalog:GetChildByParent[$ID]] # Вызывает метод, который добавляет в таблицу те категории, которые принадлежат выбранной (ID)
# Назначение описано строкой выше. Выбирает детские (дочерние) категории, прокручивает их, вызывает сам себя и добавляет результаты в табличку.
@GetChildByParent[ID]
$result[^Catalog:Categories[$ID]] # См. ниже
^result.menu{
^result.join[^Catalog:GetChildByParent[$result.ID]]
}
# Выбирает категории, у которых ParentID = $ID (которые являются дочерними к выбранной. На один уровень)
@Categories[ID]
$result[^MySQL:Query[select ID from Category where ParentID = $ID]]Сделал, вроде работает, но до конца осмыслить - почему работает, пока не получается. select from Catalog where Category in ( ^list.menu{$list.ID}[,] )Спасибо за возможные ответы.