Textpattern - на русском языке

форум общения русскоязычных пользователей CMS Текстпаттерн

Вы не зашли.

#1 02-12-2007 00:51:02

AngryCAT
ферт
Откуда: Германия
Зарегистрирован: 18-04-2006
Сообщений: 486
Вебсайт

Что значат поля lft и rgt в базе txp_category?

Собственно сабж
Что значат поля lft и rgt в базе txp_category?
как-то сам не могу просечь закономерности. Может кто подскажет. Сейчас пишу плагинчик для сортировки секций, категорий, статей и всего остального перетаскиванием в списках. Для перетаскивания использую jQuery и  Interface Elements for jQuery.

Поэтому хотелось бы поподробнее изучить структуру баз. Понятно, что придётся добавлять новые поля, но всё же.

Кстати, кому интересно, есть плагин похожей функциональности stm_article_order от геноссе Мюллера. Но мне этот плаг не подошёл. Так как сортировка происходит в пределах секции, а мне чаще бывает нужно в пределах категории.

Кстати, у геноссе Мюллера есть ещё один полезный плаг, добавляющий возможность загрузки картинки прямо в секцию редактирования статьи. Зовётся он stm_image_uploader. За что геноссе Мюллеру — почёт и уважуха.

Отредактированно AngryCAT (02-12-2007 00:53:35)


TextPattern строить и жить помогает! Кстати, пишу плагины на заказ. ICQ 155-08-081. В асю, пожалуйста, по поводу заказов или платных консультаций (10$ час). Остальные вопросы в форум или на почту.

Неактивен

 

#2 02-12-2007 17:17:50

Evgeny
ять
Зарегистрирован: 15-03-2005
Сообщений: 1869

Re: Что значат поля lft и rgt в базе txp_category?

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 будет меняться

Неактивен

 

#3 02-12-2007 22:50:18

AngryCAT
ферт
Откуда: Германия
Зарегистрирован: 18-04-2006
Сообщений: 486
Вебсайт

Re: Что значат поля lft и rgt в базе txp_category?

Не очень похоже, что эти поля для сортировки. Я нашёл эти поля в функциях getTree, getTreePath, rebuild_tree. И похоже, что они используются для построения дерева. Буду рыть дальше, но всегда рад помощи.


TextPattern строить и жить помогает! Кстати, пишу плагины на заказ. ICQ 155-08-081. В асю, пожалуйста, по поводу заказов или платных консультаций (10$ час). Остальные вопросы в форум или на почту.

Неактивен

 

#4 02-12-2007 23:05:12

AngryCAT
ферт
Откуда: Германия
Зарегистрирован: 18-04-2006
Сообщений: 486
Вебсайт

Re: Что значат поля lft и rgt в базе txp_category?

На оффоруме нашёл следующую фразу
Between l(e)ft and r(i)g(h)t, the child categories reside.
И линк Storing Hierarchical Data in a Database. Буду рыть дальше.

Кстати, вообще очень не плохой сайтик по ссылочке. Есть что почитать smile Всем рекомендую.

Отредактированно AngryCAT (02-12-2007 23:14:08)


TextPattern строить и жить помогает! Кстати, пишу плагины на заказ. ICQ 155-08-081. В асю, пожалуйста, по поводу заказов или платных консультаций (10$ час). Остальные вопросы в форум или на почту.

Неактивен

 

#5 05-12-2007 12:54:02

AngryCAT
ферт
Откуда: Германия
Зарегистрирован: 18-04-2006
Сообщений: 486
Вебсайт

Re: Что значат поля lft и rgt в базе txp_category?

Всем кому интересно - статья объясняющая принцип хранения древовидных структур в базе (как раз наш случай) на русском языке


TextPattern строить и жить помогает! Кстати, пишу плагины на заказ. ICQ 155-08-081. В асю, пожалуйста, по поводу заказов или платных консультаций (10$ час). Остальные вопросы в форум или на почту.

Неактивен

 

#6 31-12-2007 15:37:21

Nechaev
живёте
Зарегистрирован: 22-04-2007
Сообщений: 88

Re: Что значат поля lft и rgt в базе txp_category?

AngryCAT, спасибо за ссылки. Когда-то больше года назад, когда ещё только начинал разбираться с TXP, пробовал как и Evgeny понять эти поля как сортировочные. Не получилось отсортировать по ним. Использовал какое-то другое решение, не помню уже какое. Благо, записей для сортировки было всего три. smile

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru