cms_blog_posts

#1 30 мая 2011 в 10:37
не подскажите, зачем в таблице cms_blog_posts есть поля content_html и content, по сути дублируюшие друг друга?..
#2 30 мая 2011 в 10:51
в поле content хранится бб-код, в поле content_html — готовый html, полученный после обработки бб-кода
это нужно для того чтобы при выводе постов не парсить бб-код каждый раз
#3 30 мая 2011 в 10:59
зачем тогда bb вообще хранить?
#4 30 мая 2011 в 11:01

зачем тогда bb вообще хранить?

RooKee

затем что посты можно редактировать и при этом надо видеть оригинальную разметку
#5 30 мая 2011 в 11:14
просто сейчас получается что база раздута ровно в два раза :(

а почему нельзя распарсить обратно в ббкод при редактировании? просто редактируется дай бог 1% постов, а то и реже.
#6 30 мая 2011 в 11:19

а почему нельзя распарсить обратно в ббкод при редактировании? просто редактируется дай бог 1% постов, а то и реже.

picaboo
Ну да. Первый двиг с таким бубном вижу. Вот уж DLE бы поковырять — много чего полезного оттуда можно было бы взять.
#7 30 мая 2011 в 11:20

а почему нельзя распарсить обратно в ббкод при редактировании?

picaboo

потому что овчинка не стоит выделки
место на диске сейчас стоит копейки
#8 30 мая 2011 в 11:22

потому что овчинка не стоит выделки

Администратор
понятно. Слово хозяина — закон. Тему, видимо, можно закрыть.
#9 30 мая 2011 в 11:42

Слово хозяина — закон

RooKee

я просто не вижу никакой проблемы в этом
раздувается база? да бросьте
чтобы получить хотя бы 10 "лишних" мегабайт нужно 10 тысяч постов по тысяче знаков в каждом
у вас 5 загруженных фотографий в галерее больше места займут
#10 30 мая 2011 в 11:51
а почему в статьях хранится уже распарсенный контент?
#11 30 мая 2011 в 11:54
ладно статьи. там якобы редактор другой. а взять от же форум, редактор идентичный… контент хранится в готовом виде.

это не наезд, просто интересно стало :)
#12 30 мая 2011 в 12:07
как показывала статистика на тот момент, основные тормоза вызывала именно лента блогов, т.к. приходилось часто парсить большие объемы текста
посты на форуме в 99% достаточно короткие и с минимумом разметки, поэтому парсятся быстро и кешировать их не нужно
#13 30 мая 2011 в 12:29
хорошо. просто порассуждаем на эту тему.

если взять ваши слова что, лишние телодвижения это плохо, поэтому в базе данных нам выгоднее хранить уже готовый к выводу html

если визивинг принципе может справится с хранимым в базе контентом и переварить его, то для ббкоде-редактора нужно из базы контент взять и распарсить в приемлимый для него вид.

я правильно понимаю логику, что нам парсить нужно только в двух случаях, перед добавлением в базу данных из любого редатора, дабы привести в готовый к выводу html, и во втором случае, когда нам понадобилось отредактировать запись и нам нужно взять запись из базы данных и проверив какой редактор (визивинг или ббкод) подключен отпарсить контент под него.
#14 30 мая 2011 в 12:37

ваши слова что, лишние телодвижения это плохо

picaboo

я не говорил что это плохо, я говорил что не вижу в этом особого смысла
парсить html в бб-код это, мягко говоря, совсем не тривиальная задача, а полученный выигрыш в размере базы будет оптимизацией на спичках
это сугубо мое имхо
#15 30 мая 2011 в 12:45
а если попробовать решить вставкой спец меток из закомментированного html ?

к примеру <!--QuoteBegin--><blockquote>тут цитата</blockquote><!--QuoteEnd-->

и распарсить потом

  1. $txt = preg_replace( "#<!--QuoteBegin ([^>]+?) -->(.+?)<!--QuoteEBegin-->#", "[quote=\\1]", $txt );
  2. $txt = preg_replace( "#<!--QuoteEnd-->(.+?)<!--QuoteEEnd-->#", '[/quote]', $txt );
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.