Перейти к публикации

Вывод новостей в разных блоках и нагрузка на БД.


Рекомендованные сообщения

Сайта нет, но есть несколько вопросов на которые в мануале по пробной версии ДЛЕ я так и не нашел.

дле позиционируется как новостной движок, в связи с этим у меня возникли такие вопросы.

На многих сайтах таких как лентавру, газета и прочие имеется вывод новостей по категориям, когда 1 новость показывается в блоке крупно в отдельном блоке а остальные меньше, без картинок, или в виде коротких ссылок без описания в другом отдельном блоке. То есть я так понимаю что на ДЛЕ для подобного вывода новостей нужно использовать 2 выборки из базы данных. 1 выборка через тег кастом из директории новости с лимитом новостей 1 новость и сортировкой по популярности и 2 тег кастом с выборкой из этой же категории но выборка новости идет со 2 новости. То есть по сути для отображения вывода новостей из 1 категории в 2 разных по размеру блоках используется 2 выборки из базы данных что сильно нагружает эту самую базу данных. Есть какие либо методы обойти это и публиковать новости из 1 категории в разных блоках используя 1 запрос к базе данных.

И еще по топу новостей вопросы. Допустим имеем 3 категории. Из этих 3 категорий нужно сделать чтобы по 2 новости из каждой категории выводились в некий топ новостей за месяц/день. Для этого как я понимаю нужно сделать тег кастом с 3 ид категорий с лимитом новостей в 6 статей, сортировка по популярности. В результате получим 6 топ новостей по 2 из разных категорий или 6 топ новостей отсортированных из всех категорий?

Изменено пользователем Valser2
Ссылка на сообщение
Поделиться на других сайтах

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

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

Есть какие либо методы обойти это и публиковать новости из 1 категории в разных блоках используя 1 запрос к базе данных.

Если новости разные, то такого не бывает в принципе. Более того DLE поддерживает кеширование, и кеширует блоки, а не каждый раз обращается к БД.

Допустим имеем 3 категории. Из этих 3 категорий нужно сделать чтобы по 2 новости из каждой категории выводились в некий топ новостей за месяц/день. Для этого как я понимаю нужно сделать тег кастом с 3 ид категорий с лимитом новостей в 6 статей, сортировка по популярности. В результате получим 6 топ новостей по 2 из разных категорий или 6 топ новостей отсортированных из всех категорий?

нет неправильно понимаете. Такой возможности в скрипте нет и тег custom не позволяет указать в нем порядок сортировки, он определяется общими настройками сайта и настройками категорий.

Ссылка на сообщение
Поделиться на других сайтах

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

Нет вы не поняли. Есть вывод новостей из 1 категории. допустим политика на лента.вру. Самая значимая новость выводится слева с картинкой и текстовым описанием. остальные справа в виде ссылок и опционально уменьшенной картинки. На Дле для такого вывода новостей нужно испольовать 2 запроса к БД я правильно понимаю?

Если новости разные, то такого не бывает в принципе. Более того DLE поддерживает кеширование, и кеширует блоки, а не каждый раз обращается к БД

То есть в принципе при включенном кеширование на страницу сайта на дле можно набрать сколько угодно блоков и соответственно сколько угодно запросов к БД, так как посетитель обращаясь к этой странице получает откешированный материал, а не свежесгенерированный движком, при этом расходуется всего 1 запрос к БД?

Допустим имеем 3 категории. Из этих 3 категорий нужно сделать чтобы по 2 новости из каждой категории выводились в некий топ новостей за месяц/день. Для этого как я понимаю нужно сделать тег кастом с 3 ид категорий с лимитом новостей в 6 статей, сортировка по популярности. В результате получим 6 топ новостей по 2 из разных категорий или 6 топ новостей отсортированных из всех категорий?

нет неправильно понимаете. Такой возможности в скрипте нет и тег custom не позволяет указать в нем порядок сортировки, он определяется общими настройками сайта и настройками категорий..

Допустим на главную нужно вывести по 2 новости с каждой категории (всего категорий например 3) итого 6 новостей.

В майн вставляем этот тег. Отключаем тег {контент} с помощью {нот авайлабле майн}



{custom category="2,3,4" template="vkontaktik" aviable="global" from="0" limit="6" cache="yes"}



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

из 3 категорий по 2 топ рейтинговых на каждую или 6 топ рейтинговых из всех категорий, то есть возможно что все будут из 1 категории?

Если новости разные, то такого не бывает в принципе. Более того DLE поддерживает кеширование, и кеширует блоки, а не каждый раз обращается к БД.

То есть можно размещать сколько угодно блоков требующих обращения к базе если на главной включено кеширование?

Ссылка на сообщение
Поделиться на других сайтах

Нет вы не поняли. Есть вывод новостей из 1 категории. допустим политика на лента.вру. Самая значимая новость выводится слева с картинкой и текстовым описанием. остальные справа в виде ссылок и опционально уменьшенной картинки. На Дле для такого вывода новостей нужно испольовать 2 запроса к БД я правильно понимаю?

Да вы правильно понимаете. Вы думаете на на лента.ру это получается одним запросом? Нет, таких запросов в виде "показать мне все по разным блокам" не бывает.

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

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

То есть можно размещать сколько угодно блоков требующих обращения к базе если на главной включено кеширование?

Если включено кеширование то запрос будет к БД один раз, потом блок попадает в кеш и показывается из кеша, пока вы не обновите на сайте информацию, потом кеш будет пересоздан.

Ссылка на сообщение
Поделиться на других сайтах

Как в топньюс сделать интервал времени не 1 месяц а 6 часов.

Как в топньюс сделать интервал времени не 1 месяц а 6 часов.

Все разобрался это невозможно.

Как сделать перенос новостей из одной категории в другую по истечении 6 часов? скорее всего тоже невозможно...

Подскажите пособие сайт по ПХП.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...