форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Собственно сабж
Что значат поля lft и rgt в базе txp_category?
как-то сам не могу просечь закономерности. Может кто подскажет. Сейчас пишу плагинчик для сортировки секций, категорий, статей и всего остального перетаскиванием в списках. Для перетаскивания использую jQuery и Interface Elements for jQuery.
Поэтому хотелось бы поподробнее изучить структуру баз. Понятно, что придётся добавлять новые поля, но всё же.
Кстати, кому интересно, есть плагин похожей функциональности stm_article_order от геноссе Мюллера. Но мне этот плаг не подошёл. Так как сортировка происходит в пределах секции, а мне чаще бывает нужно в пределах категории.
Кстати, у геноссе Мюллера есть ещё один полезный плаг, добавляющий возможность загрузки картинки прямо в секцию редактирования статьи. Зовётся он stm_image_uploader. За что геноссе Мюллеру — почёт и уважуха.
Отредактированно AngryCAT (02-12-2007 00:53:35)
Неактивен
AngryCAT написал:
Что значат поля lft и rgt в базе txp_category?
о, какой интересный вопрос.
Эти параметры явно запланированы для сортировки в админке, но сейчас не используются.
Точнее используются, но значения туда выставляются в соответсвии с сортировкой по имени.
Специально не разбирался, но давайте попробуем.
Структура неочевидная. видимо предполагалось какая-то богатая функциональность, которой мы пока не видим.
Нагляднее всего разбираться с ними на примере из официальной поставки
кусок таблицы txp_category
id name type parent lft rgt title 10 root article 1 8 root 5 hope-for-the-future article root 2 3 Hope for the Future 6 meaningful-labor article root 4 5 Meaningful Labor 7 reciprocal-affection article root 6 7 Reciprocal Affection
Давайте начнем с root.
root типа article (остальные root-ы - однотипно)
Предположение.
lft - уровень, начиная от 1 (то есть верхний уровень равен 1),
rgt - lft, который будет у новой (следующей добавленной) категории для данного типа root-а (в нашем случае - article). То есть при появлении новой категории rgt у root будет меняться
Неактивен
Не очень похоже, что эти поля для сортировки. Я нашёл эти поля в функциях getTree, getTreePath, rebuild_tree. И похоже, что они используются для построения дерева. Буду рыть дальше, но всегда рад помощи.
Неактивен
На оффоруме нашёл следующую фразу
Between l(e)ft and r(i)g(h)t, the child categories reside.
И линк Storing Hierarchical Data in a Database. Буду рыть дальше.
Кстати, вообще очень не плохой сайтик по ссылочке. Есть что почитать Всем рекомендую.
Отредактированно AngryCAT (02-12-2007 23:14:08)
Неактивен
Всем кому интересно - статья объясняющая принцип хранения древовидных структур в базе (как раз наш случай) на русском языке
Неактивен
AngryCAT, спасибо за ссылки. Когда-то больше года назад, когда ещё только начинал разбираться с TXP, пробовал как и Evgeny понять эти поля как сортировочные. Не получилось отсортировать по ним. Использовал какое-то другое решение, не помню уже какое. Благо, записей для сортировки было всего три.
Неактивен