X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Как правильно организовать хранение и вывод превью к статьям.
Wins
Wins
Topic Starter сообщение 6.7.2013, 12:55; Ответить: Wins
Сообщение #1


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

Или второй вариант,делать все тоже самое только с полного текста + удаляем html тэги . Таким образом не нужно доп. поле в бд, для краткого описания.
Но тут вопрос, насколько сильно увеличится нагрузка на сайт? Ведь таким образом идет запрос к полю "текст", с полной статьей + html тэги либо bbcode и размер ее существенно больше, чем у поля с кратким описанием.


Как все же правильней делать,и на много ли увеличится нагрузка,если делать по второму варианту?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 6.7.2013, 13:28; Ответить: Den1xxx
Сообщение #2


Мне кажется правильнее делать краткое описание и полное отдельно — у себя я делаю именно так.
Полный контроль и минимум нагрузки на хостинг — выбираем только те поля что надо.
Только у меня ещё есть поле автор, и два режима публикации — html и text (поддержка бб-кодов, смайлов и полный игнор html тегов).

Публикация в режиме HTML:
[attachment=39711:art_html.png]

Публикация в режиме Text:
[attachment=39710:art_text.png]
Встречается ещё и вариант как в Вордпрессе (Вы его не упоминали).
Делается тег <more>, движок его встречает и обрезает полный текст до этого тега.
Тоже вариант, чо.

А что касается Вашего второго варианта, то он слишком геморройный для реализации и я его вообще бы не рассматривал.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 6.7.2013, 13:45; Ответить: alexdrob
Сообщение #3


Вот что мне интересно :)

Значит вырезание хтмл тегов отрезания куска текста - громоздко и даст нагрузку.

А парсинг бб кодов каждый раз при выводе статьи это вообще не нагружает?)

Имхо, да и не только по моему :) много где уже так, например на хабре, нужно забыть про ббкоды, вписывать разу хтмл код, при добавлении в бд отбрасывать запрещённые теги, атрибуты и значения атрибутов, но это будет делаться 1 раз, при сохранении документа, и потом выводить уже не парся бб коды.

По поводу отбрасывания лишних тегов и так далее, гуглите по слову sanitize готовые библиотеки. Для пхп думаю тоже должны быть, всё таки самый распространённый язык дял сайтов.

По поводу хранения... тут я согласен с Den1xxx, мне удобней два поля делать, первое поле 255 символов, я егос разу в мета тег выводу, там запрещён у меня любой хтмл.
А второе поле это текст статьи уже.

Но изначально я хотел сделать как в вордпрессе, дополнительным тегом делить, тоже ен плохой вариант с одной стороны, но не для выводи превьюшки статьи, получается что на страницах с описанием статей, нужно постоянно обрезать текст.
Так что я остановился на первом варианте, с 2 полями.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
Topic Starter сообщение 6.7.2013, 14:57; Ответить: Wins
Сообщение #4


Да у меня тоже два поля было,потом попробывал убрать поле с кратким описанием,а после этого задумался правильно ли это.Теперь понял что не правильно,верну как было.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 6.7.2013, 20:44; Ответить: Den1xxx
Сообщение #5


(alexdrob @ 6.7.2013, 16:45) *
Значит вырезание хтмл тегов отрезания куска текста - громоздко и даст нагрузку.
А парсинг ББ-кодов каждый раз при выводе статьи это вообще не нагружает?)

Не ёрничайте. Два режима публикации лучше чем один, и это дело админа чем пользоваться.
Режим с ББ-кодами мне больше кстати нравится, потому что не надо в конце строки ставить <br />,
проще глобально запихнуть в тег [img] скрипт лайтбокса, а в тег [url] — class="external" rel="nofollow",
применить тег [hidden], скрывающий текст от незарегистрированных, применить расцветку кода с помощью [code].

А как в вордпрессе я не стал бы делать, потому что нет полной свободы.
В кратком описании я может хочу писать что-то другое, чем в начале полной статьи?
На Хабре кстати тоже та же система — хабракат.

Кстати есть плюс в этом подходе — поиск проще сделать, его по одному полю нужно делать.
Если на сайте часто будет использоваться поиск, то наверное этот способ даже предпочтительней.
Поиск по одному полю будет меньше нагружать БД.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 6.7.2013, 20:54; Ответить: alexdrob
Сообщение #6


(Den1xxx @ 6.7.2013, 23:44) *
Не ёрничайте. Два режима публикации лучше чем один, и это дело админа чем пользоваться.

Каким боком относятся два режима публикации к моей фразе? :)

Wins написал
(Wins @ 6.7.2013, 15:55) *
насколько сильно увеличится нагрузка на сайт?

То етсь будет ли больше нагрузки при обрезании html кода.
Я и сказал что при парсинге бб кодов есть практически та же нагрузка и, что выбирая между BBCODE и HTML, я предпочитаю HTML.
Так как парсится 1 раз, на проверку XSS при создании записи.


(Den1xxx @ 6.7.2013, 23:44) *
Режим с ББ-кодами мне больше кстати нравится

Больше чем что? Чем режим html? Чем?


(Den1xxx @ 6.7.2013, 23:44) *
потому что не надо в конце строки ставить <br />,

А Вы сами что ли ставите? Я просто жму энтер и всё...
http://ckeditor.com/demo
http://mindmup.github.io/bootstrap-wysiwyg/
Вы видите там br?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
Topic Starter сообщение 7.7.2013, 1:23; Ответить: Wins
Сообщение #7


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

А по нагрузки, у меня к примеру на странице выводится десятки кратких описаний, вот я и подумал про нагрузку, я ж таким образом, где нужно вывести одно предложение или несколько слов, вытягиваю из бд целую статью на хххх символов, с тэгами, картинками, и режу ее на пример до 100 символов. Тут я и подумал не многовато ли будет,если у меня например 70 превью на странице, и получается я извлекаю из бд 70 полных статей и их режу до 100-200 символов)).
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 7.7.2013, 2:10; Ответить: Den1xxx
Сообщение #8


(alexdrob @ 6.7.2013, 23:54) *
Режим с ББ-кодами мне больше кстати нравится
Больше чем что? Чем режим html? Чем?

Вы читать не умеете?
Я ясно расписал как у меня работают оба режима, и почему режим BB-кодов мне больше нравится.
Читайте что написано. Спорить мне с Вами не о чем, как и незачем повторять ещё раз.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 7.7.2013, 3:05; Ответить: alexdrob
Сообщение #9


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

Естественно тут спорить не о чем, ибо мы о разных вещах говорим :)

У меня тоже два поля, под описание, и под текст.
И тоже есть два режима.

можно так http://ybex.com/d/mnjhz7cm24ryiqcnex0cm5yc...vf7n43l8lu.html
а можно так http://ybex.com/d/rnf4v6x5q5z7r6xbpcptgkyz...15gwxo73fc.html
а можно вот так http://ybex.com/d/dclojfla514ybpfzp7pp5hgs...xodut30ksl.html

я просто спрашиваю, зачем хранить ббкоды и каждый раз при выводе их парсить, и зачем ставить <br> руками если есть куча редакторов, с горячими клавишами, очень быстро набирать не кликая мышкой :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 7.7.2013, 8:51; Ответить: Den1xxx
Сообщение #10


(alexdrob @ 7.7.2013, 06:05) *
я просто спрашиваю, зачем хранить ббкоды и каждый раз при выводе их парсить, и зачем ставить
руками если есть куча редакторов, с горячими клавишами, очень быстро набирать не кликая мышкой :)

А как надо — вводить текстом, в базу сохранять с HTML, выводить при редактировании тоже с тегами HTML?
Хранить их нужно именно как вводили, и при выводе парсить.
Иначе юзер как минимум удивится, вводишь одно — сохраняется другое.

Руками никто их не ставит, вы что не видите кнопки в редакторе на скриншоте, который я опубликовал выше?
Принцип такой же как на этом форуме — выделил текст, нажал на кнопку [b], получил обрамление <b>

При выборе режима в селекте происходит переключение между редакторами — один выгружается, другой загружается.

Кстати на самом деле есть ещё режимы bbcodes+HTML и PHP. Но я решил режим PHP не ставить в статьи, а только в статические страницы. Модулем статей пользуются слишком часто, и я побоялся ставить туда этот режим для незнающих, боясь что техподдержке надоест отвечать на вопросы, почему не работает :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1120 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2291 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3913 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3640 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1934 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 29.3.2024, 2:16
Дизайн